cmake: add support for solution groups

This commit is contained in:
Marc-André Moreau 2012-09-30 22:58:59 -04:00
parent a18ebef019
commit fcc9f91302
38 changed files with 532 additions and 285 deletions

View File

@ -49,6 +49,9 @@ include(GetGitRevisionDescription)
git_describe(GIT_REVISION --match "[0-9]*" --abbrev=4 --tags --always)
message(STATUS "Git Revision ${GIT_REVISION}")
# Turn on solution folders (2.8.4+)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# Default to release build type
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")

View File

@ -1,9 +1,7 @@
# FreeRDP: A Remote Desktop Protocol Client
# libfreerdp-cache 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(FREERDP_CACHE_SRCS
set(MODULE_NAME "freerdp-cache")
set(MODULE_PREFIX "FREERDP_CACHE")
set(${MODULE_PREFIX}_SRCS
brush.c
pointer.c
bitmap.c
@ -28,22 +29,22 @@ set(FREERDP_CACHE_SRCS
cache.c)
if(WITH_MONOLITHIC_BUILD)
add_library(freerdp-cache OBJECT ${FREERDP_CACHE_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(freerdp-cache ${FREERDP_CACHE_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(freerdp-cache PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
set(FREERDP_CACHE_LIBS)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
set(FREERDP_LIBS ${FREERDP_LIBS} ${FREERDP_CACHE_LIBS} PARENT_SCOPE)
set(FREERDP_LIBS ${FREERDP_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
else()
set(FREERDP_CACHE_LIBS ${FREERDP_CACHE_LIBS}
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
freerdp-core
freerdp-utils)
target_link_libraries(freerdp-cache ${FREERDP_CACHE_LIBS})
install(TARGETS freerdp-cache DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP")

View File

@ -1,9 +1,7 @@
# FreeRDP: A Remote Desktop Protocol Client
# libfreerdp-channels 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,32 +15,35 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(FREERDP_CHANNELS_SRCS
set(MODULE_NAME "freerdp-channels")
set(MODULE_PREFIX "FREERDP_CHANNELS")
set(${MODULE_PREFIX}_SRCS
libchannels.c
libchannels.h
wtsvc.c
wtsvc.h)
if(WITH_MONOLITHIC_BUILD)
add_library(freerdp-channels OBJECT ${FREERDP_CHANNELS_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(freerdp-channels ${FREERDP_CHANNELS_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(freerdp-channels PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
set(FREERDP_CHANNELS_LIBS)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
set(FREERDP_CHANNELS_LIBS ${FREERDP_CHANNELS_LIBS} winpr)
set(FREERDP_LIBS ${FREERDP_LIBS} ${FREERDP_CHANNELS_LIBS} PARENT_SCOPE)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr)
set(FREERDP_LIBS ${FREERDP_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
else()
set(FREERDP_CHANNELS_LIBS ${FREERDP_CHANNELS_LIBS}
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
freerdp-utils)
set(FREERDP_CHANNELS_LIBS ${FREERDP_CHANNELS_LIBS}
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
winpr-synch)
target_link_libraries(freerdp-channels ${FREERDP_CHANNELS_LIBS})
install(TARGETS freerdp-channels DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP")

View File

@ -1,9 +1,7 @@
# FreeRDP: A Remote Desktop Protocol Client
# libfreerdp-codec 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(FREERDP_CODEC_SRCS
set(MODULE_NAME "freerdp-codec")
set(MODULE_PREFIX "FREERDP_CODEC")
set(${MODULE_PREFIX}_SRCS
bitmap.c
color.c
rfx_bitstream.h
@ -46,18 +47,18 @@ set(FREERDP_CODEC_SRCS
mppc_enc.c
jpeg.c)
set(FREERDP_CODEC_SSE2_SRCS
set(${MODULE_PREFIX}_SSE2_SRCS
rfx_sse2.c
rfx_sse2.h
nsc_sse2.c
nsc_sse2.h)
set(FREERDP_CODEC_NEON_SRCS
set(${MODULE_PREFIX}_NEON_SRCS
rfx_neon.c
rfx_neon.h)
if(WITH_SSE2)
set(FREERDP_CODEC_SRCS ${FREERDP_CODEC_SRCS} ${FREERDP_CODEC_SSE2_SRCS})
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} ${${MODULE_PREFIX}_SSE2_SRCS})
if(CMAKE_COMPILER_IS_GNUCC)
set_property(SOURCE rfx_sse2.c nsc_sse2.c PROPERTY COMPILE_FLAGS "-msse2")
@ -69,7 +70,7 @@ if(WITH_SSE2)
endif()
if(WITH_NEON)
set(FREERDP_CODEC_SRCS ${FREERDP_CODEC_SRCS} ${FREERDP_CODEC_NEON_SRCS})
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} ${${MODULE_PREFIX}_NEON_SRCS})
set_property(SOURCE rfx_neon.c PROPERTY COMPILE_FLAGS "-mfpu=neon -mfloat-abi=softfp")
endif()
@ -78,22 +79,24 @@ if(WITH_JPEG)
endif()
if(WITH_MONOLITHIC_BUILD)
add_library(freerdp-codec OBJECT ${FREERDP_CODEC_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(freerdp-codec ${FREERDP_CODEC_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(freerdp-codec PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
set(FREERDP_CODEC_LIBS
set(${MODULE_PREFIX}_LIBS
${FREERDP_JPEG_LIBS})
if(WITH_MONOLITHIC_BUILD)
set(FREERDP_LIBS ${FREERDP_LIBS} ${FREERDP_CODEC_LIBS} PARENT_SCOPE)
set(FREERDP_LIBS ${FREERDP_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
else()
set(FREERDP_CODEC_LIBS ${FREERDP_CODEC_LIBS}
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
freerdp-utils)
target_link_libraries(freerdp-codec ${FREERDP_CODEC_LIBS})
install(TARGETS freerdp-codec DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP")

View File

@ -1,8 +1,6 @@
# FreeRDP: A Remote Desktop Protocol Client
# libfreerdp-core cmake build script
#
# Copyright 2011 O.S. Systems Software Ltda.
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
@ -17,12 +15,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(MODULE_NAME "freerdp-core")
set(MODULE_PREFIX "FREERDP_CORE")
add_definitions(-DEXT_PATH="${FREERDP_EXTENSION_PATH}")
include_directories(${OPENSSL_INCLUDE_DIR})
include_directories(${ZLIB_INCLUDE_DIRS})
set(FREERDP_CORE_SRCS
set(${MODULE_PREFIX}_SRCS
activation.c
activation.h
extension.c
@ -92,42 +93,44 @@ set(FREERDP_CORE_SRCS
peer.h)
if(WITH_MONOLITHIC_BUILD)
add_library(freerdp-core OBJECT ${FREERDP_CORE_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(freerdp-core ${FREERDP_CORE_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(freerdp-core PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
set(FREERDP_CORE_LIBS winpr)
set(${MODULE_PREFIX}_LIBS winpr)
else()
set(FREERDP_CORE_LIBS
set(${MODULE_PREFIX}_LIBS
winpr-utils
winpr-sspi)
if(NOT WIN32)
set(FREERDP_CORE_LIBS ${FREERDP_CORE_LIBS} winpr-registry)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-registry)
endif()
endif()
if(WIN32)
set(FREERDP_CORE_LIBS ${FREERDP_CORE_LIBS} ws2_32)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ws2_32)
else()
set(FREERDP_CORE_LIBS ${FREERDP_CORE_LIBS} ${ZLIB_LIBRARIES})
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${ZLIB_LIBRARIES})
endif()
set(FREERDP_CORE_LIBS ${FREERDP_CORE_LIBS} ${OPENSSL_LIBRARIES})
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${OPENSSL_LIBRARIES})
if(WITH_MONOLITHIC_BUILD)
set(FREERDP_LIBS ${FREERDP_LIBS} ${FREERDP_CORE_LIBS} PARENT_SCOPE)
set(FREERDP_LIBS ${FREERDP_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
else()
set(FREERDP_CORE_LIBS ${FREERDP_CORE_LIBS}
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
freerdp-utils
freerdp-codec
freerdp-crypto
freerdp-locale)
target_link_libraries(freerdp-core ${FREERDP_CORE_LIBS})
install(TARGETS freerdp-core DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP")

View File

@ -1,9 +1,7 @@
# FreeRDP: A Remote Desktop Protocol Client
# libfreerdp-crypto 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(FREERDP_CRYPTO_SRCS
set(MODULE_NAME "freerdp-crypto")
set(MODULE_PREFIX "FREERDP_CRYPTO")
set(${MODULE_PREFIX}_SRCS
er.c
der.c
ber.c
@ -28,39 +29,42 @@ set(FREERDP_CRYPTO_SRCS
tls.c)
if(WITH_MONOLITHIC_BUILD)
add_library(freerdp-crypto OBJECT ${FREERDP_CRYPTO_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(freerdp-crypto ${FREERDP_CRYPTO_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
include_directories(${OPENSSL_INCLUDE_DIR})
include_directories(${ZLIB_INCLUDE_DIRS})
set_target_properties(freerdp-crypto PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
set(FREERDP_CRYPTO_LIBS
set(${MODULE_PREFIX}_LIBS
${OPENSSL_LIBRARIES})
if(WITH_MONOLITHIC_BUILD)
set(FREERDP_CRYPTO_LIBS ${FREERDP_CRYPTO_LIBS} winpr)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr)
else()
set(FREERDP_CRYPTO_LIBS ${FREERDP_CRYPTO_LIBS} winpr-sspi)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-sspi)
if(NOT WIN32)
set(FREERDP_CRYPTO_LIBS ${FREERDP_CRYPTO_LIBS} winpr-library)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-library)
endif()
endif()
if(WIN32)
set(FREERDP_CRYPTO_LIBS ${FREERDP_CRYPTO_LIBS} ws2_32)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ws2_32)
else()
set(FREERDP_CRYPTO_LIBS ${FREERDP_CRYPTO_LIBS} ${ZLIB_LIBRARIES})
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${ZLIB_LIBRARIES})
endif()
if(WITH_MONOLITHIC_BUILD)
set(FREERDP_LIBS ${FREERDP_LIBS} ${FREERDP_CRYPTO_LIBS} PARENT_SCOPE)
set(FREERDP_LIBS ${FREERDP_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
else()
set(FREERDP_CRYPTO_LIBS ${FREERDP_CRYPTO_LIBS} freerdp-utils)
target_link_libraries(freerdp-crypto ${FREERDP_CRYPTO_LIBS})
install(TARGETS freerdp-crypto DESTINATION ${CMAKE_INSTALL_LIBDIR})
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-utils)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP")

View File

@ -1,9 +1,7 @@
# FreeRDP: A Remote Desktop Protocol Client
# libfreerdp-gdi 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,9 +15,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(MODULE_NAME "freerdp-gdi")
set(MODULE_PREFIX "FREERDP_GDI")
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
set(FREERDP_GDI_SRCS
set(${MODULE_PREFIX}_SRCS
8bpp.c
16bpp.c
32bpp.c
@ -39,24 +40,23 @@ set(FREERDP_GDI_SRCS
gdi.h)
if(WITH_MONOLITHIC_BUILD)
add_library(freerdp-gdi OBJECT ${FREERDP_GDI_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(freerdp-gdi ${FREERDP_GDI_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(freerdp-gdi PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
set(FREERDP_GDI_LIBS)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
set(FREERDP_LIBS ${FREERDP_LIBS} ${FREERDP_GDI_LIBS} PARENT_SCOPE)
set(FREERDP_LIBS ${FREERDP_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
else()
set(FREERDP_GDI_LIBS ${FREERDP_GDI_LIBS}
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
freerdp-core
freerdp-cache
freerdp-codec)
target_link_libraries(freerdp-gdi ${FREERDP_GDI_LIBS})
install(TARGETS freerdp-gdi DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP")

View File

@ -1,9 +1,7 @@
# FreeRDP: A Remote Desktop Protocol Client
# libfreerdp-locale 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(FREERDP_LOCALE_SRCS
set(MODULE_NAME "freerdp-locale")
set(MODULE_PREFIX "FREERDP_LOCALE")
set(${MODULE_PREFIX}_SRCS
virtual_key_codes.c
keyboard_layout.c
keyboard.c
@ -25,21 +26,21 @@ set(FREERDP_LOCALE_SRCS
timezone.c
liblocale.h)
set(FREERDP_LOCALE_X11_SRCS
set(${MODULE_PREFIX}_X11_SRCS
xkb_layout_ids.c
xkb_layout_ids.h)
set(FREERDP_LOCALE_X11_KEYMAP_SRCS
set(${MODULE_PREFIX}_X11_KEYMAP_SRCS
keyboard_keymap.c
keyboard_keymap.h
keyboard_x11.c
keyboard_x11.h)
set(FREERDP_LOCALE_XKBFILE_SRCS
set(${MODULE_PREFIX}_XKBFILE_SRCS
keyboard_xkbfile.c
keyboard_xkbfile.h)
set(FREERDP_LOCALE_SUN_SRCS
set(${MODULE_PREFIX}_SUN_SRCS
keyboard_sun.c
keyboard_sun.h)
@ -47,44 +48,45 @@ if(CMAKE_SYSTEM_NAME MATCHES Solaris)
set(WITH_SUN true)
endif()
set(FREERDP_LOCALE_LIBS)
if(NOT WIN32)
find_suggested_package(X11)
if(WITH_X11)
add_definitions(-DWITH_X11)
include_directories(${X11_INCLUDE_DIRS})
set(FREERDP_LOCALE_SRCS ${FREERDP_LOCALE_SRCS} ${FREERDP_LOCALE_X11_SRCS})
set(FREERDP_LOCALE_LIBS ${FREERDP_LOCALE_LIBS} ${X11_LIBRARIES})
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} ${${MODULE_PREFIX}_X11_SRCS})
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${X11_LIBRARIES})
if(WITH_SUN)
add_definitions(-DWITH_SUN)
set(FREERDP_LOCALE_SRCS ${FREERDP_LOCALE_SRCS} ${FREERDP_LOCALE_SUN_SRCS})
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} ${${MODULE_PREFIX}_SUN_SRCS})
elseif(NOT APPLE)
find_suggested_package(XKBFile)
endif()
if(WITH_XKBFILE)
add_definitions(-DWITH_XKBFILE)
include_directories(${XKBFILE_INCLUDE_DIRS})
set(FREERDP_LOCALE_SRCS ${FREERDP_LOCALE_SRCS} ${FREERDP_LOCALE_XKBFILE_SRCS})
set(FREERDP_LOCALE_LIBS ${FREERDP_LOCALE_LIBS} ${XKBFILE_LIBRARIES})
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} ${${MODULE_PREFIX}_XKBFILE_SRCS})
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${XKBFILE_LIBRARIES})
else()
set(FREERDP_LOCALE_SRCS ${FREERDP_LOCALE_SRCS} ${FREERDP_LOCALE_X11_KEYMAP_SRCS})
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} ${${MODULE_PREFIX}_X11_KEYMAP_SRCS})
endif()
endif()
endif()
if(WITH_MONOLITHIC_BUILD)
add_library(freerdp-locale OBJECT ${FREERDP_LOCALE_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(freerdp-locale ${FREERDP_LOCALE_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(freerdp-locale PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
set(FREERDP_LIBS ${FREERDP_LIBS} ${FREERDP_LOCALE_LIBS} PARENT_SCOPE)
set(FREERDP_LIBS ${FREERDP_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
else()
set(FREERDP_LOCALE_LIBS ${FREERDP_LOCALE_LIBS} freerdp-utils)
target_link_libraries(freerdp-locale ${FREERDP_LOCALE_LIBS})
install(TARGETS freerdp-locale DESTINATION ${CMAKE_INSTALL_LIBDIR})
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-utils)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP")

View File

@ -1,9 +1,7 @@
# FreeRDP: A Remote Desktop Protocol Client
# libfreerdp-rail 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(FREERDP_RAIL_SRCS
set(MODULE_NAME "freerdp-rail")
set(MODULE_PREFIX "FREERDP_RAIL")
set(${MODULE_PREFIX}_SRCS
window_list.c
window.c
icon.c
@ -25,19 +26,20 @@ set(FREERDP_RAIL_SRCS
librail.h)
if(WITH_MONOLITHIC_BUILD)
add_library(freerdp-rail OBJECT ${FREERDP_RAIL_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(freerdp-rail ${FREERDP_RAIL_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(freerdp-rail PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
set(FREERDP_RAIL_LIBS)
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
set(FREERDP_LIBS ${FREERDP_LIBS} ${FREERDP_RAIL_LIBS} PARENT_SCOPE)
set(FREERDP_LIBS ${FREERDP_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
else()
set(FREERDP_RAIL_LIBS ${FREERDP_RAIL_LIBS} freerdp-utils)
target_link_libraries(freerdp-rail ${FREERDP_RAIL_LIBS})
install(TARGETS freerdp-rail DESTINATION ${CMAKE_INSTALL_LIBDIR})
set(FREERDP_RAIL_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-utils)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP")

View File

@ -1,9 +1,7 @@
# FreeRDP: A Remote Desktop Protocol Client
# libfreerdp-utils 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,10 +15,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(MODULE_NAME "freerdp-utils")
set(MODULE_PREFIX "FREERDP_UTILS")
set(CMAKE_THREAD_PREFER_PTHREAD)
find_required_package(Threads)
set(FREERDP_UTILS_SRCS
set(${MODULE_PREFIX}_SRCS
args.c
dsp.c
event.c
@ -48,33 +49,37 @@ set(FREERDP_UTILS_SRCS
wait_obj.c)
if(WITH_MONOLITHIC_BUILD)
add_library(freerdp-utils OBJECT ${FREERDP_UTILS_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(freerdp-utils ${FREERDP_UTILS_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(freerdp-utils PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
set(FREERDP_UTILS_LIBS
set(${MODULE_PREFIX}_LIBS
${CMAKE_THREAD_LIBS_INIT}
${CMAKE_DL_LIBS})
if(WIN32)
set(FREERDP_UTILS_LIBS ${FREERDP_UTILS_LIBS} ws2_32)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ws2_32)
endif()
if(${CMAKE_SYSTEM_NAME} MATCHES SunOS)
set(FREERDP_UTILS_LIBS ${FREERDP_UTILS_LIBS} rt)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} rt)
endif()
if(WITH_MONOLITHIC_BUILD)
set(FREERDP_UTILS_LIBS ${FREERDP_UTILS_LIBS} winpr)
set(FREERDP_LIBS ${FREERDP_LIBS} ${FREERDP_UTILS_LIBS} PARENT_SCOPE)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr)
set(FREERDP_LIBS ${FREERDP_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
else()
if(NOT WIN32)
set(FREERDP_UTILS_LIBS ${FREERDP_UTILS_LIBS} winpr-crt)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-crt)
endif()
set(FREERDP_UTILS_LIBS ${FREERDP_UTILS_LIBS} winpr-synch)
target_link_libraries(freerdp-utils ${FREERDP_UTILS_LIBS})
install(TARGETS freerdp-utils DESTINATION ${CMAKE_INSTALL_LIBDIR})
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-synch)
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "FreeRDP")

View File

@ -15,19 +15,24 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_ASN1_SRCS
set(MODULE_NAME "winpr-asn1")
set(MODULE_PREFIX "WINPR_ASN1")
set(${MODULE_PREFIX}_SRCS
asn1.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-asn1 OBJECT ${WINPR_ASN1_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-asn1 ${WINPR_ASN1_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-asn1 PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
else()
install(TARGETS winpr-asn1 DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,32 +15,37 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_BCRYPT_SRCS
set(MODULE_NAME "winpr-bcrypt")
set(MODULE_PREFIX "WINPR_BCRYPT")
set(${MODULE_PREFIX}_SRCS
bcrypt.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-bcrypt OBJECT ${WINPR_BCRYPT_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-bcrypt ${WINPR_BCRYPT_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
include_directories(${OPENSSL_INCLUDE_DIR})
include_directories(${ZLIB_INCLUDE_DIRS})
set_target_properties(winpr-bcrypt PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set(WINPR_BCRYPT_LIBS
set(${MODULE_PREFIX}_LIBS
${ZLIB_LIBRARIES})
if(WITH_MONOLITHIC_BUILD)
set(WINPR_LIBS ${WINPR_LIBS} ${WINPR_BCRYPT_LIBS} PARENT_SCOPE)
set(WINPR_LIBS ${WINPR_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
else()
if(NOT WIN32)
set(WINPR_BCRYPT_LIBS ${WINPR_BCRYPT_LIBS} winpr-crt)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-crt)
endif()
set(WINPR_BCRYPT_LIBS ${WINPR_BCRYPT_LIBS} winpr-utils)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-utils)
target_link_libraries(winpr-bcrypt ${WINPR_BCRYPT_LIBS})
install(TARGETS winpr-bcrypt DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,21 +15,26 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_CRT_SRCS
set(MODULE_NAME "winpr-crt")
set(MODULE_PREFIX "WINPR_CRT")
set(${MODULE_PREFIX}_SRCS
alignment.c
memory.c
string.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-crt OBJECT ${WINPR_CRT_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-crt ${WINPR_CRT_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-crt PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
else()
install(TARGETS winpr-crt DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,19 +15,24 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_DSPARSE_SRCS
set(MODULE_NAME "winpr-dsparse")
set(MODULE_PREFIX "WINPR_DSPARSE")
set(${MODULE_PREFIX}_SRCS
dsparse.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-dsparse OBJECT ${WINPR_DSPARSE_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-dsparse ${WINPR_DSPARSE_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-dsparse PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
else()
install(TARGETS winpr-dsparse DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -35,3 +35,4 @@ else()
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -35,3 +35,4 @@ else()
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -40,3 +40,4 @@ else()
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,20 +15,25 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_HANDLE_SRCS
set(MODULE_NAME "winpr-handle")
set(MODULE_PREFIX "WINPR_HANDLE")
set(${MODULE_PREFIX}_SRCS
handle.c
table.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-handle OBJECT ${WINPR_HANDLE_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-handle ${WINPR_HANDLE_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-handle PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
else()
install(TARGETS winpr-handle DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,19 +15,24 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_HEAP_SRCS
set(MODULE_NAME "winpr-heap")
set(MODULE_PREFIX "WINPR_HEAP")
set(${MODULE_PREFIX}_SRCS
heap.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-heap OBJECT ${WINPR_HEAP_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-heap ${WINPR_HEAP_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-heap PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
else()
install(TARGETS winpr-heap DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,20 +15,28 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_INTERLOCKED_SRCS
set(MODULE_NAME "winpr-interlocked")
set(MODULE_PREFIX "WINPR_INTERLOCKED")
set(${MODULE_PREFIX}_SRCS
interlocked.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-interlocked OBJECT ${WINPR_INTERLOCKED_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-interlocked ${WINPR_INTERLOCKED_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-interlocked PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
else()
install(TARGETS winpr-interlocked DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")
if(BUILD_TESTING)
add_subdirectory(test)
endif()

View File

@ -0,0 +1,3 @@
TestInterlocked
TestInterlocked.c

View File

@ -0,0 +1,25 @@
set(MODULE_NAME "TestInterlocked")
set(MODULE_PREFIX "TEST_INTERLOCKED")
set(${MODULE_PREFIX}_DRIVER ${MODULE_NAME}.c)
set(${MODULE_PREFIX}_TESTS
TestInterlockedSList.c)
create_test_sourcelist(${MODULE_PREFIX}_SRCS
${${MODULE_PREFIX}_DRIVER}
${${MODULE_PREFIX}_TESTS})
add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
if(NOT WIN32)
target_link_libraries(${MODULE_NAME} winpr-interlocked)
endif()
foreach(test ${${MODULE_PREFIX}_TESTS})
get_filename_component(TestName ${test} NAME_WE)
add_test(${TestName} ${EXECUTABLE_OUTPUT_PATH}/${MODULE_NAME} ${TestName})
endforeach()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR\\Test")

View File

@ -0,0 +1,84 @@
#include <stdio.h>
#include <malloc.h>
#include <winpr/crt.h>
#include <winpr/windows.h>
#include <winpr/interlocked.h>
typedef struct _PROGRAM_ITEM
{
SLIST_ENTRY ItemEntry;
ULONG Signature;
} PROGRAM_ITEM, *PPROGRAM_ITEM;
int TestInterlockedSList(int argc, char* argv[])
{
ULONG Count;
PSLIST_ENTRY pFirstEntry;
PSLIST_ENTRY pListEntry;
PSLIST_HEADER pListHead;
PPROGRAM_ITEM pProgramItem;
/* Initialize the list header to a MEMORY_ALLOCATION_ALIGNMENT boundary. */
pListHead = (PSLIST_HEADER) _aligned_malloc(sizeof(SLIST_HEADER), MEMORY_ALLOCATION_ALIGNMENT);
if( NULL == pListHead )
{
printf("Memory allocation failed.\n");
return -1;
}
InitializeSListHead(pListHead);
/* Insert 10 items into the list. */
for (Count = 1; Count <= 10; Count += 1)
{
pProgramItem = (PPROGRAM_ITEM) _aligned_malloc(sizeof(PROGRAM_ITEM), MEMORY_ALLOCATION_ALIGNMENT);
if (!pProgramItem)
{
printf("Memory allocation failed.\n");
return -1;
}
pProgramItem->Signature = Count;
pFirstEntry = InterlockedPushEntrySList(pListHead, &(pProgramItem->ItemEntry));
}
/* Remove 10 items from the list and display the signature. */
for (Count = 10; Count >= 1; Count -= 1)
{
pListEntry = InterlockedPopEntrySList(pListHead);
if (!pListEntry)
{
printf("List is empty.\n");
return -1;
}
pProgramItem = (PPROGRAM_ITEM) pListEntry;
printf("Signature is %d\n", pProgramItem->Signature);
/*
* This example assumes that the SLIST_ENTRY structure is the
* first member of the structure. If your structure does not
* follow this convention, you must compute the starting address
* of the structure before calling the free function.
*/
_aligned_free(pListEntry);
}
/* Flush the list and verify that the items are gone. */
pListEntry = InterlockedFlushSList(pListHead);
pFirstEntry = InterlockedPopEntrySList(pListHead);
if (pFirstEntry)
{
printf("Error: List is not empty.\n");
return -1;
}
_aligned_free(pListHead);
return 0;
}

View File

@ -35,3 +35,4 @@ else()
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,19 +15,24 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_LIBRARY_SRCS
set(MODULE_NAME "winpr-library")
set(MODULE_PREFIX "WINPR_LIBRARY")
set(${MODULE_PREFIX}_SRCS
library.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-library OBJECT ${WINPR_LIBRARY_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-library ${WINPR_LIBRARY_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-library PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
else()
install(TARGETS winpr-library DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -35,3 +35,4 @@ else()
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,22 +15,27 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_REGISTRY_SRCS
set(MODULE_NAME "winpr-registry")
set(MODULE_PREFIX "WINPR_REGISTRY")
set(${MODULE_PREFIX}_SRCS
registry_reg.c
registry_reg.h
registry.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-registry OBJECT ${WINPR_REGISTRY_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-registry ${WINPR_REGISTRY_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-registry PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
else()
target_link_libraries(winpr-registry winpr-utils)
install(TARGETS winpr-registry DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_link_libraries(${MODULE_NAME} winpr-utils)
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,43 +15,57 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_RPC_SRCS
set(MODULE_NAME "winpr-rpc")
set(MODULE_PREFIX "WINPR_RPC")
set(${MODULE_PREFIX}_SRCS
rpc.c
ndr.c
ndr_array.c ndr_array.h
ndr_context.c ndr_context.h
ndr_correlation.c ndr_correlation.h
ndr_pointer.c ndr_pointer.h
ndr_private.c ndr_private.h
ndr_simple.c ndr_simple.h
ndr_string.c ndr_string.h
ndr_structure.c ndr_structure.h
ndr_union.c ndr_union.h
ndr_array.c
ndr_array.h
ndr_context.c
ndr_context.h
ndr_correlation.c
ndr_correlation.h
ndr_pointer.c
ndr_pointer.h
ndr_private.c
ndr_private.h
ndr_simple.c
ndr_simple.h
ndr_string.c
ndr_string.h
ndr_structure.c
ndr_structure.h
ndr_union.c
ndr_union.h
midl.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-rpc OBJECT ${WINPR_RPC_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-rpc ${WINPR_RPC_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
include_directories(${OPENSSL_INCLUDE_DIR})
include_directories(${ZLIB_INCLUDE_DIRS})
set_target_properties(winpr-rpc PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set(WINPR_RPC_LIBS
set(${MODULE_PREFIX}_LIBS
${OPENSSL_LIBRARIES})
if(WIN32)
set(WINPR_RPC_LIBS ${WINPR_RPC_LIBS} ws2_32)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ws2_32)
else()
set(WINPR_RPC_LIBS ${WINPR_RPC_LIBS} ${ZLIB_LIBRARIES})
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${ZLIB_LIBRARIES})
endif()
if(WITH_MONOLITHIC_BUILD)
set(WINPR_LIBS ${WINPR_LIBS} ${WINPR_RPC_LIBS} PARENT_SCOPE)
set(WINPR_LIBS ${WINPR_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
else()
target_link_libraries(winpr-rpc ${WINPR_RPC_LIBS})
install(TARGETS winpr-rpc DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,7 +15,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_SSPI_NTLM_SRCS
set(MODULE_NAME "winpr-sspi")
set(MODULE_PREFIX "WINPR_SSPI")
set(${MODULE_PREFIX}_NTLM_SRCS
NTLM/ntlm_av_pairs.c
NTLM/ntlm_av_pairs.h
NTLM/ntlm_compute.c
@ -25,73 +28,74 @@ set(WINPR_SSPI_NTLM_SRCS
NTLM/ntlm.c
NTLM/ntlm.h)
set(WINPR_SSPI_NEGOTIATE_SRCS
set(${MODULE_PREFIX}_NEGOTIATE_SRCS
Negotiate/negotiate.c
Negotiate/negotiate.h)
set(WINPR_SSPI_SCHANNEL_SRCS
set(${MODULE_PREFIX}_SCHANNEL_SRCS
Schannel/schannel.c
Schannel/schannel.h)
set(WINPR_SSPI_CREDSSP_SRCS
set(${MODULE_PREFIX}_CREDSSP_SRCS
CredSSP/credssp.c)
set(WINPR_SSPI_SRCS
${WINPR_SSPI_CREDSSP_SRCS}
set(${MODULE_PREFIX}_SRCS
${${MODULE_PREFIX}_CREDSSP_SRCS}
sspi.c
sspi.h)
if(NOT WITH_NATIVE_SSPI)
set(WINPR_SSPI_SRCS
${WINPR_SSPI_NTLM_SRCS}
${WINPR_SSPI_KERBEROS_SRCS}
${WINPR_SSPI_NEGOTIATE_SRCS}
${WINPR_SSPI_SCHANNEL_SRCS}
${WINPR_SSPI_SRCS})
set(${MODULE_PREFIX}_SRCS
${${MODULE_PREFIX}_NTLM_SRCS}
${${MODULE_PREFIX}_KERBEROS_SRCS}
${${MODULE_PREFIX}_NEGOTIATE_SRCS}
${${MODULE_PREFIX}_SCHANNEL_SRCS}
${${MODULE_PREFIX}_SRCS})
endif()
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-sspi OBJECT ${WINPR_SSPI_SRCS})
add_library(${MODULE_NAME} OBJECT ${WINPR_SSPI_SRCS})
else()
add_library(winpr-sspi ${WINPR_SSPI_SRCS})
add_library(${MODULE_NAME} ${WINPR_SSPI_SRCS})
endif()
include_directories(${ZLIB_INCLUDE_DIRS})
include_directories(${OPENSSL_INCLUDE_DIR})
set_target_properties(winpr-sspi PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set(WINPR_SSPI_LIBS
set(${MODULE_PREFIX}_LIBS
${ZLIB_LIBRARIES}
${OPENSSL_LIBRARIES})
if(WIN32)
set(WINPR_SSPI_LIBS ${WINPR_SSPI_LIBS} ws2_32)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ws2_32)
else()
set(WINPR_SSPI_LIBS ${WINPR_SSPI_LIBS} ${ZLIB_LIBRARIES})
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${ZLIB_LIBRARIES})
endif()
if(WITH_MONOLITHIC_BUILD)
set(WINPR_SSPI_LIBS ${WINPR_SSPI_LIBS} winpr)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr)
else()
if (NOT WIN32)
set(WINPR_SSPI_LIBS ${WINPR_SSPI_LIBS}
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
winpr-crt
winpr-sysinfo
winpr-registry)
endif()
set(WINPR_SSPI_LIBS ${WINPR_SSPI_LIBS} winpr-utils)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-utils)
endif()
if(WITH_MONOLITHIC_BUILD)
set(WINPR_LIBS ${WINPR_LIBS} ${WINPR_SSPI_LIBS} PARENT_SCOPE)
set(WINPR_LIBS ${WINPR_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
else()
target_link_libraries(winpr-sspi ${WINPR_SSPI_LIBS})
install(TARGETS winpr-sspi DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")
if(BUILD_TESTING)
add_subdirectory(test)
endif()

View File

@ -16,6 +16,10 @@ create_test_sourcelist(${MODULE_PREFIX}_SRCS
add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
if(WIN32)
target_link_libraries(${MODULE_NAME} secur32)
endif()
target_link_libraries(${MODULE_NAME} winpr-sspi)
foreach(test ${${MODULE_PREFIX}_TESTS})
@ -23,3 +27,4 @@ foreach(test ${${MODULE_PREFIX}_TESTS})
add_test(${TestName} ${EXECUTABLE_OUTPUT_PATH}/${MODULE_NAME} ${TestName})
endforeach()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR\\Test")

View File

@ -15,19 +15,24 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_SSPICLI_SRCS
set(MODULE_NAME "winpr-sspicli")
set(MODULE_PREFIX "WINPR_SSPICLI")
set(${MODULE_PREFIX}_SRCS
sspicli.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-sspicli OBJECT ${WINPR_SSPICLI_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-sspicli ${WINPR_SSPICLI_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-sspicli PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
else()
install(TARGETS winpr-sspicli DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -43,7 +43,7 @@ else()
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-synch PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set(${MODULE_PREFIX}_LIBS
${CMAKE_THREAD_LIBS_INIT}
@ -64,3 +64,4 @@ else()
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,19 +15,24 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_SYSINFO_SRCS
set(MODULE_NAME "winpr-sysinfo")
set(MODULE_PREFIX "WINPR_SYSINFO")
set(${MODULE_PREFIX}_SRCS
sysinfo.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-sysinfo OBJECT ${WINPR_SYSINFO_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-sysinfo ${WINPR_SYSINFO_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-sysinfo PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
else()
install(TARGETS winpr-sysinfo DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,39 +15,43 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(MODULE_NAME "winpr-thread")
set(MODULE_PREFIX "WINPR_THREAD")
set(CMAKE_THREAD_PREFER_PTHREAD)
find_required_package(Threads)
set(WINPR_THREAD_SRCS
set(${MODULE_PREFIX}_SRCS
process.c
processor.c
thread.c
tls.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-thread OBJECT ${WINPR_THREAD_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-thread ${WINPR_THREAD_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-thread PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set(WINPR_SYNCH_LIBS
set(${MODULE_PREFIX}_LIBS
${CMAKE_THREAD_LIBS_INIT}
${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(WITH_MONOLITHIC_BUILD)
set(WINPR_LIBS ${WINPR_LIBS} ${WINPR_SYNCH_LIBS} PARENT_SCOPE)
set(WINPR_LIBS ${WINPR_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
else()
if(NOT WIN32)
set(WINPR_SYNCH_LIBS ${WINPR_SYNCH_LIBS} winpr-handle)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-handle)
endif()
target_link_libraries(winpr-thread ${WINPR_SYNCH_LIBS})
install(TARGETS winpr-thread DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,19 +15,24 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_TIMEZONE_SRCS
set(MODULE_NAME "winpr-timezone")
set(MODULE_PREFIX "WINPR_TIMEZONE")
set(${MODULE_PREFIX}_SRCS
timezone.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-timezone OBJECT ${WINPR_TIMEZONE_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-timezone ${WINPR_TIMEZONE_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-timezone PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
else()
install(TARGETS winpr-timezone DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,7 +15,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_UTILS_SRCS
set(MODULE_NAME "winpr-utils")
set(MODULE_PREFIX "WINPR_UTILS")
set(${MODULE_PREFIX}_SRCS
ntlm.c
print.c
sam.c
@ -25,24 +28,26 @@ include_directories(${ZLIB_INCLUDE_DIRS})
include_directories(${OPENSSL_INCLUDE_DIR})
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-utils OBJECT ${WINPR_UTILS_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-utils ${WINPR_UTILS_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-utils PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set(WINPR_UTILS_LIBS
set(${MODULE_PREFIX}_LIBS
${ZLIB_LIBRARIES}
${OPENSSL_LIBRARIES})
if(WITH_MONOLITHIC_BUILD)
set(WINPR_LIBS ${WINPR_LIBS} ${WINPR_UTILS_LIBS} PARENT_SCOPE)
set(WINPR_LIBS ${WINPR_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
else()
if (NOT WIN32)
set(WINPR_UTILS_LIBS ${WINPR_UTILS_LIBS} winpr-crt)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr-crt)
endif()
target_link_libraries(winpr-utils ${WINPR_UTILS_LIBS})
install(TARGETS winpr-utils DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,19 +15,24 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_WINHTTP_SRCS
set(MODULE_NAME "winpr-winhttp")
set(MODULE_PREFIX "WINPR_WINHTTP")
set(${MODULE_PREFIX}_SRCS
winhttp.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-winhttp OBJECT ${WINPR_WINHTTP_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-winhttp ${WINPR_WINHTTP_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-winhttp PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
if(WITH_MONOLITHIC_BUILD)
else()
install(TARGETS winpr-winhttp DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")

View File

@ -15,24 +15,29 @@
# See the License for the specific language governing permissions and
# limitations under the License.
set(WINPR_WINSOCK_SRCS
set(MODULE_NAME "winpr-winsock")
set(MODULE_PREFIX "WINPR_WINSOCK")
set(${MODULE_PREFIX}_SRCS
winsock.c)
if(WITH_MONOLITHIC_BUILD)
add_library(winpr-winsock OBJECT ${WINPR_WINSOCK_SRCS})
add_library(${MODULE_NAME} OBJECT ${${MODULE_PREFIX}_SRCS})
else()
add_library(winpr-winsock ${WINPR_WINSOCK_SRCS})
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
endif()
set_target_properties(winpr-winsock PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${WINPR_VERSION_FULL} SOVERSION ${WINPR_VERSION} PREFIX "lib")
if(WIN32)
set(WINPR_WINSOCK_LIBS ${WINPR_WINSOCK_LIBS} ws2_32)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ws2_32)
endif()
if(WITH_MONOLITHIC_BUILD)
set(WINPR_LIBS ${WINPR_LIBS} ${WINPR_WINSOCK_LIBS} PARENT_SCOPE)
set(WINPR_LIBS ${WINPR_LIBS} ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
else()
target_link_libraries(winpr-winsock ${WINPR_WINSOCK_LIBS})
install(TARGETS winpr-winsock DESTINATION ${CMAKE_INSTALL_LIBDIR})
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR")