comparison Resources/Archives/OrthancCppClient.cmake @ 534:31f1b7d5d7d2 laaw

cleaning up
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 19 Jul 2013 17:17:36 +0200
parents OrthancCppClient/Package/OrthancCppClient.cmake@49a1228d6fe7
children
comparison
equal deleted inserted replaced
531:7f9467b5f33b 534:31f1b7d5d7d2
1 include_directories(${ORTHANC_ROOT}/OrthancCppClient/Package/Laaw)
2
3 set(STATIC_BUILD ON)
4 include(${ORTHANC_ROOT}/Resources/CMake/DownloadPackage.cmake)
5 include(${ORTHANC_ROOT}/Resources/CMake/JsonCppConfiguration.cmake)
6 include(${ORTHANC_ROOT}/Resources/CMake/LibCurlConfiguration.cmake)
7 include(${ORTHANC_ROOT}/Resources/CMake/LibPngConfiguration.cmake)
8 include(${ORTHANC_ROOT}/Resources/CMake/BoostConfiguration.cmake)
9 include(${ORTHANC_ROOT}/Resources/CMake/ZlibConfiguration.cmake)
10
11 if (${CMAKE_COMPILER_IS_GNUCXX})
12 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -pedantic -Wno-implicit-function-declaration") # --std=c99 makes libcurl not to compile
13 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -Wno-long-long -Wno-variadic-macros")
14 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed")
15 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
16 elseif (${MSVC})
17 add_definitions(-D_CRT_SECURE_NO_WARNINGS=1)
18 endif()
19
20 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
21 if (${CMAKE_SIZEOF_VOID_P} EQUAL 4)
22 set(WINDOWS_DEF ${ORTHANC_ROOT}/OrthancCppClient/Package/Build/Windows32.def)
23 elseif (${CMAKE_SIZEOF_VOID_P} EQUAL 8)
24 set(WINDOWS_DEF ${ORTHANC_ROOT}/OrthancCppClient/Package/Build/Windows64.def)
25 else()
26 message(FATAL_ERROR "Support your platform here")
27 endif()
28 endif()
29
30 add_library(OrthancCppClient SHARED
31 ${THIRD_PARTY_SOURCES}
32 ${ORTHANC_ROOT}/Core/OrthancException.cpp
33 ${ORTHANC_ROOT}/Core/Enumerations.cpp
34 ${ORTHANC_ROOT}/Core/Toolbox.cpp
35 ${ORTHANC_ROOT}/Core/HttpClient.cpp
36 ${ORTHANC_ROOT}/Core/MultiThreading/ArrayFilledByThreads.cpp
37 ${ORTHANC_ROOT}/Core/MultiThreading/ThreadedCommandProcessor.cpp
38 ${ORTHANC_ROOT}/Core/MultiThreading/SharedMessageQueue.cpp
39 ${ORTHANC_ROOT}/Core/FileFormats/PngReader.cpp
40 ${ORTHANC_ROOT}/OrthancCppClient/OrthancConnection.cpp
41 ${ORTHANC_ROOT}/OrthancCppClient/Series.cpp
42 ${ORTHANC_ROOT}/OrthancCppClient/Study.cpp
43 ${ORTHANC_ROOT}/OrthancCppClient/Instance.cpp
44 ${ORTHANC_ROOT}/OrthancCppClient/Patient.cpp
45 ${ORTHANC_ROOT}/OrthancCppClient/Package/SharedLibrary.cpp
46 ${ORTHANC_ROOT}/Resources/sha1/sha1.cpp
47 ${ORTHANC_ROOT}/Resources/md5/md5.c
48 ${ORTHANC_ROOT}/Resources/base64/base64.cpp
49 ${WINDOWS_DEF}
50 )
51
52 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
53 set_target_properties(OrthancCppClient
54 PROPERTIES LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined -Wl,--version-script=${ORTHANC_ROOT}/OrthancCppClient/Package/Laaw/VersionScript.map"
55 )
56 target_link_libraries(OrthancCppClient pthread)
57 else()
58 set_target_properties(OrthancCppClient
59 PROPERTIES LINK_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--allow-multiple-definition -static-libgcc -static-libstdc++"
60 )
61 target_link_libraries(OrthancCppClient ws2_32)
62 endif()