From 993e1f98c00c359770cceacd7ccb68f615ce3e04 Mon Sep 17 00:00:00 2001 From: Nick Bolton Date: Fri, 31 Oct 2025 11:36:34 +0000 Subject: [PATCH 1/4] fix: update RUNTIME_OUTPUT_DIRECTORY to use APPLE_CORE_BINARY_PATH for macOS builds --- cmake/Definitions.cmake | 7 +++++++ src/apps/deskflow-client/CMakeLists.txt | 2 +- src/apps/deskflow-core/CMakeLists.txt | 2 +- src/apps/deskflow-server/CMakeLists.txt | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/cmake/Definitions.cmake b/cmake/Definitions.cmake index 9cd7b5f0a..d0509f2f2 100644 --- a/cmake/Definitions.cmake +++ b/cmake/Definitions.cmake @@ -150,6 +150,13 @@ macro(configure_bin_names) set(LEGACY_BINARY_NAME "deskflow-legacy" CACHE STRING "Filename of the legacy binary") + + if (BUILD_GUI) + set(APPLE_CORE_BINARY_PATH + $/MacOS) + else() + set(APPLE_CORE_BINARY_PATH bin) + endif() message(VERBOSE "GUI binary: ${GUI_BINARY_NAME}") message(VERBOSE "Server binary: ${SERVER_BINARY_NAME}") diff --git a/src/apps/deskflow-client/CMakeLists.txt b/src/apps/deskflow-client/CMakeLists.txt index 99e1df685..8c34f738c 100644 --- a/src/apps/deskflow-client/CMakeLists.txt +++ b/src/apps/deskflow-client/CMakeLists.txt @@ -67,7 +67,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set_target_properties(${target} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" - RUNTIME_OUTPUT_DIRECTORY $/MacOS + RUNTIME_OUTPUT_DIRECTORY ${APPLE_CORE_BINARY_PATH} ) elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") install(TARGETS ${target} DESTINATION bin) diff --git a/src/apps/deskflow-core/CMakeLists.txt b/src/apps/deskflow-core/CMakeLists.txt index fff8f66ef..d21d6a6af 100644 --- a/src/apps/deskflow-core/CMakeLists.txt +++ b/src/apps/deskflow-core/CMakeLists.txt @@ -42,7 +42,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set_target_properties(${target} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" - RUNTIME_OUTPUT_DIRECTORY $/MacOS + RUNTIME_OUTPUT_DIRECTORY ${APPLE_CORE_BINARY_PATH} ) elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") install(TARGETS ${target} DESTINATION bin) diff --git a/src/apps/deskflow-server/CMakeLists.txt b/src/apps/deskflow-server/CMakeLists.txt index 7f39821c2..5bf5556db 100644 --- a/src/apps/deskflow-server/CMakeLists.txt +++ b/src/apps/deskflow-server/CMakeLists.txt @@ -67,7 +67,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set_target_properties(${target} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" - RUNTIME_OUTPUT_DIRECTORY $/MacOS + RUNTIME_OUTPUT_DIRECTORY ${APPLE_CORE_BINARY_PATH} ) elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") install(TARGETS ${target} DESTINATION bin) From 951ff474c8385eb47b2042e5526823b477876fdb Mon Sep 17 00:00:00 2001 From: Nick Bolton Date: Fri, 31 Oct 2025 11:42:06 +0000 Subject: [PATCH 2/4] fix: update RUNTIME_OUTPUT_DIRECTORY for macOS builds to use GUI_BINARY_NAME --- cmake/Definitions.cmake | 7 ------- src/apps/deskflow-client/CMakeLists.txt | 12 +++++++----- src/apps/deskflow-core/CMakeLists.txt | 12 +++++++----- src/apps/deskflow-server/CMakeLists.txt | 12 +++++++----- 4 files changed, 21 insertions(+), 22 deletions(-) diff --git a/cmake/Definitions.cmake b/cmake/Definitions.cmake index d0509f2f2..c9095d75c 100644 --- a/cmake/Definitions.cmake +++ b/cmake/Definitions.cmake @@ -151,13 +151,6 @@ macro(configure_bin_names) "deskflow-legacy" CACHE STRING "Filename of the legacy binary") - if (BUILD_GUI) - set(APPLE_CORE_BINARY_PATH - $/MacOS) - else() - set(APPLE_CORE_BINARY_PATH bin) - endif() - message(VERBOSE "GUI binary: ${GUI_BINARY_NAME}") message(VERBOSE "Server binary: ${SERVER_BINARY_NAME}") message(VERBOSE "Client binary: ${CLIENT_BINARY_NAME}") diff --git a/src/apps/deskflow-client/CMakeLists.txt b/src/apps/deskflow-client/CMakeLists.txt index 8c34f738c..6138a1556 100644 --- a/src/apps/deskflow-client/CMakeLists.txt +++ b/src/apps/deskflow-client/CMakeLists.txt @@ -64,11 +64,13 @@ target_link_libraries( ${libs}) if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - set_target_properties(${target} PROPERTIES - BUILD_WITH_INSTALL_RPATH TRUE - INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" - RUNTIME_OUTPUT_DIRECTORY ${APPLE_CORE_BINARY_PATH} - ) + if (BUILD_GUI) + set_target_properties(${target} PROPERTIES + BUILD_WITH_INSTALL_RPATH TRUE + INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" + RUNTIME_OUTPUT_DIRECTORY $/MacOS + ) + endif() elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") install(TARGETS ${target} DESTINATION bin) endif() diff --git a/src/apps/deskflow-core/CMakeLists.txt b/src/apps/deskflow-core/CMakeLists.txt index d21d6a6af..e2f48afbf 100644 --- a/src/apps/deskflow-core/CMakeLists.txt +++ b/src/apps/deskflow-core/CMakeLists.txt @@ -39,11 +39,13 @@ target_link_libraries( ${libs}) if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - set_target_properties(${target} PROPERTIES - BUILD_WITH_INSTALL_RPATH TRUE - INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" - RUNTIME_OUTPUT_DIRECTORY ${APPLE_CORE_BINARY_PATH} - ) + if (BUILD_GUI) + set_target_properties(${target} PROPERTIES + BUILD_WITH_INSTALL_RPATH TRUE + INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" + RUNTIME_OUTPUT_DIRECTORY $/MacOS + ) + endif() elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") install(TARGETS ${target} DESTINATION bin) endif() diff --git a/src/apps/deskflow-server/CMakeLists.txt b/src/apps/deskflow-server/CMakeLists.txt index 5bf5556db..d40030ff0 100644 --- a/src/apps/deskflow-server/CMakeLists.txt +++ b/src/apps/deskflow-server/CMakeLists.txt @@ -64,11 +64,13 @@ target_link_libraries( ${libs}) if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - set_target_properties(${target} PROPERTIES - BUILD_WITH_INSTALL_RPATH TRUE - INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" - RUNTIME_OUTPUT_DIRECTORY ${APPLE_CORE_BINARY_PATH} - ) + if (BUILD_GUI) + set_target_properties(${target} PROPERTIES + BUILD_WITH_INSTALL_RPATH TRUE + INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" + RUNTIME_OUTPUT_DIRECTORY $/MacOS + ) + endif() elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") install(TARGETS ${target} DESTINATION bin) endif() From 5aa02938e680ac74396354e626e0979f63231ba1 Mon Sep 17 00:00:00 2001 From: Nick Bolton Date: Fri, 31 Oct 2025 11:42:44 +0000 Subject: [PATCH 3/4] fix: streamline macOS build configuration for GUI applications --- src/apps/deskflow-client/CMakeLists.txt | 14 ++++++-------- src/apps/deskflow-core/CMakeLists.txt | 14 ++++++-------- src/apps/deskflow-server/CMakeLists.txt | 14 ++++++-------- 3 files changed, 18 insertions(+), 24 deletions(-) diff --git a/src/apps/deskflow-client/CMakeLists.txt b/src/apps/deskflow-client/CMakeLists.txt index 6138a1556..c9c0e699a 100644 --- a/src/apps/deskflow-client/CMakeLists.txt +++ b/src/apps/deskflow-client/CMakeLists.txt @@ -63,14 +63,12 @@ target_link_libraries( app ${libs}) -if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - if (BUILD_GUI) - set_target_properties(${target} PROPERTIES - BUILD_WITH_INSTALL_RPATH TRUE - INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" - RUNTIME_OUTPUT_DIRECTORY $/MacOS - ) - endif() +if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND BUILD_GUI) + set_target_properties(${target} PROPERTIES + BUILD_WITH_INSTALL_RPATH TRUE + INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" + RUNTIME_OUTPUT_DIRECTORY $/MacOS + ) elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") install(TARGETS ${target} DESTINATION bin) endif() diff --git a/src/apps/deskflow-core/CMakeLists.txt b/src/apps/deskflow-core/CMakeLists.txt index e2f48afbf..0a60965ec 100644 --- a/src/apps/deskflow-core/CMakeLists.txt +++ b/src/apps/deskflow-core/CMakeLists.txt @@ -38,14 +38,12 @@ target_link_libraries( app ${libs}) -if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - if (BUILD_GUI) - set_target_properties(${target} PROPERTIES - BUILD_WITH_INSTALL_RPATH TRUE - INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" - RUNTIME_OUTPUT_DIRECTORY $/MacOS - ) - endif() +if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND BUILD_GUI) + set_target_properties(${target} PROPERTIES + BUILD_WITH_INSTALL_RPATH TRUE + INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" + RUNTIME_OUTPUT_DIRECTORY $/MacOS + ) elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") install(TARGETS ${target} DESTINATION bin) endif() diff --git a/src/apps/deskflow-server/CMakeLists.txt b/src/apps/deskflow-server/CMakeLists.txt index d40030ff0..3b5b20e16 100644 --- a/src/apps/deskflow-server/CMakeLists.txt +++ b/src/apps/deskflow-server/CMakeLists.txt @@ -63,14 +63,12 @@ target_link_libraries( app ${libs}) -if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - if (BUILD_GUI) - set_target_properties(${target} PROPERTIES - BUILD_WITH_INSTALL_RPATH TRUE - INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" - RUNTIME_OUTPUT_DIRECTORY $/MacOS - ) - endif() +if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND BUILD_GUI) + set_target_properties(${target} PROPERTIES + BUILD_WITH_INSTALL_RPATH TRUE + INSTALL_RPATH "@loader_path/../Libraries;@loader_path/../Frameworks" + RUNTIME_OUTPUT_DIRECTORY $/MacOS + ) elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") install(TARGETS ${target} DESTINATION bin) endif() From 09ce843aa8f655e44e509e3f74ff7abe3dc31167 Mon Sep 17 00:00:00 2001 From: Nick Bolton Date: Fri, 31 Oct 2025 12:02:53 +0000 Subject: [PATCH 4/4] fix: remove unnecessary blank line in configure_bin_names macro --- cmake/Definitions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Definitions.cmake b/cmake/Definitions.cmake index c9095d75c..9cd7b5f0a 100644 --- a/cmake/Definitions.cmake +++ b/cmake/Definitions.cmake @@ -150,7 +150,7 @@ macro(configure_bin_names) set(LEGACY_BINARY_NAME "deskflow-legacy" CACHE STRING "Filename of the legacy binary") - + message(VERBOSE "GUI binary: ${GUI_BINARY_NAME}") message(VERBOSE "Server binary: ${SERVER_BINARY_NAME}") message(VERBOSE "Client binary: ${CLIENT_BINARY_NAME}")