Skip to content

Commit

Permalink
build: windows/apple support
Browse files Browse the repository at this point in the history
  • Loading branch information
Mairon1206 committed Jul 30, 2024
1 parent 838dfab commit 866328c
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 1 deletion.
41 changes: 40 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,31 @@ set(CMAKE_CXX_EXTENSIONS OFF)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/.cmake/)
include(Version)

if(APPLE)
set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64" CACHE STRING "" FORCE)
endif()

if (POLICY CMP0167)
cmake_policy(SET CMP0167 OLD)
endif()

project(sast-evento VERSION ${VERSION_SEMANTIC} LANGUAGES CXX)

if(APPLE)
set(MACOSX_BUNDLE_GUI_IDENTIFIER ${IDENTIFIER})
set(MACOSX_BUNDLE_BUNDLE_NAME ${PROJECT_NAME})
set(MACOSX_BUNDLE_COPYRIGHT ${COPYRIGHT})

set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${spectral_VERSION})
set(MACOSX_BUNDLE_BUNDLE_VERSION ${spectral_VERSION})

set(ICON_NAME "app.icns")
set(${PROJECT_NAME}_MAC_ICON "${CMAKE_SOURCE_DIR}/ui/assets/image/icon/${ICON_NAME}")
set(MACOSX_BUNDLE_ICON_FILE ${ICON_NAME})
set_property(SOURCE "${${PROJECT_NAME}_MAC_ICON}" PROPERTY
MACOSX_PACKAGE_LOCATION Resources)
endif()

# find Slint
find_package(Slint QUIET)
if (NOT Slint_FOUND)
Expand All @@ -37,6 +56,19 @@ find_package(nlohmann_json REQUIRED)

add_executable(${PROJECT_NAME})

# hide cmdline in Release Mode for MSVC
if (MSVC)
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup")
endif()

if (APPLE)
set_target_properties(${PROJECT_NAME} PROPERTIES
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE TRUE
)
endif()

# definitions for Logger
target_compile_definitions(${PROJECT_NAME}
PUBLIC
Expand All @@ -58,4 +90,11 @@ set_property(TARGET ${PROJECT_NAME} PROPERTY SLINT_EMBED_RESOURCES embed-files)
# On Windows, copy the Slint DLL next to the application binary so that it's found.
if (WIN32)
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_RUNTIME_DLLS:${PROJECT_NAME}> $<TARGET_FILE_DIR:${PROJECT_NAME}> COMMAND_EXPAND_LISTS)
endif()
endif()

# install
install(TARGETS ${PROJECT_NAME}
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
Binary file added ui/assets/image/icon/app.icns
Binary file not shown.

0 comments on commit 866328c

Please sign in to comment.