Mercurial > hg > orthanc
annotate Resources/CMake/BoostConfiguration.cmake @ 2956:bfee0b9f3209
cont
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 03 Dec 2018 15:11:42 +0100 |
parents | 8341256c6941 |
children | 9cc3d40e389b |
rev | line source |
---|---|
735 | 1 if (STATIC_BUILD OR NOT USE_SYSTEM_BOOST) |
2 set(BOOST_STATIC 1) | |
3 else() | |
4 include(FindBoost) | |
5 | |
6 set(BOOST_STATIC 0) | |
7 #set(Boost_DEBUG 1) | |
8 #set(Boost_USE_STATIC_LIBS ON) | |
9 | |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
10 if (ENABLE_LOCALE) |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
11 list(APPEND ORTHANC_BOOST_COMPONENTS locale) |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
12 endif() |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
13 |
2468 | 14 list(APPEND ORTHANC_BOOST_COMPONENTS filesystem thread system date_time regex) |
2469 | 15 find_package(Boost COMPONENTS "${ORTHANC_BOOST_COMPONENTS}") |
735 | 16 |
17 if (NOT Boost_FOUND) | |
2469 | 18 foreach (item ${ORTHANC_BOOST_COMPONENTS}) |
19 string(TOUPPER ${item} tmp) | |
20 | |
21 if (Boost_${tmp}_FOUND) | |
22 set(tmp2 "found") | |
23 else() | |
24 set(tmp2 "missing") | |
25 endif() | |
26 | |
27 message("Boost component ${item} - ${tmp2}") | |
28 endforeach() | |
29 | |
735 | 30 message(FATAL_ERROR "Unable to locate Boost on this system") |
31 endif() | |
32 | |
33 # Boost releases 1.44 through 1.47 supply both V2 and V3 filesystem | |
34 # http://www.boost.org/doc/libs/1_46_1/libs/filesystem/v3/doc/index.htm | |
35 if (${Boost_VERSION} LESS 104400) | |
36 add_definitions( | |
37 -DBOOST_HAS_FILESYSTEM_V3=0 | |
38 ) | |
39 else() | |
40 add_definitions( | |
41 -DBOOST_HAS_FILESYSTEM_V3=1 | |
42 -DBOOST_FILESYSTEM_VERSION=3 | |
43 ) | |
44 endif() | |
45 | |
46 include_directories(${Boost_INCLUDE_DIRS}) | |
47 link_libraries(${Boost_LIBRARIES}) | |
48 endif() | |
49 | |
50 | |
51 if (BOOST_STATIC) | |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
52 ## |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
53 ## Parameters for static compilation of Boost |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
54 ## |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
55 |
2930
8341256c6941
upgrade to Boost 1.68 in static builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2912
diff
changeset
|
56 set(BOOST_NAME boost_1_68_0) |
8341256c6941
upgrade to Boost 1.68 in static builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2912
diff
changeset
|
57 set(BOOST_VERSION 1.68.0) |
8341256c6941
upgrade to Boost 1.68 in static builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2912
diff
changeset
|
58 set(BOOST_BCP_SUFFIX bcpdigest-1.4.3) |
8341256c6941
upgrade to Boost 1.68 in static builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2912
diff
changeset
|
59 set(BOOST_MD5 "2d272566a72343766c523e2e32313c65") |
2384 | 60 set(BOOST_URL "http://www.orthanc-server.com/downloads/third-party/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz") |
735 | 61 set(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME}) |
1537
fbf763bb1fa3
error detection in patches
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1473
diff
changeset
|
62 |
2455
6b3c0d5f65af
improved e2fsprogs
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2454
diff
changeset
|
63 if (IS_DIRECTORY "${BOOST_SOURCES_DIR}") |
6b3c0d5f65af
improved e2fsprogs
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2454
diff
changeset
|
64 set(FirstRun OFF) |
6b3c0d5f65af
improved e2fsprogs
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2454
diff
changeset
|
65 else() |
6b3c0d5f65af
improved e2fsprogs
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2454
diff
changeset
|
66 set(FirstRun ON) |
6b3c0d5f65af
improved e2fsprogs
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2454
diff
changeset
|
67 endif() |
6b3c0d5f65af
improved e2fsprogs
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2454
diff
changeset
|
68 |
1537
fbf763bb1fa3
error detection in patches
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1473
diff
changeset
|
69 DownloadPackage(${BOOST_MD5} ${BOOST_URL} "${BOOST_SOURCES_DIR}") |
735 | 70 |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
71 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
72 ## |
2878
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
73 ## Patching boost |
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
74 ## |
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
75 |
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
76 execute_process( |
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
77 COMMAND ${PATCH_EXECUTABLE} -p0 -N -i |
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
78 ${ORTHANC_ROOT}/Resources/Patches/boost-${BOOST_VERSION}-linux-standard-base.patch |
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
79 WORKING_DIRECTORY ${CMAKE_BINARY_DIR} |
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
80 RESULT_VARIABLE Failure |
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
81 ) |
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
82 |
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
83 if (FirstRun AND Failure) |
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
84 message(FATAL_ERROR "Error while patching a file") |
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
85 endif() |
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
86 |
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
87 |
320a877a1f40
making the boost patch mandatory
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2782
diff
changeset
|
88 ## |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
89 ## Generic configuration of Boost |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
90 ## |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
91 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
92 if (CMAKE_COMPILER_IS_GNUCXX) |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
93 add_definitions(-isystem ${BOOST_SOURCES_DIR}) |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
94 endif() |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
95 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
96 include_directories( |
2912
ab03dae59d6e
place Boost include directories at highest priority
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2878
diff
changeset
|
97 BEFORE ${BOOST_SOURCES_DIR} |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
98 ) |
927 | 99 |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
100 add_definitions( |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
101 # Static build of Boost |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
102 -DBOOST_ALL_NO_LIB |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
103 -DBOOST_ALL_NOLIB |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
104 -DBOOST_DATE_TIME_NO_LIB |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
105 -DBOOST_THREAD_BUILD_LIB |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
106 -DBOOST_PROGRAM_OPTIONS_NO_LIB |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
107 -DBOOST_REGEX_NO_LIB |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
108 -DBOOST_SYSTEM_NO_LIB |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
109 -DBOOST_LOCALE_NO_LIB |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
110 ) |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
111 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
112 set(BOOST_SOURCES |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
113 ${BOOST_SOURCES_DIR}/libs/system/src/error_code.cpp |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
114 ) |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
115 |
2781
13038d638097
primitives for android ndk
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2679
diff
changeset
|
116 if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "LinuxStandardBase" OR |
13038d638097
primitives for android ndk
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2679
diff
changeset
|
117 "${CMAKE_SYSTEM_NAME}" STREQUAL "Android") |
2525 | 118 add_definitions( |
119 -DBOOST_SYSTEM_USE_STRERROR=1 | |
120 ) | |
2448
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
121 endif() |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
122 |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
123 |
2369 | 124 ## |
125 ## Configuration of boost::thread | |
126 ## | |
127 | |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
128 if (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
129 CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
130 CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
131 CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD" OR |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
132 CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
133 CMAKE_SYSTEM_NAME STREQUAL "PNaCl" OR |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
134 CMAKE_SYSTEM_NAME STREQUAL "NaCl32" OR |
2782
64e3d4ab158d
find sandboxed builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2781
diff
changeset
|
135 CMAKE_SYSTEM_NAME STREQUAL "NaCl64" OR |
64e3d4ab158d
find sandboxed builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2781
diff
changeset
|
136 CMAKE_SYSTEM_NAME STREQUAL "Android") |
735 | 137 list(APPEND BOOST_SOURCES |
2063 | 138 ${BOOST_SOURCES_DIR}/libs/atomic/src/lockpool.cpp |
735 | 139 ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/once.cpp |
140 ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp | |
141 ) | |
142 | |
2057 | 143 if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "LinuxStandardBase" OR |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
144 CMAKE_SYSTEM_NAME STREQUAL "PNaCl" OR |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
145 CMAKE_SYSTEM_NAME STREQUAL "NaCl32" OR |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
146 CMAKE_SYSTEM_NAME STREQUAL "NaCl64") |
735 | 147 add_definitions(-DBOOST_HAS_SCHED_YIELD=1) |
148 endif() | |
149 | |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
150 elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") |
735 | 151 list(APPEND BOOST_SOURCES |
152 ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_dll.cpp | |
153 ${BOOST_SOURCES_DIR}/libs/thread/src/win32/thread.cpp | |
154 ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_pe.cpp | |
155 ) | |
1094
1b905ad6c913
Replace wconv by iconv under Windows
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
930
diff
changeset
|
156 |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
157 elseif (CMAKE_SYSTEM_NAME STREQUAL "Emscripten") |
2781
13038d638097
primitives for android ndk
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2679
diff
changeset
|
158 # No support for threads in asm.js/WebAssembly |
13038d638097
primitives for android ndk
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2679
diff
changeset
|
159 |
735 | 160 else() |
161 message(FATAL_ERROR "Support your platform here") | |
162 endif() | |
163 | |
927 | 164 |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
165 ## |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
166 ## Configuration of boost::regex |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
167 ## |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
168 |
735 | 169 aux_source_directory(${BOOST_SOURCES_DIR}/libs/regex/src BOOST_REGEX_SOURCES) |
170 | |
171 list(APPEND BOOST_SOURCES | |
172 ${BOOST_REGEX_SOURCES} | |
173 ) | |
174 | |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
175 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
176 ## |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
177 ## Configuration of boost::datetime |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
178 ## |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
179 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
180 list(APPEND BOOST_SOURCES |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
181 ${BOOST_SOURCES_DIR}/libs/date_time/src/gregorian/greg_month.cpp |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
182 ) |
2242
4e8e0ad2001c
move USleep() in SystemToolbox
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2186
diff
changeset
|
183 |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
184 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
185 ## |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
186 ## Configuration of boost::filesystem |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
187 ## |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
188 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
189 if (CMAKE_SYSTEM_NAME STREQUAL "PNaCl" OR |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
190 CMAKE_SYSTEM_NAME STREQUAL "NaCl32" OR |
2781
13038d638097
primitives for android ndk
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2679
diff
changeset
|
191 CMAKE_SYSTEM_NAME STREQUAL "NaCl64" OR |
13038d638097
primitives for android ndk
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2679
diff
changeset
|
192 CMAKE_SYSTEM_NAME STREQUAL "Android") |
2063 | 193 # boost::filesystem is not available on PNaCl |
194 add_definitions( | |
195 -DBOOST_HAS_FILESYSTEM_V3=0 | |
196 -D__INTEGRITY=1 | |
197 ) | |
198 else() | |
2143
fd5875662670
creation of namespace SystemToolbox
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2113
diff
changeset
|
199 add_definitions( |
fd5875662670
creation of namespace SystemToolbox
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2113
diff
changeset
|
200 -DBOOST_HAS_FILESYSTEM_V3=1 |
fd5875662670
creation of namespace SystemToolbox
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2113
diff
changeset
|
201 ) |
2063 | 202 list(APPEND BOOST_SOURCES |
2369 | 203 ${BOOST_NAME}/libs/filesystem/src/codecvt_error_category.cpp |
204 ${BOOST_NAME}/libs/filesystem/src/operations.cpp | |
205 ${BOOST_NAME}/libs/filesystem/src/path.cpp | |
206 ${BOOST_NAME}/libs/filesystem/src/path_traits.cpp | |
2063 | 207 ) |
2368 | 208 |
2369 | 209 if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR |
2374 | 210 CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR |
211 CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") | |
2369 | 212 list(APPEND BOOST_SOURCES |
213 ${BOOST_SOURCES_DIR}/libs/filesystem/src/utf8_codecvt_facet.cpp | |
214 ) | |
215 | |
216 elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows") | |
2368 | 217 list(APPEND BOOST_SOURCES |
2369 | 218 ${BOOST_NAME}/libs/filesystem/src/windows_file_codecvt.cpp |
2368 | 219 ) |
220 endif() | |
2063 | 221 endif() |
222 | |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
223 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
224 ## |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
225 ## Configuration of boost::locale |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
226 ## |
2018
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
227 |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
228 if (NOT ENABLE_LOCALE) |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
229 message("boost::locale is disabled") |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
230 else() |
2018
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
231 list(APPEND BOOST_SOURCES |
2369 | 232 ${BOOST_SOURCES_DIR}/libs/locale/src/encoding/codepage.cpp |
2018
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
233 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/generator.cpp |
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
234 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/date_time.cpp |
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
235 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/formatting.cpp |
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
236 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/ids.cpp |
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
237 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/localization_backend.cpp |
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
238 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/message.cpp |
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
239 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/mo_lambda.cpp |
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
240 ${BOOST_SOURCES_DIR}/libs/locale/src/util/codecvt_converter.cpp |
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
241 ${BOOST_SOURCES_DIR}/libs/locale/src/util/default_locale.cpp |
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
242 ${BOOST_SOURCES_DIR}/libs/locale/src/util/gregorian.cpp |
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
243 ${BOOST_SOURCES_DIR}/libs/locale/src/util/info.cpp |
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
244 ${BOOST_SOURCES_DIR}/libs/locale/src/util/locale_data.cpp |
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
245 ) |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
246 |
2448
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
247 if (CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
248 CMAKE_SYSTEM_VERSION STREQUAL "LinuxStandardBase") |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
249 list(APPEND BOOST_SOURCES |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
250 ${BOOST_SOURCES_DIR}/libs/locale/src/std/codecvt.cpp |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
251 ${BOOST_SOURCES_DIR}/libs/locale/src/std/collate.cpp |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
252 ${BOOST_SOURCES_DIR}/libs/locale/src/std/converter.cpp |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
253 ${BOOST_SOURCES_DIR}/libs/locale/src/std/numeric.cpp |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
254 ${BOOST_SOURCES_DIR}/libs/locale/src/std/std_backend.cpp |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
255 ) |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
256 |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
257 add_definitions( |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
258 -DBOOST_LOCALE_WITH_ICONV=1 |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
259 -DBOOST_LOCALE_NO_WINAPI_BACKEND=1 |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
260 -DBOOST_LOCALE_NO_POSIX_BACKEND=1 |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
261 ) |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
262 |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
263 elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
264 CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
265 CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
266 CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD" OR |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
267 CMAKE_SYSTEM_NAME STREQUAL "PNaCl" OR |
862d943115f9
working on linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2432
diff
changeset
|
268 CMAKE_SYSTEM_NAME STREQUAL "NaCl32" OR |
2513
97a74f0eac7a
loading DICOM dictionaries in sandboxed environments
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2512
diff
changeset
|
269 CMAKE_SYSTEM_NAME STREQUAL "NaCl64" OR |
97a74f0eac7a
loading DICOM dictionaries in sandboxed environments
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2512
diff
changeset
|
270 CMAKE_SYSTEM_NAME STREQUAL "Emscripten") # For WebAssembly or asm.js |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
271 list(APPEND BOOST_SOURCES |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
272 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/codecvt.cpp |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
273 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/collate.cpp |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
274 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/converter.cpp |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
275 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/numeric.cpp |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
276 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/posix_backend.cpp |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
277 ) |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
278 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
279 add_definitions( |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
280 -DBOOST_LOCALE_WITH_ICONV=1 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
281 -DBOOST_LOCALE_NO_WINAPI_BACKEND=1 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
282 -DBOOST_LOCALE_NO_STD_BACKEND=1 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
283 ) |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
284 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
285 elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows") |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
286 list(APPEND BOOST_SOURCES |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
287 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/collate.cpp |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
288 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/converter.cpp |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
289 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/lcid.cpp |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
290 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/numeric.cpp |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
291 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/win_backend.cpp |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
292 ) |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
293 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
294 add_definitions( |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
295 -DBOOST_LOCALE_NO_POSIX_BACKEND=1 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
296 -DBOOST_LOCALE_NO_STD_BACKEND=1 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
297 ) |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
298 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
299 # Starting with release 0.8.2, Orthanc statically links against |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
300 # libiconv, even on Windows. Indeed, the "WCONV" library of |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
301 # Windows XP seems not to support properly several codepages |
2369 | 302 # (notably "Latin3", "Hebrew", and "Arabic"). Set |
303 # "USE_BOOST_ICONV" to "OFF" to use WCONV anyway. | |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
304 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
305 if (USE_BOOST_ICONV) |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
306 add_definitions(-DBOOST_LOCALE_WITH_ICONV=1) |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
307 else() |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
308 add_definitions(-DBOOST_LOCALE_WITH_WCONV=1) |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
309 endif() |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
310 |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
311 else() |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
312 message(FATAL_ERROR "Support your platform here") |
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
313 endif() |
2018
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
314 endif() |
300599489cab
USE_BOOST_LOCALE_BACKENDS
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
1991
diff
changeset
|
315 |
2367
2aff870c2c58
refactoring of BoostConfiguration.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2366
diff
changeset
|
316 |
2113
0108ac01fc8e
added source_group directives for MSVC
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2065
diff
changeset
|
317 source_group(ThirdParty\\boost REGULAR_EXPRESSION ${BOOST_SOURCES_DIR}/.*) |
0108ac01fc8e
added source_group directives for MSVC
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
2065
diff
changeset
|
318 |
735 | 319 endif() |