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