diff options
Diffstat (limited to 'xM/CMakeLists.txt')
-rw-r--r-- | xM/CMakeLists.txt | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/xM/CMakeLists.txt b/xM/CMakeLists.txt index 3386926..b3484de 100644 --- a/xM/CMakeLists.txt +++ b/xM/CMakeLists.txt @@ -25,8 +25,21 @@ add_custom_command (OUTPUT xC-proto.swift COMMENT "Generating xC relay protocol code" VERBATIM) set (MACOSX_BUNDLE_GUI_IDENTIFIER name.janouch.${PROJECT_NAME}) +set (MACOSX_BUNDLE_ICON_FILE xM.icns) + +# Avoid including binary files in the repository by generating icons in code. +# sips(1) + Javascript + iconutil(1) could probably also be used. +find_program (SWIFT_EXECUTABLE swift REQUIRED) + +set (icon "${PROJECT_BINARY_DIR}/${MACOSX_BUNDLE_ICON_FILE}") +add_custom_command (OUTPUT "${icon}" + COMMAND ${SWIFT_EXECUTABLE} "${PROJECT_SOURCE_DIR}/gen-icon.swift" "${icon}" + DEPENDS gen-icon.swift + COMMENT "Generating xM application icon" VERBATIM) +set_source_files_properties ("${icon}" PROPERTIES + MACOSX_PACKAGE_LOCATION Resources) # Other requirements: macOS 10.14 for Network, and macOS 11 for Logger. set (CMAKE_Swift_LANGUAGE_VERSION 5) add_executable (xM MACOSX_BUNDLE - main.swift ${PROJECT_BINARY_DIR}/xC-proto.swift) + main.swift "${icon}" "${PROJECT_BINARY_DIR}/xC-proto.swift") |