build: use CMAKE_INSTALL_BINDIR when installing runtime artifacts
On windows override this to be . On macOS set it to the MacOS folder in the bundle
This commit is contained in:
parent
57d36b51af
commit
1556908ef6
5 changed files with 26 additions and 23 deletions
|
|
@ -162,12 +162,14 @@ configure_libs()
|
||||||
# setup install paths
|
# setup install paths
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
|
set(CMAKE_INSTALL_BINDIR .)
|
||||||
set(CMAKE_INSTALL_LICENSE_DIR .)
|
set(CMAKE_INSTALL_LICENSE_DIR .)
|
||||||
set(CMAKE_INSTALL_I18N_DIR translations)
|
set(CMAKE_INSTALL_I18N_DIR translations)
|
||||||
elseif(UNIX AND NOT APPLE)
|
elseif(UNIX AND NOT APPLE)
|
||||||
set(CMAKE_INSTALL_LICENSE_DIR ${CMAKE_INSTALL_DATADIR}/licenses/${CMAKE_PROJECT_NAME})
|
set(CMAKE_INSTALL_LICENSE_DIR ${CMAKE_INSTALL_DATADIR}/licenses/${CMAKE_PROJECT_NAME})
|
||||||
set(CMAKE_INSTALL_I18N_DIR ${CMAKE_INSTALL_DATADIR}/${CMAKE_PROJECT_NAME}/translations)
|
set(CMAKE_INSTALL_I18N_DIR ${CMAKE_INSTALL_DATADIR}/${CMAKE_PROJECT_NAME}/translations)
|
||||||
else()
|
else()
|
||||||
|
set(CMAKE_INSTALL_BINDIR $<TARGET_BUNDLE_CONTENT_DIR:${CMAKE_PROJECT_PROPER_NAME}>/MacOS)
|
||||||
set(CMAKE_INSTALL_LICENSE_DIR $<TARGET_BUNDLE_CONTENT_DIR:${CMAKE_PROJECT_PROPER_NAME}>/Resources)
|
set(CMAKE_INSTALL_LICENSE_DIR $<TARGET_BUNDLE_CONTENT_DIR:${CMAKE_PROJECT_PROPER_NAME}>/Resources)
|
||||||
set(CMAKE_INSTALL_I18N_DIR $<TARGET_BUNDLE_CONTENT_DIR:${CMAKE_PROJECT_PROPER_NAME}>/MacOS/translations)
|
set(CMAKE_INSTALL_I18N_DIR $<TARGET_BUNDLE_CONTENT_DIR:${CMAKE_PROJECT_PROPER_NAME}>/MacOS/translations)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
set(MY_DIR ${CMAKE_CURRENT_LIST_DIR})
|
set(MY_DIR ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
|
||||||
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
|
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
|
||||||
set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION .)
|
set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
include(InstallRequiredSystemLibraries)
|
include(InstallRequiredSystemLibraries)
|
||||||
|
|
||||||
configure_file(${MY_DIR}/pre-cpack.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pre-cpack.cmake @ONLY)
|
configure_file(${MY_DIR}/pre-cpack.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pre-cpack.cmake @ONLY)
|
||||||
|
|
|
||||||
|
|
@ -38,21 +38,19 @@ target_link_libraries(
|
||||||
app
|
app
|
||||||
${libs})
|
${libs})
|
||||||
|
|
||||||
|
install(
|
||||||
|
TARGETS ${target}
|
||||||
|
RUNTIME_DEPENDENCY_SET coreDeps
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
)
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
set_target_properties(${target} PROPERTIES
|
set_target_properties(${target} PROPERTIES
|
||||||
BUILD_WITH_INSTALL_RPATH TRUE
|
BUILD_WITH_INSTALL_RPATH TRUE
|
||||||
INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks"
|
INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks"
|
||||||
RUNTIME_OUTPUT_DIRECTORY $<TARGET_BUNDLE_CONTENT_DIR:${CMAKE_PROJECT_PROPER_NAME}>/MacOS
|
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_INSTALL_BINDIR}
|
||||||
)
|
|
||||||
elseif(UNIX)
|
|
||||||
install(TARGETS ${target} DESTINATION bin)
|
|
||||||
generate_app_man(${target} "${CMAKE_PROJECT_DESCRIPTION}")
|
|
||||||
elseif(WIN32)
|
|
||||||
install(
|
|
||||||
TARGETS ${target}
|
|
||||||
RUNTIME_DEPENDENCY_SET coreDeps
|
|
||||||
DESTINATION .
|
|
||||||
)
|
)
|
||||||
|
elseif (WIN32)
|
||||||
install(RUNTIME_DEPENDENCY_SET coreDeps
|
install(RUNTIME_DEPENDENCY_SET coreDeps
|
||||||
PRE_EXCLUDE_REGEXES
|
PRE_EXCLUDE_REGEXES
|
||||||
"api-ms-win-.*"
|
"api-ms-win-.*"
|
||||||
|
|
@ -60,6 +58,8 @@ elseif(WIN32)
|
||||||
"^hvsifiletrust\\.dll$"
|
"^hvsifiletrust\\.dll$"
|
||||||
POST_EXCLUDE_REGEXES
|
POST_EXCLUDE_REGEXES
|
||||||
".*system32.*"
|
".*system32.*"
|
||||||
RUNTIME DESTINATION .
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
)
|
)
|
||||||
|
else()
|
||||||
|
generate_app_man(${target} "${CMAKE_PROJECT_DESCRIPTION}")
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ if(WIN32)
|
||||||
install(
|
install(
|
||||||
TARGETS ${target}
|
TARGETS ${target}
|
||||||
RUNTIME_DEPENDENCY_SET deamonDeps
|
RUNTIME_DEPENDENCY_SET deamonDeps
|
||||||
DESTINATION .
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
)
|
)
|
||||||
install(RUNTIME_DEPENDENCY_SET daemonDeps
|
install(RUNTIME_DEPENDENCY_SET daemonDeps
|
||||||
PRE_EXCLUDE_REGEXES
|
PRE_EXCLUDE_REGEXES
|
||||||
|
|
@ -39,6 +39,6 @@ if(WIN32)
|
||||||
"^hvsifiletrust\\.dll$"
|
"^hvsifiletrust\\.dll$"
|
||||||
POST_EXCLUDE_REGEXES
|
POST_EXCLUDE_REGEXES
|
||||||
".*system32.*"
|
".*system32.*"
|
||||||
RUNTIME DESTINATION .
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -49,13 +49,16 @@ target_link_libraries(
|
||||||
Qt6::Widgets
|
Qt6::Widgets
|
||||||
Qt6::Network)
|
Qt6::Network)
|
||||||
|
|
||||||
|
install(
|
||||||
|
TARGETS ${target}
|
||||||
|
RUNTIME_DEPENDENCY_SET guiDeps
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
BUNDLE DESTINATION .
|
||||||
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set_target_properties(${target} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:LIBCMT")
|
set_target_properties(${target} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:LIBCMT")
|
||||||
install(
|
|
||||||
TARGETS ${target}
|
|
||||||
RUNTIME_DEPENDENCY_SET guiDeps
|
|
||||||
DESTINATION .
|
|
||||||
)
|
|
||||||
install(RUNTIME_DEPENDENCY_SET guiDeps
|
install(RUNTIME_DEPENDENCY_SET guiDeps
|
||||||
PRE_EXCLUDE_REGEXES
|
PRE_EXCLUDE_REGEXES
|
||||||
"api-ms-win-.*"
|
"api-ms-win-.*"
|
||||||
|
|
@ -63,7 +66,7 @@ if(WIN32)
|
||||||
"^hvsifiletrust\\.dll$"
|
"^hvsifiletrust\\.dll$"
|
||||||
POST_EXCLUDE_REGEXES
|
POST_EXCLUDE_REGEXES
|
||||||
".*system32.*"
|
".*system32.*"
|
||||||
RUNTIME DESTINATION .
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
set(QT_DEPENDS_DIR ${CMAKE_BINARY_DIR}/qt-depends)
|
set(QT_DEPENDS_DIR ${CMAKE_BINARY_DIR}/qt-depends)
|
||||||
|
|
@ -85,7 +88,7 @@ if(WIN32)
|
||||||
|
|
||||||
install(
|
install(
|
||||||
DIRECTORY ${QT_DEPENDS_DIR}/
|
DIRECTORY ${QT_DEPENDS_DIR}/
|
||||||
DESTINATION .
|
DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
PATTERN "dx*.dll" EXCLUDE
|
PATTERN "dx*.dll" EXCLUDE
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -94,7 +97,6 @@ elseif(APPLE)
|
||||||
INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks"
|
INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks"
|
||||||
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_BINARY_DIR}/deskflow.plist"
|
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_BINARY_DIR}/deskflow.plist"
|
||||||
)
|
)
|
||||||
install(TARGETS ${target} BUNDLE DESTINATION .)
|
|
||||||
|
|
||||||
# Warning: Do not use for CI/production, as the `entitlements-dev.plist` file adds special
|
# Warning: Do not use for CI/production, as the `entitlements-dev.plist` file adds special
|
||||||
# entitlements that are only appropriate for local development.
|
# entitlements that are only appropriate for local development.
|
||||||
|
|
@ -123,6 +125,5 @@ elseif(APPLE)
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
install(TARGETS ${target} DESTINATION bin)
|
|
||||||
generate_app_man(${target} "${CMAKE_PROJECT_DESCRIPTION} \\(GUI\\)")
|
generate_app_man(${target} "${CMAKE_PROJECT_DESCRIPTION} \\(GUI\\)")
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue