From 06fa85f31c7f2268f74a76f3a3fbe1c9e4374f5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Moreau?= Date: Sat, 13 Oct 2012 17:30:59 -0400 Subject: [PATCH] cmake: refactoring of MONOLITHIC_BUILD --- channels/audin/client/CMakeLists.txt | 9 +++---- channels/audin/server/CMakeLists.txt | 9 +++---- channels/disk/client/CMakeLists.txt | 14 ++++++---- channels/drdynvc/client/CMakeLists.txt | 14 ++++++---- channels/parallel/client/CMakeLists.txt | 14 ++++++---- channels/printer/client/CMakeLists.txt | 14 ++++++---- channels/rail/client/CMakeLists.txt | 9 +++---- channels/rdpdr/client/CMakeLists.txt | 14 ++++++---- channels/rdpsnd/client/CMakeLists.txt | 9 +++---- channels/rdpsnd/server/CMakeLists.txt | 9 +++---- channels/sample/client/CMakeLists.txt | 9 +++---- channels/serial/client/CMakeLists.txt | 9 +++---- channels/smartcard/client/CMakeLists.txt | 14 ++++++---- channels/tsmf/client/CMakeLists.txt | 10 +++---- channels/urbdrc/client/CMakeLists.txt | 12 ++++----- client/DirectFB/CMakeLists.txt | 14 +++------- client/Sample/CMakeLists.txt | 13 +++------ client/Windows/CMakeLists.txt | 14 +++------- libfreerdp/core/CMakeLists.txt | 15 ++++------- server/Sample/CMakeLists.txt | 25 ++++++++--------- server/Windows/CMakeLists.txt | 17 ++++-------- server/X11/CMakeLists.txt | 33 +++++++++++------------ winpr/libwinpr/asn1/CMakeLists.txt | 8 +++--- winpr/libwinpr/bcrypt/CMakeLists.txt | 21 +++++++-------- winpr/libwinpr/credentials/CMakeLists.txt | 8 +++--- winpr/libwinpr/credui/CMakeLists.txt | 8 +++--- winpr/libwinpr/crt/CMakeLists.txt | 8 +++--- winpr/libwinpr/dsparse/CMakeLists.txt | 8 +++--- winpr/libwinpr/environment/CMakeLists.txt | 8 +++--- winpr/libwinpr/error/CMakeLists.txt | 8 +++--- winpr/libwinpr/file/CMakeLists.txt | 15 ++++++----- winpr/libwinpr/handle/CMakeLists.txt | 10 +++---- winpr/libwinpr/heap/CMakeLists.txt | 8 +++--- winpr/libwinpr/interlocked/CMakeLists.txt | 15 ++++++----- winpr/libwinpr/io/CMakeLists.txt | 9 +++---- winpr/libwinpr/library/CMakeLists.txt | 14 ++++------ winpr/libwinpr/path/CMakeLists.txt | 8 +++--- winpr/libwinpr/pipe/CMakeLists.txt | 19 ++++++------- winpr/libwinpr/registry/CMakeLists.txt | 10 +++---- winpr/libwinpr/rpc/CMakeLists.txt | 8 +++--- winpr/libwinpr/sspi/CMakeLists.txt | 21 +++++---------- winpr/libwinpr/sspicli/CMakeLists.txt | 8 +++--- winpr/libwinpr/synch/CMakeLists.txt | 16 ++++++----- winpr/libwinpr/sysinfo/CMakeLists.txt | 8 +++--- winpr/libwinpr/thread/CMakeLists.txt | 8 +++--- winpr/libwinpr/timezone/CMakeLists.txt | 10 +++---- winpr/libwinpr/utils/CMakeLists.txt | 19 +++++++------ winpr/libwinpr/winhttp/CMakeLists.txt | 8 +++--- winpr/libwinpr/winsock/CMakeLists.txt | 8 +++--- winpr/tools/hash/CMakeLists.txt | 11 ++++---- 50 files changed, 272 insertions(+), 338 deletions(-) diff --git a/channels/audin/client/CMakeLists.txt b/channels/audin/client/CMakeLists.txt index 0eaa9f61c..6a51d865b 100644 --- a/channels/audin/client/CMakeLists.txt +++ b/channels/audin/client/CMakeLists.txt @@ -27,11 +27,10 @@ include_directories(..) add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -if(MONOLITHIC_BUILD) - target_link_libraries(${MODULE_NAME} freerdp) -else() - target_link_libraries(${MODULE_NAME} freerdp-utils) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) diff --git a/channels/audin/server/CMakeLists.txt b/channels/audin/server/CMakeLists.txt index f5b5e1aa9..bb2ab5728 100644 --- a/channels/audin/server/CMakeLists.txt +++ b/channels/audin/server/CMakeLists.txt @@ -33,10 +33,9 @@ add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -if(MONOLITHIC_BUILD) - set(${MODULE_PREFIX}_LIBS freerdp) -else() - set(${MODULE_PREFIX}_LIBS freerdp-utils freerdp-channels) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils freerdp-channels) set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${CHANNEL}/Server") diff --git a/channels/disk/client/CMakeLists.txt b/channels/disk/client/CMakeLists.txt index c0c58429b..003a61ee8 100644 --- a/channels/disk/client/CMakeLists.txt +++ b/channels/disk/client/CMakeLists.txt @@ -46,11 +46,15 @@ endif() set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -if(MONOLITHIC_BUILD) - set(${MODULE_PREFIX}_LIBS freerdp winpr) -else() - set(${MODULE_PREFIX}_LIBS freerdp-utils winpr-crt winpr-synch winpr-thread winpr-interlocked) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) + +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE winpr + MODULES winpr-crt winpr-synch winpr-thread winpr-interlocked) target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) diff --git a/channels/drdynvc/client/CMakeLists.txt b/channels/drdynvc/client/CMakeLists.txt index 914c71fa3..945bf06fc 100644 --- a/channels/drdynvc/client/CMakeLists.txt +++ b/channels/drdynvc/client/CMakeLists.txt @@ -35,11 +35,15 @@ add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -if(MONOLITHIC_BUILD) - target_link_libraries(${MODULE_NAME} freerdp winpr) -else() - target_link_libraries(${MODULE_NAME} freerdp-utils winpr-synch) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) + +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE winpr + MODULES winpr-synch) set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client") diff --git a/channels/parallel/client/CMakeLists.txt b/channels/parallel/client/CMakeLists.txt index 064c23b4c..3224d7cba 100644 --- a/channels/parallel/client/CMakeLists.txt +++ b/channels/parallel/client/CMakeLists.txt @@ -25,11 +25,15 @@ add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -if(MONOLITHIC_BUILD) - target_link_libraries(${MODULE_NAME} freerdp) -else() - target_link_libraries(${MODULE_NAME} freerdp-utils winpr-interlocked) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) + +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE winpr + MODULES winpr-interlocked) install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) diff --git a/channels/printer/client/CMakeLists.txt b/channels/printer/client/CMakeLists.txt index 34779d8df..3e9c0efaa 100644 --- a/channels/printer/client/CMakeLists.txt +++ b/channels/printer/client/CMakeLists.txt @@ -41,11 +41,15 @@ add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -if(MONOLITHIC_BUILD) - target_link_libraries(${MODULE_NAME} freerdp winpr) -else() - target_link_libraries(${MODULE_NAME} freerdp-utils winpr-crt winpr-synch winpr-thread winpr-interlocked) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) + +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE winpr + MODULES winpr-crt winpr-synch winpr-thread winpr-interlocked) if(WITH_CUPS) target_link_libraries(${MODULE_NAME} ${CUPS_LIBRARIES}) diff --git a/channels/rail/client/CMakeLists.txt b/channels/rail/client/CMakeLists.txt index 5ccf2041b..f7e3b139f 100644 --- a/channels/rail/client/CMakeLists.txt +++ b/channels/rail/client/CMakeLists.txt @@ -34,11 +34,10 @@ add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -if(MONOLITHIC_BUILD) - target_link_libraries(${MODULE_NAME} freerdp) -else() - target_link_libraries(${MODULE_NAME} freerdp-utils) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) diff --git a/channels/rdpdr/client/CMakeLists.txt b/channels/rdpdr/client/CMakeLists.txt index fd45da480..d35277b92 100644 --- a/channels/rdpdr/client/CMakeLists.txt +++ b/channels/rdpdr/client/CMakeLists.txt @@ -38,11 +38,15 @@ add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -if(MONOLITHIC_BUILD) - target_link_libraries(${MODULE_NAME} freerdp winpr) -else() - target_link_libraries(${MODULE_NAME} freerdp-utils winpr-crt winpr-synch winpr-thread winpr-interlocked) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) + +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE winpr + MODULES winpr-crt winpr-synch winpr-thread winpr-interlocked) set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client") diff --git a/channels/rdpsnd/client/CMakeLists.txt b/channels/rdpsnd/client/CMakeLists.txt index c24c0ca64..dfd5b5467 100644 --- a/channels/rdpsnd/client/CMakeLists.txt +++ b/channels/rdpsnd/client/CMakeLists.txt @@ -32,11 +32,10 @@ add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -if(MONOLITHIC_BUILD) - target_link_libraries(${MODULE_NAME} freerdp) -else() - target_link_libraries(${MODULE_NAME} freerdp-utils) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) diff --git a/channels/rdpsnd/server/CMakeLists.txt b/channels/rdpsnd/server/CMakeLists.txt index b03948b07..9c5850ba8 100644 --- a/channels/rdpsnd/server/CMakeLists.txt +++ b/channels/rdpsnd/server/CMakeLists.txt @@ -33,10 +33,9 @@ add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -if(MONOLITHIC_BUILD) - target_link_libraries(${MODULE_NAME} freerdp) -else() - target_link_libraries(${MODULE_NAME} freerdp-utils) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${CHANNEL}/Server") diff --git a/channels/sample/client/CMakeLists.txt b/channels/sample/client/CMakeLists.txt index f3d2c6540..8090d1f6b 100644 --- a/channels/sample/client/CMakeLists.txt +++ b/channels/sample/client/CMakeLists.txt @@ -25,10 +25,9 @@ set(${MODULE_PREFIX}_SRCS add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -if(MONOLITHIC_BUILD) - target_link_libraries(${MODULE_NAME} freerdp) -else() - target_link_libraries(${MODULE_NAME} freerdp-utils) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) diff --git a/channels/serial/client/CMakeLists.txt b/channels/serial/client/CMakeLists.txt index 679df16d8..9024a58c0 100644 --- a/channels/serial/client/CMakeLists.txt +++ b/channels/serial/client/CMakeLists.txt @@ -27,11 +27,10 @@ set(${MODULE_PREFIX}_SRCS add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) set_target_properties(serial PROPERTIES PREFIX "") -if(MONOLITHIC_BUILD) - target_link_libraries(${MODULE_NAME} freerdp) -else() - target_link_libraries(${MODULE_NAME} freerdp-utils) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) diff --git a/channels/smartcard/client/CMakeLists.txt b/channels/smartcard/client/CMakeLists.txt index 7e5a3bf38..5161b5625 100644 --- a/channels/smartcard/client/CMakeLists.txt +++ b/channels/smartcard/client/CMakeLists.txt @@ -27,11 +27,15 @@ include_directories(${PCSC_INCLUDE_DIRS}) add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -if(MONOLITHIC_BUILD) - target_link_libraries(${MODULE_NAME} freerdp winpr) -else() - target_link_libraries(${MODULE_NAME} freerdp-utils winpr-crt winpr-synch winpr-thread winpr-interlocked) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) + +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE winpr + MODULES winpr-crt winpr-synch winpr-thread winpr-interlocked) target_link_libraries(${MODULE_NAME} ${PCSC_LIBRARIES}) diff --git a/channels/tsmf/client/CMakeLists.txt b/channels/tsmf/client/CMakeLists.txt index f3ca6a932..d994fd693 100644 --- a/channels/tsmf/client/CMakeLists.txt +++ b/channels/tsmf/client/CMakeLists.txt @@ -40,12 +40,12 @@ include_directories(..) add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "") -if(MONOLITHIC_BUILD) - target_link_libraries(${MODULE_NAME} freerdp) -else() - target_link_libraries(${MODULE_NAME} freerdp-utils) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) +target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client") diff --git a/channels/urbdrc/client/CMakeLists.txt b/channels/urbdrc/client/CMakeLists.txt index 59b08a0f1..58f433e7c 100644 --- a/channels/urbdrc/client/CMakeLists.txt +++ b/channels/urbdrc/client/CMakeLists.txt @@ -40,14 +40,12 @@ set(${MODULE_PREFIX}_LIBS udev uuid) -if(MONOLITHIC_BUILD) - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp) - target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) -else() - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-utils) - target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-utils) +target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH}) set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client") diff --git a/client/DirectFB/CMakeLists.txt b/client/DirectFB/CMakeLists.txt index e5975cd9f..26f3153c0 100644 --- a/client/DirectFB/CMakeLists.txt +++ b/client/DirectFB/CMakeLists.txt @@ -33,16 +33,10 @@ add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) set(${MODULE_PREFIX}_LIBS ${DIRECTFB_LIBRARIES}) set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-channels-client) -if(MONOLITHIC_BUILD) - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp) -else() - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} - freerdp-core - freerdp-gdi - freerdp-locale - freerdp-channels - freerdp-utils) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-core freerdp-gdi freerdp-locale freerdp-codec freerdp-channels freerdp-utils) target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/client/Sample/CMakeLists.txt b/client/Sample/CMakeLists.txt index 9dcfea304..cc97423a4 100644 --- a/client/Sample/CMakeLists.txt +++ b/client/Sample/CMakeLists.txt @@ -25,15 +25,10 @@ add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${CMAKE_DL_LIBS}) -if(MONOLITHIC_BUILD) - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp) -else() - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} - freerdp-core - freerdp-gdi - freerdp-utils - freerdp-channels) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-core freerdp-gdi freerdp-channels freerdp-utils) target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) diff --git a/client/Windows/CMakeLists.txt b/client/Windows/CMakeLists.txt index 18c2cffb4..a422d982e 100644 --- a/client/Windows/CMakeLists.txt +++ b/client/Windows/CMakeLists.txt @@ -38,16 +38,10 @@ add_executable(${MODULE_NAME} WIN32 ${${MODULE_PREFIX}_SRCS}) set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-channels-client) -if(MONOLITHIC_BUILD) - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp) -else() - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} - freerdp-core - freerdp-gdi - freerdp-codec - freerdp-channels - freerdp-utils) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-core freerdp-gdi freerdp-codec freerdp-channels freerdp-utils) target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/libfreerdp/core/CMakeLists.txt b/libfreerdp/core/CMakeLists.txt index 88c08fda1..8c5be64ac 100644 --- a/libfreerdp/core/CMakeLists.txt +++ b/libfreerdp/core/CMakeLists.txt @@ -98,16 +98,6 @@ add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib") -if(MONOLITHIC_BUILD) - set(${MODULE_PREFIX}_LIBS winpr) -else() - set(${MODULE_PREFIX}_LIBS - winpr-registry - winpr-utils - winpr-sspi - winpr-crt) -endif() - if(WIN32) set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ws2_32) else() @@ -121,6 +111,11 @@ set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS MODULE freerdp MODULES freerdp-core freerdp-crypto freerdp-codec freerdp-locale freerdp-utils) +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE winpr + MODULES winpr-registry winpr-utils winpr-sspi winpr-crt) + if(MONOLITHIC_BUILD) set(FREERDP_LIBS ${FREERDP_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE) else() diff --git a/server/Sample/CMakeLists.txt b/server/Sample/CMakeLists.txt index 35dc0a348..4c5cf6dd3 100644 --- a/server/Sample/CMakeLists.txt +++ b/server/Sample/CMakeLists.txt @@ -28,20 +28,17 @@ set(${MODULE_PREFIX}_SRCS add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -if(MONOLITHIC_BUILD) - target_link_libraries(${MODULE_NAME} - winpr - freerdp - freerdp-channels-server) -else() - target_link_libraries(${MODULE_NAME} - winpr-crt - freerdp-core - freerdp-utils - freerdp-codec - freerdp-channels - freerdp-channels-server) -endif() +set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-channels-server) + +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-core freerdp-utils freerdp-codec freerdp-channels) + +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE winpr + MODULES winpr-crt) set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Server/Sample") diff --git a/server/Windows/CMakeLists.txt b/server/Windows/CMakeLists.txt index dfe2f9743..ef9ed2b67 100644 --- a/server/Windows/CMakeLists.txt +++ b/server/Windows/CMakeLists.txt @@ -50,24 +50,17 @@ else() endif() if(WITH_WIN8) - set(${MODULE_PREFIX}_LIBS d3d11 dxgi dxguid) + set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} d3d11 dxgi dxguid) endif() set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-channels-server) -if(MONOLITHIC_BUILD) - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp) -else() - - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} - freerdp-core - freerdp-utils - freerdp-codec - freerdp-channels) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-core freerdp-utils freerdp-codec freerdp-channels) target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) - if(WITH_SERVER_INTERFACE) install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/server/X11/CMakeLists.txt b/server/X11/CMakeLists.txt index c6282174f..11ff4e054 100644 --- a/server/X11/CMakeLists.txt +++ b/server/X11/CMakeLists.txt @@ -39,14 +39,14 @@ find_suggested_package(Xext) if(WITH_XEXT) add_definitions(-DWITH_XEXT) include_directories(${XEXT_INCLUDE_DIRS}) - target_link_libraries(${MODULE_NAME} ${XEXT_LIBRARIES}) + set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${XEXT_LIBRARIES}) endif() find_suggested_package(Xdamage) if(WITH_XDAMAGE) add_definitions(-DWITH_XDAMAGE) include_directories(${XDAMAGE_INCLUDE_DIRS}) - target_link_libraries(${MODULE_NAME} ${XDAMAGE_LIBRARIES}) + set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${XDAMAGE_LIBRARIES}) endif() find_suggested_package(Xfixes) @@ -54,30 +54,29 @@ if(WITH_XFIXES) add_definitions(-DWITH_XFIXES) include_directories(${XFIXES_INCLUDE_DIRS}) target_link_libraries(${MODULE_NAME} ${XFIXES_LIBRARIES}) + set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${XFIXES_LIBRARIES}) endif() find_suggested_package(XTest) if(WITH_XTEST) add_definitions(-DWITH_XTEST) include_directories(${XTEST_INCLUDE_DIRS}) - target_link_libraries(${MODULE_NAME} ${XTEST_LIBRARIES}) + set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${XTEST_LIBRARIES}) endif() -if(MONOLITHIC_BUILD) - target_link_libraries(${MODULE_NAME} freerdp) - target_link_libraries(${MODULE_NAME} winpr) -else() - target_link_libraries(${MODULE_NAME} - freerdp-core - freerdp-codec - freerdp-utils - freerdp-gdi - freerdp-crypto - freerdp-locale) +set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${X11_LIBRARIES}) - target_link_libraries(${MODULE_NAME} winpr-sspi) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE freerdp + MODULES freerdp-core freerdp-codec freerdp-utils freerdp-gdi freerdp-crypto freerdp-locale) -target_link_libraries(${MODULE_NAME} ${X11_LIBRARIES}) +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE winpr + MODULES winpr-sspi) + +target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) +install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Server/X11") diff --git a/winpr/libwinpr/asn1/CMakeLists.txt b/winpr/libwinpr/asn1/CMakeLists.txt index 379714d22..7f5c7599d 100644 --- a/winpr/libwinpr/asn1/CMakeLists.txt +++ b/winpr/libwinpr/asn1/CMakeLists.txt @@ -25,11 +25,9 @@ if(MSVC AND (NOT MONOLITHIC_BUILD)) set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def) endif() -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") diff --git a/winpr/libwinpr/bcrypt/CMakeLists.txt b/winpr/libwinpr/bcrypt/CMakeLists.txt index 978a8a480..f9038698d 100644 --- a/winpr/libwinpr/bcrypt/CMakeLists.txt +++ b/winpr/libwinpr/bcrypt/CMakeLists.txt @@ -21,11 +21,9 @@ set(MODULE_PREFIX "WINPR_BCRYPT") set(${MODULE_PREFIX}_SRCS bcrypt.c) -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) include_directories(${OPENSSL_INCLUDE_DIR}) include_directories(${ZLIB_INCLUDE_DIRS}) @@ -35,15 +33,14 @@ set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SO set(${MODULE_PREFIX}_LIBS ${ZLIB_LIBRARIES}) +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} INTERNAL + MODULE winpr + MODULES winpr-crt winpr-utils) + if(MONOLITHIC_BUILD) set(WINPR_LIBS ${WINPR_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE) -else() - if(NOT WIN32) - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-crt) - endif() - - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-utils) - +else() target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() diff --git a/winpr/libwinpr/credentials/CMakeLists.txt b/winpr/libwinpr/credentials/CMakeLists.txt index 91b04bd7b..ebcc91ba4 100644 --- a/winpr/libwinpr/credentials/CMakeLists.txt +++ b/winpr/libwinpr/credentials/CMakeLists.txt @@ -25,11 +25,9 @@ if(MSVC AND (NOT MONOLITHIC_BUILD)) set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def) endif() -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") diff --git a/winpr/libwinpr/credui/CMakeLists.txt b/winpr/libwinpr/credui/CMakeLists.txt index 784ba5f5f..8abe85d21 100644 --- a/winpr/libwinpr/credui/CMakeLists.txt +++ b/winpr/libwinpr/credui/CMakeLists.txt @@ -25,11 +25,9 @@ if(MSVC AND (NOT MONOLITHIC_BUILD)) set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def) endif() -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") diff --git a/winpr/libwinpr/crt/CMakeLists.txt b/winpr/libwinpr/crt/CMakeLists.txt index 4d8a5782a..7ed9b0a99 100644 --- a/winpr/libwinpr/crt/CMakeLists.txt +++ b/winpr/libwinpr/crt/CMakeLists.txt @@ -28,11 +28,9 @@ if(MSVC AND (NOT MONOLITHIC_BUILD)) set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def) endif() -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") diff --git a/winpr/libwinpr/dsparse/CMakeLists.txt b/winpr/libwinpr/dsparse/CMakeLists.txt index a4006e1ae..0775a8633 100644 --- a/winpr/libwinpr/dsparse/CMakeLists.txt +++ b/winpr/libwinpr/dsparse/CMakeLists.txt @@ -21,11 +21,9 @@ set(MODULE_PREFIX "WINPR_DSPARSE") set(${MODULE_PREFIX}_SRCS dsparse.c) -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") diff --git a/winpr/libwinpr/environment/CMakeLists.txt b/winpr/libwinpr/environment/CMakeLists.txt index 8881db0a9..4951ec5e1 100644 --- a/winpr/libwinpr/environment/CMakeLists.txt +++ b/winpr/libwinpr/environment/CMakeLists.txt @@ -21,11 +21,9 @@ set(MODULE_PREFIX "WINPR_ENVIRONMENT") set(${MODULE_PREFIX}_SRCS environment.c) -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") diff --git a/winpr/libwinpr/error/CMakeLists.txt b/winpr/libwinpr/error/CMakeLists.txt index b3dc37243..10abfa477 100644 --- a/winpr/libwinpr/error/CMakeLists.txt +++ b/winpr/libwinpr/error/CMakeLists.txt @@ -21,11 +21,9 @@ set(MODULE_PREFIX "WINPR_ERROR") set(${MODULE_PREFIX}_SRCS error.c) -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") diff --git a/winpr/libwinpr/file/CMakeLists.txt b/winpr/libwinpr/file/CMakeLists.txt index 26a466a64..75eaee43f 100644 --- a/winpr/libwinpr/file/CMakeLists.txt +++ b/winpr/libwinpr/file/CMakeLists.txt @@ -25,19 +25,20 @@ if(MSVC AND (NOT MONOLITHIC_BUILD)) set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def) endif() -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} INTERNAL + MODULE winpr + MODULES winpr-handle) + if(MONOLITHIC_BUILD) else() - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-handle) - target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() diff --git a/winpr/libwinpr/handle/CMakeLists.txt b/winpr/libwinpr/handle/CMakeLists.txt index 6f33169d0..9c6124ea7 100644 --- a/winpr/libwinpr/handle/CMakeLists.txt +++ b/winpr/libwinpr/handle/CMakeLists.txt @@ -29,11 +29,9 @@ if(MSVC AND (NOT MONOLITHIC_BUILD)) set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def) endif() -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") @@ -42,7 +40,7 @@ set(${MODULE_PREFIX}_LIBS ${CMAKE_DL_LIBS}) if(${CMAKE_SYSTEM_NAME} MATCHES SunOS) - set(WINPR_SYNCH_LIBS ${WINPR_SYNCH_LIBS} rt) + set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} rt) endif() if(MONOLITHIC_BUILD) diff --git a/winpr/libwinpr/heap/CMakeLists.txt b/winpr/libwinpr/heap/CMakeLists.txt index 0997c5b13..54f4ad940 100644 --- a/winpr/libwinpr/heap/CMakeLists.txt +++ b/winpr/libwinpr/heap/CMakeLists.txt @@ -25,11 +25,9 @@ if(MSVC AND (NOT MONOLITHIC_BUILD)) set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def) endif() -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") diff --git a/winpr/libwinpr/interlocked/CMakeLists.txt b/winpr/libwinpr/interlocked/CMakeLists.txt index 508804e6e..9a5278112 100644 --- a/winpr/libwinpr/interlocked/CMakeLists.txt +++ b/winpr/libwinpr/interlocked/CMakeLists.txt @@ -25,18 +25,21 @@ if(MSVC AND (NOT MONOLITHIC_BUILD)) set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def) endif() -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} INTERNAL + MODULE winpr + MODULES winpr-crt winpr-handle winpr-synch) + if(MONOLITHIC_BUILD) else() - target_link_libraries(${MODULE_NAME} winpr-crt winpr-handle winpr-synch) + target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() diff --git a/winpr/libwinpr/io/CMakeLists.txt b/winpr/libwinpr/io/CMakeLists.txt index 39794bf2f..b1fc5aa8c 100644 --- a/winpr/libwinpr/io/CMakeLists.txt +++ b/winpr/libwinpr/io/CMakeLists.txt @@ -21,17 +21,16 @@ set(MODULE_PREFIX "WINPR_IO") set(${MODULE_PREFIX}_SRCS io.c) -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") if(MONOLITHIC_BUILD) else() + target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() diff --git a/winpr/libwinpr/library/CMakeLists.txt b/winpr/libwinpr/library/CMakeLists.txt index b9b9a23ee..5612155d6 100644 --- a/winpr/libwinpr/library/CMakeLists.txt +++ b/winpr/libwinpr/library/CMakeLists.txt @@ -25,21 +25,17 @@ if(MSVC AND (NOT MONOLITHIC_BUILD)) set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def) endif() -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") +set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${CMAKE_DL_LIBS}) + if(MONOLITHIC_BUILD) set(WINPR_LIBS ${WINPR_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE) else() - if(NOT WIN32) - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} dl) - endif() - target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() diff --git a/winpr/libwinpr/path/CMakeLists.txt b/winpr/libwinpr/path/CMakeLists.txt index 3d5ac2731..549c58861 100644 --- a/winpr/libwinpr/path/CMakeLists.txt +++ b/winpr/libwinpr/path/CMakeLists.txt @@ -21,11 +21,9 @@ set(MODULE_PREFIX "WINPR_PATH") set(${MODULE_PREFIX}_SRCS path.c) -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") diff --git a/winpr/libwinpr/pipe/CMakeLists.txt b/winpr/libwinpr/pipe/CMakeLists.txt index 1f68429da..b5b055828 100644 --- a/winpr/libwinpr/pipe/CMakeLists.txt +++ b/winpr/libwinpr/pipe/CMakeLists.txt @@ -25,23 +25,20 @@ if(MSVC AND (NOT MONOLITHIC_BUILD)) set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def) endif() -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} INTERNAL + MODULE winpr + MODULES winpr-crt winpr-handle winpr-file) + if(MONOLITHIC_BUILD) else() - set(${MODULE_PREFIX}_LIBS - winpr-crt - winpr-handle) - if (NOT WIN32) - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-file) - endif() target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() diff --git a/winpr/libwinpr/registry/CMakeLists.txt b/winpr/libwinpr/registry/CMakeLists.txt index 21f698b87..382bc572a 100644 --- a/winpr/libwinpr/registry/CMakeLists.txt +++ b/winpr/libwinpr/registry/CMakeLists.txt @@ -27,12 +27,10 @@ if(MSVC AND (NOT MONOLITHIC_BUILD)) set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def) endif() -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() - +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) + set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") if(MONOLITHIC_BUILD) diff --git a/winpr/libwinpr/rpc/CMakeLists.txt b/winpr/libwinpr/rpc/CMakeLists.txt index a871e748e..81f56ae28 100644 --- a/winpr/libwinpr/rpc/CMakeLists.txt +++ b/winpr/libwinpr/rpc/CMakeLists.txt @@ -41,11 +41,9 @@ set(${MODULE_PREFIX}_SRCS ndr_union.h midl.c) -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) include_directories(${OPENSSL_INCLUDE_DIR}) include_directories(${ZLIB_INCLUDE_DIRS}) diff --git a/winpr/libwinpr/sspi/CMakeLists.txt b/winpr/libwinpr/sspi/CMakeLists.txt index b6d4b8eb9..36bfda673 100644 --- a/winpr/libwinpr/sspi/CMakeLists.txt +++ b/winpr/libwinpr/sspi/CMakeLists.txt @@ -53,11 +53,9 @@ if(NOT WITH_NATIVE_SSPI) ${${MODULE_PREFIX}_SRCS}) endif() -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${WINPR_SSPI_SRCS}) -else() - add_library(${MODULE_NAME} ${WINPR_SSPI_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) include_directories(${ZLIB_INCLUDE_DIRS}) include_directories(${OPENSSL_INCLUDE_DIR}) @@ -74,15 +72,10 @@ else() set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${ZLIB_LIBRARIES}) endif() -if(MONOLITHIC_BUILD) - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr) -else() - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} - winpr-crt - winpr-sysinfo - winpr-registry - winpr-utils) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} INTERNAL + MODULE winpr + MODULES winpr-crt winpr-sysinfo winpr-registry winpr-utils) if(MONOLITHIC_BUILD) set(WINPR_LIBS ${WINPR_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE) diff --git a/winpr/libwinpr/sspicli/CMakeLists.txt b/winpr/libwinpr/sspicli/CMakeLists.txt index ced818b91..0a02f1949 100644 --- a/winpr/libwinpr/sspicli/CMakeLists.txt +++ b/winpr/libwinpr/sspicli/CMakeLists.txt @@ -21,11 +21,9 @@ set(MODULE_PREFIX "WINPR_SSPICLI") set(${MODULE_PREFIX}_SRCS sspicli.c) -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") diff --git a/winpr/libwinpr/synch/CMakeLists.txt b/winpr/libwinpr/synch/CMakeLists.txt index 4d6bda84b..3c1f40f34 100644 --- a/winpr/libwinpr/synch/CMakeLists.txt +++ b/winpr/libwinpr/synch/CMakeLists.txt @@ -41,11 +41,9 @@ if(MSVC AND (NOT MONOLITHIC_BUILD)) set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def) endif() -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") @@ -54,13 +52,17 @@ set(${MODULE_PREFIX}_LIBS ${CMAKE_DL_LIBS}) if(${CMAKE_SYSTEM_NAME} MATCHES SunOS) - set(WINPR_SYNCH_LIBS ${WINPR_SYNCH_LIBS} rt) + set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} rt) endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} INTERNAL + MODULE winpr + MODULES winpr-handle) + if(MONOLITHIC_BUILD) set(WINPR_LIBS ${WINPR_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE) else() - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-handle) target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() diff --git a/winpr/libwinpr/sysinfo/CMakeLists.txt b/winpr/libwinpr/sysinfo/CMakeLists.txt index 8a84e8ab5..5fbacd66d 100644 --- a/winpr/libwinpr/sysinfo/CMakeLists.txt +++ b/winpr/libwinpr/sysinfo/CMakeLists.txt @@ -21,11 +21,9 @@ set(MODULE_PREFIX "WINPR_SYSINFO") set(${MODULE_PREFIX}_SRCS sysinfo.c) -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") diff --git a/winpr/libwinpr/thread/CMakeLists.txt b/winpr/libwinpr/thread/CMakeLists.txt index c15fecf63..cd0898a1b 100644 --- a/winpr/libwinpr/thread/CMakeLists.txt +++ b/winpr/libwinpr/thread/CMakeLists.txt @@ -31,11 +31,9 @@ if(MSVC AND (NOT MONOLITHIC_BUILD)) set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def) endif() -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") diff --git a/winpr/libwinpr/timezone/CMakeLists.txt b/winpr/libwinpr/timezone/CMakeLists.txt index c37638a0a..78071a6fb 100644 --- a/winpr/libwinpr/timezone/CMakeLists.txt +++ b/winpr/libwinpr/timezone/CMakeLists.txt @@ -21,12 +21,10 @@ set(MODULE_PREFIX "WINPR_TIMEZONE") set(${MODULE_PREFIX}_SRCS timezone.c) -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() - +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) + set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") if(MONOLITHIC_BUILD) diff --git a/winpr/libwinpr/utils/CMakeLists.txt b/winpr/libwinpr/utils/CMakeLists.txt index 1ca3a04bc..3c282f62d 100644 --- a/winpr/libwinpr/utils/CMakeLists.txt +++ b/winpr/libwinpr/utils/CMakeLists.txt @@ -27,25 +27,24 @@ set(${MODULE_PREFIX}_SRCS include_directories(${ZLIB_INCLUDE_DIRS}) include_directories(${OPENSSL_INCLUDE_DIR}) -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") set(${MODULE_PREFIX}_LIBS ${ZLIB_LIBRARIES} ${OPENSSL_LIBRARIES}) + +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} INTERNAL + MODULE winpr + MODULES winpr-crt) if(MONOLITHIC_BUILD) set(WINPR_LIBS ${WINPR_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE) -else() - if (NOT WIN32) - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-crt) - endif() - +else() target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() diff --git a/winpr/libwinpr/winhttp/CMakeLists.txt b/winpr/libwinpr/winhttp/CMakeLists.txt index e84912d4d..d0cf4aaad 100644 --- a/winpr/libwinpr/winhttp/CMakeLists.txt +++ b/winpr/libwinpr/winhttp/CMakeLists.txt @@ -21,11 +21,9 @@ set(MODULE_PREFIX "WINPR_WINHTTP") set(${MODULE_PREFIX}_SRCS winhttp.c) -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") diff --git a/winpr/libwinpr/winsock/CMakeLists.txt b/winpr/libwinpr/winsock/CMakeLists.txt index b70a25bcc..446350c26 100644 --- a/winpr/libwinpr/winsock/CMakeLists.txt +++ b/winpr/libwinpr/winsock/CMakeLists.txt @@ -21,11 +21,9 @@ set(MODULE_PREFIX "WINPR_WINSOCK") set(${MODULE_PREFIX}_SRCS winsock.c) -if(MONOLITHIC_BUILD) - add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS}) -else() - add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -endif() +add_complex_library(MODULE ${MODULE_NAME} TYPE "OBJECT" + MONOLITHIC ${MONOLITHIC_BUILD} + SOURCES ${${MODULE_PREFIX}_SRCS}) set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") diff --git a/winpr/tools/hash/CMakeLists.txt b/winpr/tools/hash/CMakeLists.txt index c8e0205c5..3ede0e0b9 100644 --- a/winpr/tools/hash/CMakeLists.txt +++ b/winpr/tools/hash/CMakeLists.txt @@ -23,10 +23,11 @@ set(${MODULE_PREFIX}_SRCS add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) -if(MONOLITHIC_BUILD) - target_link_libraries(${MODULE_NAME} winpr) -else() - target_link_libraries(${MODULE_NAME} winpr-utils) -endif() +set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS + MONOLITHIC ${MONOLITHIC_BUILD} + MODULE winpr + MODULES winpr-utils) + +target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Tools")