mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-01-11 18:41:14 +00:00
100 lines
3.8 KiB
CMake
100 lines
3.8 KiB
CMake
set(_icon_file AppIcon)
|
|
set(MACOSX_BUNDLE_GUI_IDENTIFIER ${APP_ID})
|
|
set(MACOSX_BUNDLE_COPYRIGHT ${APP_SPDX})
|
|
set(ISLE_TARGET_NAME isle)
|
|
set(MACOSX_ISLE_BUNDLE_NAME ${APP_NAME}) # Do note that it can be up to 15 characters long
|
|
set(MACOSX_ISLE_BUNDLE_DISPLAY_NAME ${APP_NAME})
|
|
set(CONFIG_TARGET_NAME isle-config)
|
|
set(MACOSX_CONFIG_BUNDLE_NAME "Config Isle") # Do note that it can be up to 15 characters long
|
|
set(MACOSX_CONFIG_BUNDLE_DISPLAY_NAME "Configure ${APP_NAME}")
|
|
set(MACOSX_BUNDLE_INFO_STRING ${PROJECT_VERSION})
|
|
set(MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION})
|
|
set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION})
|
|
set(MACOSX_BUNDLE_LONG_VERSION_STRING "Version ${PROJECT_VERSION}")
|
|
|
|
# TODO: darwin < 9
|
|
set(MACOSX_BUNDLE_REQUIRED_PLATFORM Carbon)
|
|
|
|
set(CPACK_DMG_VOLUME_NAME "Isle Portable")
|
|
|
|
if(ISLE_BUILD_APP)
|
|
configure_file(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/isle/Info.plist.in"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/isle/Info.plist"
|
|
@ONLY
|
|
)
|
|
set(RESOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/isle/${_icon_file}.icns")
|
|
target_sources(${ISLE_TARGET_NAME} PRIVATE ${RESOURCE_FILES})
|
|
set_target_properties(${ISLE_TARGET_NAME} PROPERTIES
|
|
MACOSX_BUNDLE TRUE
|
|
MACOSX_BUNDLE_ICON_FILE "${_icon_file}.icns"
|
|
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_BINARY_DIR}/isle/Info.plist"
|
|
RESOURCE ${RESOURCE_FILES})
|
|
install(TARGETS ${ISLE_TARGET_NAME} DESTINATION ./)
|
|
install(CODE "
|
|
include(BundleUtilities)
|
|
fixup_bundle(${CMAKE_BINARY_DIR}/${ISLE_TARGET_NAME}.app \"\" \"\")
|
|
"
|
|
COMPONENT Runtime)
|
|
install(CODE "
|
|
execute_process(COMMAND /usr/bin/codesign
|
|
--force --deep --sign - --timestamp
|
|
\"\$\{CMAKE_INSTALL_PREFIX\}/${ISLE_TARGET_NAME}.app/Contents/MacOS/${ISLE_TARGET_NAME}\")
|
|
")
|
|
install(CODE "
|
|
file(RENAME
|
|
\"\$\{CMAKE_INSTALL_PREFIX\}/${ISLE_TARGET_NAME}.app\"
|
|
\"\$\{CMAKE_INSTALL_PREFIX\}/${MACOSX_ISLE_BUNDLE_DISPLAY_NAME}.app\")
|
|
")
|
|
endif()
|
|
if(ISLE_BUILD_CONFIG)
|
|
configure_file(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/config/Info.plist.in"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/config/Info.plist"
|
|
@ONLY
|
|
)
|
|
set(RESOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/config/${_icon_file}.icns")
|
|
target_sources(${CONFIG_TARGET_NAME} PRIVATE ${RESOURCE_FILES})
|
|
set_target_properties(${CONFIG_TARGET_NAME} PROPERTIES
|
|
MACOSX_BUNDLE TRUE
|
|
MACOSX_BUNDLE_ICON_FILE "${_icon_file}.icns"
|
|
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_BINARY_DIR}/config/Info.plist"
|
|
RESOURCE ${RESOURCE_FILES})
|
|
install(TARGETS ${CONFIG_TARGET_NAME} DESTINATION ./)
|
|
install(CODE "
|
|
include(BundleUtilities)
|
|
fixup_bundle(${CMAKE_BINARY_DIR}/${CONFIG_TARGET_NAME}.app \"\" \"\")
|
|
"
|
|
COMPONENT Runtime)
|
|
qt_generate_deploy_app_script(
|
|
TARGET ${CONFIG_TARGET_NAME}
|
|
OUTPUT_SCRIPT deploy_script
|
|
NO_COMPILER_RUNTIME
|
|
NO_TRANSLATIONS
|
|
)
|
|
install(SCRIPT "${deploy_script}")
|
|
install(CODE "
|
|
execute_process(COMMAND /usr/bin/install_name_tool
|
|
-add_rpath \"@executable_path/../Frameworks\"
|
|
\"\$\{CMAKE_INSTALL_PREFIX\}/${CONFIG_TARGET_NAME}.app/Contents/MacOS/${CONFIG_TARGET_NAME}\")
|
|
")
|
|
install(CODE "
|
|
execute_process(COMMAND /usr/bin/codesign
|
|
--force --deep --sign - --timestamp
|
|
\"\$\{CMAKE_INSTALL_PREFIX\}/${CONFIG_TARGET_NAME}.app/Contents/MacOS/${CONFIG_TARGET_NAME}\")
|
|
")
|
|
install(CODE "
|
|
file(RENAME
|
|
\"\$\{CMAKE_INSTALL_PREFIX\}/${CONFIG_TARGET_NAME}.app\"
|
|
\"\$\{CMAKE_INSTALL_PREFIX\}/${MACOSX_CONFIG_BUNDLE_DISPLAY_NAME}.app\")
|
|
")
|
|
endif()
|
|
|
|
install(CODE "
|
|
if(IS_DIRECTORY \"\$\{CMAKE_INSTALL_PREFIX\}/bin\" OR IS_DIRECTORY \"\$\{CMAKE_INSTALL_PREFIX\}/lib\" OR EXISTS \"\$\{CMAKE_INSTALL_PREFIX\}/AppIcon.icns\")
|
|
execute_process(COMMAND /bin/rm
|
|
-rf \"\$\{CMAKE_INSTALL_PREFIX\}/bin\" \"\$\{CMAKE_INSTALL_PREFIX\}/lib\" \"\$\{CMAKE_INSTALL_PREFIX\}/AppIcon.icns\"
|
|
)
|
|
endif()
|
|
")
|