diff --git a/libfreerdp/CMakeLists.txt b/libfreerdp/CMakeLists.txt index 20a46bc9b..7ffee7809 100644 --- a/libfreerdp/CMakeLists.txt +++ b/libfreerdp/CMakeLists.txt @@ -19,28 +19,28 @@ if(WITH_MONOLITHIC_BUILD) set(CMAKE_POSITION_INDEPENDENT_CODE ON) endif() -add_subdirectory(utils) -add_subdirectory(gdi) -add_subdirectory(rail) -add_subdirectory(cache) -add_subdirectory(codec) -add_subdirectory(crypto) -add_subdirectory(channels) -add_subdirectory(locale) -add_subdirectory(core) +set(FREERDP_MODULES + utils + gdi + rail + cache + codec + crypto + channels + locale + core) + +foreach(FREERDP_MODULE ${FREERDP_MODULES}) + add_subdirectory(${FREERDP_MODULE}) +endforeach() if(WITH_MONOLITHIC_BUILD) - add_library(freerdp - $ - $ - $ - $ - $ - $ - $ - $ - $) + foreach(FREERDP_MODULE ${FREERDP_MODULES}) + set(FREERDP_OBJECTS ${FREERDP_OBJECTS} "$") + endforeach() + + add_library(freerdp ${FREERDP_OBJECTS}) set_target_properties(freerdp PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib") target_link_libraries(freerdp ${FREERDP_LIBS}) diff --git a/winpr/libwinpr/CMakeLists.txt b/winpr/libwinpr/CMakeLists.txt index 0dd4aeaf8..9a4d09885 100644 --- a/winpr/libwinpr/CMakeLists.txt +++ b/winpr/libwinpr/CMakeLists.txt @@ -25,59 +25,43 @@ if(WITH_MONOLITHIC_BUILD) set(CMAKE_POSITION_INDEPENDENT_CODE ON) endif() -add_subdirectory(crt) -add_subdirectory(utils) -add_subdirectory(heap) -add_subdirectory(path) -add_subdirectory(io) -add_subdirectory(file) -add_subdirectory(error) -add_subdirectory(environment) -add_subdirectory(interlocked) -add_subdirectory(handle) -add_subdirectory(synch) -add_subdirectory(thread) -add_subdirectory(sysinfo) -add_subdirectory(bcrypt) -add_subdirectory(dsparse) -add_subdirectory(asn1) -add_subdirectory(rpc) -add_subdirectory(sspicli) -add_subdirectory(sspi) -add_subdirectory(registry) -add_subdirectory(library) -add_subdirectory(timezone) -add_subdirectory(winsock) -add_subdirectory(winhttp) +set(WINPR_MODULES + crt + utils + heap + path + io + file + error + environment + interlocked + handle + synch + thread + sysinfo + bcrypt + dsparse + asn1 + rpc + sspicli + sspi + registry + library + timezone + winsock) + +foreach(WINPR_MODULE ${WINPR_MODULES}) + add_subdirectory(${WINPR_MODULE}) +endforeach() if(WITH_MONOLITHIC_BUILD) - add_library(winpr - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $) - - set_target_properties(winpr PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib") + + foreach(WINPR_MODULE ${WINPR_MODULES}) + set(WINPR_OBJECTS ${WINPR_OBJECTS} "$") + endforeach() + + add_library(winpr ${WINPR_OBJECTS}) + set_target_properties(winpr PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib") target_link_libraries(winpr ${WINPR_LIBS}) install(TARGETS winpr DESTINATION ${CMAKE_INSTALL_LIBDIR})