2025-01-24 00:11:17 +00:00
|
|
|
# SPDX-FileCopyrightText: 2024 - 2025 Chris Rizzitello <sithlord48@gmail.com>
|
|
|
|
|
# SPDX-FileCopyrightText: 2024 Symless Ltd
|
|
|
|
|
# SPDX-License-Identifier: MIT
|
2024-07-18 07:04:39 +00:00
|
|
|
|
2024-11-18 23:13:12 +00:00
|
|
|
if(APPLE)
|
|
|
|
|
set(target Deskflow)
|
|
|
|
|
else()
|
|
|
|
|
set(target deskflow)
|
|
|
|
|
endif()
|
2024-07-18 07:04:39 +00:00
|
|
|
|
2024-07-02 10:23:56 +00:00
|
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
|
|
|
|
|
|
|
|
if(WIN32)
|
2025-02-28 23:05:57 +00:00
|
|
|
set(EXE_DESCRIPTION "${CMAKE_PROJECT_PROPER_NAME} GUI configuration tool")
|
2025-01-10 16:07:15 +00:00
|
|
|
set(EXE_ICON "IDI_ICON1 ICON DISCARDABLE \"${CMAKE_SOURCE_DIR}/src/apps/res/deskflow.ico\" ")
|
2025-01-23 19:20:46 +00:00
|
|
|
configure_file(${CMAKE_SOURCE_DIR}/src/apps/res/windows.rc.in deskflow.rc)
|
2025-01-10 16:07:15 +00:00
|
|
|
set(platform_extra deskflow.rc)
|
2024-11-18 23:13:12 +00:00
|
|
|
elseif(APPLE)
|
2025-01-14 23:01:53 +00:00
|
|
|
#setup our bundle plist file
|
|
|
|
|
set(BUNDLE_EXECUTABLE_NAME "${target}")
|
|
|
|
|
set(BUNDLE_BUNDLE_NAME "${target}")
|
|
|
|
|
set(BUNDLE_DISPLAY_NAME "${target}")
|
|
|
|
|
set(BUNDLE_GUI_IDENTIFIER "org.deskflow.deskflow")
|
|
|
|
|
set(BUNDLE_ICON_FILE ${target}.icns)
|
|
|
|
|
set(BUNDLE_INFO_STRING "${CMAKE_PROJECT_DESCRIPTION}")
|
|
|
|
|
set(BUNDLE_COPYRIGHT "${CMAKE_PROJECT_COPYRIGHT}")
|
|
|
|
|
|
|
|
|
|
configure_file(
|
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../res/deskflow.plist.in
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/deskflow.plist
|
|
|
|
|
@ONLY
|
|
|
|
|
)
|
2025-01-24 00:27:23 +00:00
|
|
|
|
|
|
|
|
file(COPY_FILE
|
|
|
|
|
${PROJECT_SOURCE_DIR}/LICENSES/LicenseRef-OpenSSL-Exception.txt
|
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/LICENSE_EXCEPTION
|
|
|
|
|
ONLY_IF_DIFFERENT
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
set(platform_extra ../res/Deskflow.icns ${CMAKE_SOURCE_DIR}/LICENSE ${CMAKE_CURRENT_BINARY_DIR}/LICENSE_EXCEPTION)
|
2024-11-18 23:13:12 +00:00
|
|
|
set_source_files_properties(${platform_extra} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
|
2017-02-09 20:05:36 +00:00
|
|
|
endif()
|
|
|
|
|
|
2025-01-14 22:59:13 +00:00
|
|
|
add_executable(${target} WIN32 MACOSX_BUNDLE
|
|
|
|
|
${platform_extra}
|
|
|
|
|
../res/deskflow.qrc
|
2025-03-28 21:58:30 +00:00
|
|
|
deskflow-gui.cpp
|
2025-01-14 22:59:13 +00:00
|
|
|
)
|
2024-08-09 08:08:29 +00:00
|
|
|
|
2024-07-23 19:17:40 +00:00
|
|
|
target_link_libraries(
|
|
|
|
|
${target}
|
|
|
|
|
gui
|
2025-03-05 17:17:07 +00:00
|
|
|
common
|
2024-07-23 19:17:40 +00:00
|
|
|
Qt6::Core
|
|
|
|
|
Qt6::Widgets
|
|
|
|
|
Qt6::Network)
|
|
|
|
|
|
2024-07-02 10:23:56 +00:00
|
|
|
if(WIN32)
|
2024-07-18 07:04:39 +00:00
|
|
|
set_target_properties(${target} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:LIBCMT")
|
2024-11-22 06:37:14 +00:00
|
|
|
install(
|
|
|
|
|
TARGETS ${target}
|
|
|
|
|
RUNTIME_DEPENDENCY_SET guiDeps
|
|
|
|
|
DESTINATION .
|
|
|
|
|
)
|
|
|
|
|
install(RUNTIME_DEPENDENCY_SET guiDeps
|
|
|
|
|
PRE_EXCLUDE_REGEXES
|
|
|
|
|
"api-ms-win-.*"
|
|
|
|
|
"ext-ms-.*"
|
|
|
|
|
"^hvsifiletrust\\.dll$"
|
|
|
|
|
POST_EXCLUDE_REGEXES
|
|
|
|
|
".*system32.*"
|
|
|
|
|
RUNTIME DESTINATION .
|
|
|
|
|
)
|
2025-01-07 19:33:36 +00:00
|
|
|
|
|
|
|
|
add_custom_command(
|
|
|
|
|
TARGET ${target} POST_BUILD
|
|
|
|
|
COMMAND ${DEPLOYQT} --no-compiler-runtime --no-system-d3d-compiler --no-quick-import -network $<TARGET_FILE:${target}>
|
|
|
|
|
)
|
2024-11-18 23:13:12 +00:00
|
|
|
elseif(APPLE)
|
|
|
|
|
set_target_properties(${target} PROPERTIES
|
2025-01-04 00:28:27 +00:00
|
|
|
INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks"
|
2025-01-08 20:49:04 +00:00
|
|
|
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_BINARY_DIR}/deskflow.plist"
|
2024-11-18 23:13:12 +00:00
|
|
|
)
|
|
|
|
|
install(TARGETS ${target} BUNDLE DESTINATION .)
|
2024-11-22 06:37:14 +00:00
|
|
|
else()
|
2024-07-18 07:04:39 +00:00
|
|
|
install(TARGETS ${target} DESTINATION bin)
|
2025-04-03 22:34:45 +00:00
|
|
|
generate_app_man(${target})
|
2021-02-15 11:44:46 +00:00
|
|
|
endif()
|