cmake: refactoring of channels cmake scripts

This commit is contained in:
Marc-André Moreau 2012-10-04 16:54:16 -04:00
parent e828feccb7
commit e0693c8f4c
18 changed files with 166 additions and 126 deletions

View File

@ -1,9 +1,7 @@
# FreeRDP: A Remote Desktop Protocol Client
# FreeRDP cmake build script
#
# Copyright 2011 O.S. Systems Software Ltda.
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -17,22 +15,27 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(AUDIN_SRCS
set(MODULE_NAME "audin")
set(MODULE_PREFIX "CHANNEL_AUDIN_CLIENT")
set(${MODULE_PREFIX}_SRCS
audin_main.c
audin_main.h)
include_directories(..)
add_library(audin ${AUDIN_SRCS})
set_target_properties(audin PROPERTIES PREFIX "")
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
if(WITH_MONOLITHIC_BUILD)
target_link_libraries(audin freerdp)
target_link_libraries(${MODULE_NAME} freerdp)
else()
target_link_libraries(audin freerdp-utils)
target_link_libraries(${MODULE_NAME} freerdp-utils)
endif()
install(TARGETS audin DESTINATION ${FREERDP_PLUGIN_PATH})
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
if(WITH_ALSA)
add_subdirectory(alsa)

View File

@ -1,9 +1,7 @@
# FreeRDP: A Remote Desktop Protocol Client
# FreeRDP cmake build script
#
# Copyright 2011 O.S. Systems Software Ltda.
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -17,20 +15,25 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(CLIPRDR_SRCS
set(MODULE_NAME "cliprdr")
set(MODULE_PREFIX "CHANNEL_CLIPRDR_CLIENT")
set(${MODULE_PREFIX}_SRCS
cliprdr_constants.h
cliprdr_format.c
cliprdr_format.h
cliprdr_main.c
cliprdr_main.h)
add_library(cliprdr ${CLIPRDR_SRCS})
set_target_properties(cliprdr PROPERTIES PREFIX "")
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
if(WITH_MONOLITHIC_BUILD)
target_link_libraries(cliprdr freerdp)
target_link_libraries(${MODULE_NAME} freerdp)
else()
target_link_libraries(cliprdr freerdp-utils)
target_link_libraries(${MODULE_NAME} freerdp-utils)
endif()
install(TARGETS cliprdr DESTINATION ${FREERDP_PLUGIN_PATH})
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")

View File

@ -1,9 +1,7 @@
# FreeRDP: A Remote Desktop Protocol Client
# FreeRDP cmake build script
#
# Copyright 2011 O.S. Systems Software Ltda.
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -17,22 +15,25 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(DRDYNVC_SRCS
set(MODULE_NAME "drdynvc")
set(MODULE_PREFIX "CHANNEL_DRDYNVC_CLIENT")
set(${MODULE_PREFIX}_SRCS
drdynvc_main.c
drdynvc_main.h
drdynvc_types.h
dvcman.c
dvcman.h
)
dvcman.h)
add_library(drdynvc ${DRDYNVC_SRCS})
set_target_properties(drdynvc PROPERTIES PREFIX "")
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
if(WITH_MONOLITHIC_BUILD)
target_link_libraries(drdynvc freerdp winpr)
target_link_libraries(${MODULE_NAME} freerdp winpr)
else()
target_link_libraries(drdynvc freerdp-utils winpr-synch)
target_link_libraries(${MODULE_NAME} freerdp-utils winpr-synch)
endif()
install(TARGETS drdynvc DESTINATION ${FREERDP_PLUGIN_PATH})
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")

View File

@ -1,8 +1,6 @@
# FreeRDP: A Remote Desktop Protocol Client
# FreeRDP cmake build script
#
# Copyright 2011 O.S. Systems Software Ltda.
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
@ -17,20 +15,24 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(RAIL_SRCS
set(MODULE_NAME "rail")
set(MODULE_PREFIX "CHANNEL_RAIL_CLIENT")
set(${MODULE_PREFIX}_SRCS
rail_main.c
rail_main.h
rail_orders.c
rail_orders.h)
add_library(rail ${RAIL_SRCS})
set_target_properties(rail PROPERTIES PREFIX "")
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
if(WITH_MONOLITHIC_BUILD)
target_link_libraries(rail freerdp)
target_link_libraries(${MODULE_NAME} freerdp)
else()
target_link_libraries(rail freerdp-utils)
target_link_libraries(${MODULE_NAME} freerdp-utils)
endif()
install(TARGETS rail DESTINATION ${FREERDP_PLUGIN_PATH})
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")

View File

@ -1,9 +1,7 @@
# FreeRDP: A Remote Desktop Protocol Client
# FreeRDP cmake build script
#
# Copyright 2011 O.S. Systems Software Ltda.
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -17,7 +15,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(RDPDR_SRCS
set(MODULE_NAME "rdpdr")
set(MODULE_PREFIX "CHANNEL_RDPDR_CLIENT")
set(${MODULE_PREFIX}_SRCS
rdpdr_constants.h
rdpdr_types.h
rdpdr_capabilities.c
@ -29,19 +30,22 @@ set(RDPDR_SRCS
rdpdr_main.c
rdpdr_main.h)
add_library(rdpdr ${RDPDR_SRCS})
set_target_properties(rdpdr PROPERTIES PREFIX "")
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
if(WITH_MONOLITHIC_BUILD)
target_link_libraries(rdpdr freerdp)
target_link_libraries(${MODULE_NAME} freerdp)
else()
target_link_libraries(rdpdr freerdp-utils)
target_link_libraries(${MODULE_NAME} freerdp-utils)
endif()
install(TARGETS rdpdr DESTINATION ${FREERDP_PLUGIN_PATH})
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
add_subdirectory(disk)
add_subdirectory(printer)
if(NOT WIN32)
add_subdirectory(parallel)
add_subdirectory(serial)

View File

@ -17,20 +17,23 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(RDPSND_SRCS
set(MODULE_NAME "rdpsnd")
set(MODULE_PREFIX "CHANNEL_RDPSND_CLIENT")
set(${MODULE_PREFIX}_SRCS
rdpsnd_main.c
rdpsnd_main.h)
add_library(rdpsnd ${RDPSND_SRCS})
set_target_properties(rdpsnd PROPERTIES PREFIX "")
add_library(${MODULE_NAME} ${RDPSND_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
if(WITH_MONOLITHIC_BUILD)
target_link_libraries(rdpsnd freerdp)
target_link_libraries(${MODULE_NAME} freerdp)
else()
target_link_libraries(rdpsnd freerdp-utils)
target_link_libraries(${MODULE_NAME} freerdp-utils)
endif()
install(TARGETS rdpsnd DESTINATION ${FREERDP_PLUGIN_PATH})
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
if(WITH_ALSA)
add_subdirectory(alsa)
@ -41,6 +44,5 @@ if(WITH_PULSEAUDIO)
endif()
if(WITH_MACAUDIO)
add_subdirectory(mac_audio)
add_subdirectory(MacAudio)
endif()

View File

@ -2,9 +2,7 @@
# FreeRDP cmake build script
#
# Copyright 2012 Laxmikant Rashinkar <LK.Rashinkar@gmail.com>
# Copyright 2011 O.S. Systems Software Ltda.
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.

View File

@ -15,6 +15,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(MODULE_NAME "rdpsnd")
set(MODULE_PREFIX "CHANNEL_RDPSND_SERVER")
set(${MODULE_PREFIX}_SRCS
@ -27,3 +28,4 @@ else()
set(${MODULE_PREFIX}_LIBS freerdp-utils PARENT_SCOPE)
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Server")

View File

@ -1,9 +1,7 @@
# FreeRDP: A Remote Desktop Protocol Client
# FreeRDP cmake build script
#
# Copyright 2011 O.S. Systems Software Ltda.
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -17,17 +15,20 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(SKEL_SRCS
set(MODULE_NAME "sample")
set(MODULE_PREFIX "CHANNEL_SAMPLE_CLIENT")
set(${MODULE_PREFIX}_SRCS
skel_main.c
skel_main.h)
add_library(skel ${SKEL_SRCS})
set_target_properties(skel PROPERTIES PREFIX "")
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
if(WITH_MONOLITHIC_BUILD)
target_link_libraries(skel freerdp)
target_link_libraries(${MODULE_NAME} freerdp)
else()
target_link_libraries(skel freerdp-utils)
target_link_libraries(${MODULE_NAME} freerdp-utils)
endif()
install(TARGETS skel DESTINATION ${FREERDP_PLUGIN_PATH})
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})

View File

@ -15,8 +15,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(MODULE_NAME "freerdp-server-channels")
set(MODULE_PREFIX "FREERDP_SERVER_CHANNELS")
set(MODULE_NAME "freerdp-channels-server")
set(MODULE_PREFIX "FREERDP_CHANNELS_SERVER")
foreach(_MODULE_NAME ${CHANNEL_BUILTIN_SERVER_MODULES})
string(TOUPPER "CHANNEL_${_MODULE_NAME}" _MODULE_PREFIX)
@ -35,3 +35,5 @@ set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION_FULL}
target_link_libraries(${MODULE_NAME} ${CHANNEL_SERVER_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/Server")

View File

@ -1,9 +1,7 @@
# FreeRDP: A Remote Desktop Protocol Client
# FreeRDP cmake build script
#
# Copyright 2011 O.S. Systems Software Ltda.
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
# Copyright 2012 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@ -18,7 +16,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(TSMF_SRCS
set(MODULE_NAME "tsmf")
set(MODULE_PREFIX "CHANNEL_TSMF_CLIENT")
set(${MODULE_PREFIX}_SRCS
tsmf_audio.c
tsmf_audio.h
tsmf_codec.c
@ -36,25 +37,27 @@ set(TSMF_SRCS
include_directories(..)
add_library(tsmf ${TSMF_SRCS})
set_target_properties(tsmf PROPERTIES PREFIX "")
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
if(WITH_MONOLITHIC_BUILD)
target_link_libraries(tsmf freerdp)
target_link_libraries(${MODULE_NAME} freerdp)
else()
target_link_libraries(tsmf freerdp-utils)
target_link_libraries(${MODULE_NAME} freerdp-utils)
endif()
install(TARGETS tsmf DESTINATION ${FREERDP_PLUGIN_PATH})
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
if(WITH_FFMPEG)
add_subdirectory(ffmpeg)
endif()
if(WITH_XRANDR)
if(GSTREAMER_FOUND)
add_subdirectory(gstreamer)
endif()
if(GSTREAMER_FOUND)
add_subdirectory(gstreamer)
endif()
endif()
if(WITH_ALSA)
@ -64,4 +67,3 @@ endif()
if(WITH_PULSEAUDIO)
add_subdirectory(pulse)
endif()

View File

@ -20,5 +20,3 @@ add_subdirectory(libusb)
if(WITH_CLIENT_CHANNELS)
add_subdirectory(client)
endif()

View File

@ -16,27 +16,38 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(URBDRC_SRCS
searchman.c
searchman.h
set(MODULE_NAME "urbdrc")
set(MODULE_PREFIX "CHANNEL_URBDRC_CLIENT")
set(${MODULE_PREFIX}_SRCS
searchman.c
searchman.h
isoch_queue.c
isoch_queue.h
data_transfer.c
data_transfer.h
urbdrc_main.c
urbdrc_main.h
data_transfer.c
data_transfer.h
urbdrc_main.c
urbdrc_main.h
urbdrc_types.h)
include_directories(..)
add_library(urbdrc ${URBDRC_SRCS})
set_target_properties(urbdrc PROPERTIES PREFIX "")
add_library(${MODULE_NAME} ${URBDRC_SRCS})
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
target_link_libraries(urbdrc udev)
target_link_libraries(urbdrc dbus-glib-1)
target_link_libraries(urbdrc pthread)
target_link_libraries(urbdrc uuid)
target_link_libraries(urbdrc freerdp-utils)
set(${MODULE_PREFIX}_LIBS
dbus-glib-1
udev
uuid)
install(TARGETS urbdrc DESTINATION ${FREERDP_PLUGIN_PATH})
if(WITH_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()
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")

View File

@ -15,11 +15,14 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(MODULE_NAME "freerdp")
set(MODULE_PREFIX "FREERDP")
if(WITH_MONOLITHIC_BUILD)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
set(FREERDP_MODULES
set(${MODULE_PREFIX}_SUBMODULES
utils
gdi
rail
@ -30,21 +33,23 @@ set(FREERDP_MODULES
locale
core)
foreach(FREERDP_MODULE ${FREERDP_MODULES})
add_subdirectory(${FREERDP_MODULE})
foreach(${MODULE_PREFIX}_SUBMODULE ${FREERDP_SUBMODULES})
add_subdirectory(${${MODULE_PREFIX}_SUBMODULE})
endforeach()
if(WITH_MONOLITHIC_BUILD)
foreach(FREERDP_MODULE ${FREERDP_MODULES})
set(FREERDP_OBJECTS ${FREERDP_OBJECTS} "$<TARGET_OBJECTS:freerdp-${FREERDP_MODULE}>")
foreach(${MODULE_PREFIX}_SUBMODULE ${${MODULE_PREFIX}_MODULES})
set(${MODULE_PREFIX}_OBJECTS ${${MODULE_PREFIX}_OBJECTS} "$<TARGET_OBJECTS:${MODULE_PREFIX}-${${MODULE_PREFIX}_SUBMODULE}>")
endforeach()
add_library(freerdp ${FREERDP_OBJECTS})
set_target_properties(freerdp PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_OBJECTS})
target_link_libraries(freerdp ${FREERDP_LIBS})
install(TARGETS freerdp DESTINATION ${CMAKE_INSTALL_LIBDIR})
set_target_properties(${MODULE_NAME} PROPERTIES LINKER_LANGUAGE C)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP/libfreerdp")
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP/libfreerdp")

View File

@ -26,14 +26,14 @@ add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
if(WITH_MONOLITHIC_BUILD)
target_link_libraries(${MODULE_NAME}
freerdp
freerdp-server)
freerdp-channels-server)
else()
target_link_libraries(${MODULE_NAME}
freerdp-core
freerdp-utils
freerdp-codec
freerdp-channels
freerdp-server-channels)
freerdp-channels-server)
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Server/Sample")

View File

@ -89,11 +89,11 @@ typedef unsigned __int3264 ULONG_PTR, *PULONG_PTR;
typedef signed int LONG32;
typedef signed __int64 LONG64;
typedef CHAR* PSTR, *LPSTR;
typedef const CHAR *LPCSTR,*PCSTR;
typedef CHAR *PSTR, *LPSTR, *LPCH;
typedef const CHAR *LPCSTR, *PCSTR, *LPCCH;
typedef WCHAR* LPWSTR, *PWSTR;
typedef const WCHAR *LPCWSTR,*PCWSTR;
typedef WCHAR *LPWSTR, *PWSTR, *LPWCH;
typedef const WCHAR *LPCWSTR, *PCWSTR, *LPCWCH;
typedef CHAR *LPSTR, *LPCH;
typedef WCHAR *LPWSTR, *LPWCH;

View File

@ -15,6 +15,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(MODULE_NAME "winpr")
set(MODULE_PREFIX "WINPR")
if (APPLE)
# flat_namespace should be avoided, but is required for -undefined warning. Since WinPR currently has
# a lot of undefined symbols in use, use this hack until they're filled out.
@ -30,25 +33,28 @@ file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}")
foreach(FILEPATH ${FILEPATHS})
if(${FILEPATH} MATCHES "^([^/]*)//${FILENAME}")
string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" WINPR_MODULE ${FILEPATH})
set(WINPR_MODULES ${WINPR_MODULES} ${WINPR_MODULE})
string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" ${MODULE_PREFIX}_SUBMODULE ${FILEPATH})
set(${MODULE_PREFIX}_SUBMODULES ${${MODULE_PREFIX}_SUBMODULES} ${${MODULE_PREFIX}_SUBMODULE})
endif()
endforeach(FILEPATH)
foreach(WINPR_MODULE ${WINPR_MODULES})
add_subdirectory(${WINPR_MODULE})
foreach(${MODULE_PREFIX}_SUBMODULE ${${MODULE_PREFIX}_SUBMODULES})
add_subdirectory(${${MODULE_PREFIX}_SUBMODULE})
endforeach()
if(WITH_MONOLITHIC_BUILD)
foreach(WINPR_MODULE ${WINPR_MODULES})
set(WINPR_OBJECTS ${WINPR_OBJECTS} "$<TARGET_OBJECTS:winpr-${WINPR_MODULE}>")
foreach(${MODULE_PREFIX}_SUBMODULE ${${MODULE_PREFIX}_SUBMODULES})
set(${MODULE_PREFIX}_OBJECTS ${${MODULE_PREFIX}_OBJECTS} "$<TARGET_OBJECTS:${MODULE_NAME}-${${MODULE_PREFIX}_SUBMODULE}>")
endforeach()
add_library(winpr ${WINPR_OBJECTS})
set_target_properties(winpr PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_OBJECTS})
target_link_libraries(winpr ${WINPR_LIBS})
install(TARGETS winpr DESTINATION ${CMAKE_INSTALL_LIBDIR})
set_target_properties(${MODULE_NAME} PROPERTIES LINKER_LANGUAGE C)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
target_link_libraries(${MODULE_NAME} ${WINPR_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/libwinpr")
endif()