mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-15 00:44:19 +09:00
freerdp: improve scripts for complex modules with monolithic build option
This commit is contained in:
@@ -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
|
||||
$<TARGET_OBJECTS:freerdp-utils>
|
||||
$<TARGET_OBJECTS:freerdp-gdi>
|
||||
$<TARGET_OBJECTS:freerdp-rail>
|
||||
$<TARGET_OBJECTS:freerdp-cache>
|
||||
$<TARGET_OBJECTS:freerdp-codec>
|
||||
$<TARGET_OBJECTS:freerdp-crypto>
|
||||
$<TARGET_OBJECTS:freerdp-channels>
|
||||
$<TARGET_OBJECTS:freerdp-locale>
|
||||
$<TARGET_OBJECTS:freerdp-core>)
|
||||
|
||||
foreach(FREERDP_MODULE ${FREERDP_MODULES})
|
||||
set(FREERDP_OBJECTS ${FREERDP_OBJECTS} "$<TARGET_OBJECTS:freerdp-${FREERDP_MODULE}>")
|
||||
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})
|
||||
|
||||
@@ -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
|
||||
$<TARGET_OBJECTS:winpr-crt>
|
||||
$<TARGET_OBJECTS:winpr-utils>
|
||||
$<TARGET_OBJECTS:winpr-heap>
|
||||
$<TARGET_OBJECTS:winpr-path>
|
||||
$<TARGET_OBJECTS:winpr-io>
|
||||
$<TARGET_OBJECTS:winpr-file>
|
||||
$<TARGET_OBJECTS:winpr-error>
|
||||
$<TARGET_OBJECTS:winpr-environment>
|
||||
$<TARGET_OBJECTS:winpr-interlocked>
|
||||
$<TARGET_OBJECTS:winpr-handle>
|
||||
$<TARGET_OBJECTS:winpr-synch>
|
||||
$<TARGET_OBJECTS:winpr-thread>
|
||||
$<TARGET_OBJECTS:winpr-sysinfo>
|
||||
$<TARGET_OBJECTS:winpr-bcrypt>
|
||||
$<TARGET_OBJECTS:winpr-dsparse>
|
||||
$<TARGET_OBJECTS:winpr-asn1>
|
||||
$<TARGET_OBJECTS:winpr-rpc>
|
||||
$<TARGET_OBJECTS:winpr-sspicli>
|
||||
$<TARGET_OBJECTS:winpr-sspi>
|
||||
$<TARGET_OBJECTS:winpr-registry>
|
||||
$<TARGET_OBJECTS:winpr-library>
|
||||
$<TARGET_OBJECTS:winpr-timezone>
|
||||
$<TARGET_OBJECTS:winpr-winsock>
|
||||
$<TARGET_OBJECTS:winpr-winhttp>)
|
||||
|
||||
set_target_properties(winpr PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
|
||||
|
||||
foreach(WINPR_MODULE ${WINPR_MODULES})
|
||||
set(WINPR_OBJECTS ${WINPR_OBJECTS} "$<TARGET_OBJECTS:winpr-${WINPR_MODULE}>")
|
||||
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})
|
||||
|
||||
Reference in New Issue
Block a user