Mercurial > hg > orthanc
comparison Resources/CMake/BoostConfiguration.cmake @ 2369:61371420f383
improvements
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 22 Aug 2017 22:20:26 +0200 |
parents | 5998f81bfbd1 |
children | 8ab3310dd4f7 |
comparison
equal
deleted
inserted
replaced
2368:5998f81bfbd1 | 2369:61371420f383 |
---|---|
43 | 43 |
44 set(BOOST_NAME boost_1_64_0) | 44 set(BOOST_NAME boost_1_64_0) |
45 set(BOOST_BCP_SUFFIX bcpdigest-1.3.0) | 45 set(BOOST_BCP_SUFFIX bcpdigest-1.3.0) |
46 set(BOOST_MD5 "ecb266cf46adcc7f695ad12685871174") | 46 set(BOOST_MD5 "ecb266cf46adcc7f695ad12685871174") |
47 set(BOOST_URL "http://www.orthanc-server.com/downloads/third-party/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz") | 47 set(BOOST_URL "http://www.orthanc-server.com/downloads/third-party/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz") |
48 set(BOOST_FILESYSTEM_SOURCES_DIR "${BOOST_NAME}/libs/filesystem/src") | |
49 set(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME}) | 48 set(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME}) |
50 | 49 |
51 DownloadPackage(${BOOST_MD5} ${BOOST_URL} "${BOOST_SOURCES_DIR}") | 50 DownloadPackage(${BOOST_MD5} ${BOOST_URL} "${BOOST_SOURCES_DIR}") |
52 | 51 |
53 | 52 |
73 -DBOOST_REGEX_NO_LIB | 72 -DBOOST_REGEX_NO_LIB |
74 -DBOOST_SYSTEM_NO_LIB | 73 -DBOOST_SYSTEM_NO_LIB |
75 -DBOOST_LOCALE_NO_LIB | 74 -DBOOST_LOCALE_NO_LIB |
76 ) | 75 ) |
77 | 76 |
78 | |
79 ## | |
80 ## Configuration of Boost core | |
81 ## | |
82 | |
83 set(BOOST_SOURCES | 77 set(BOOST_SOURCES |
84 ${BOOST_SOURCES_DIR}/libs/system/src/error_code.cpp | 78 ${BOOST_SOURCES_DIR}/libs/system/src/error_code.cpp |
85 ) | 79 ) |
86 | 80 |
81 | |
82 ## | |
83 ## Configuration of boost::thread | |
84 ## | |
85 | |
87 if (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR | 86 if (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR |
88 CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR | 87 CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR |
89 CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR | 88 CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR |
90 CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD" OR | 89 CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD" OR |
91 CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR | 90 CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR |
154 else() | 153 else() |
155 add_definitions( | 154 add_definitions( |
156 -DBOOST_HAS_FILESYSTEM_V3=1 | 155 -DBOOST_HAS_FILESYSTEM_V3=1 |
157 ) | 156 ) |
158 list(APPEND BOOST_SOURCES | 157 list(APPEND BOOST_SOURCES |
159 ${BOOST_FILESYSTEM_SOURCES_DIR}/codecvt_error_category.cpp | 158 ${BOOST_NAME}/libs/filesystem/src/codecvt_error_category.cpp |
160 ${BOOST_FILESYSTEM_SOURCES_DIR}/operations.cpp | 159 ${BOOST_NAME}/libs/filesystem/src/operations.cpp |
161 ${BOOST_FILESYSTEM_SOURCES_DIR}/path.cpp | 160 ${BOOST_NAME}/libs/filesystem/src/path.cpp |
162 ${BOOST_FILESYSTEM_SOURCES_DIR}/path_traits.cpp | 161 ${BOOST_NAME}/libs/filesystem/src/path_traits.cpp |
163 ) | 162 ) |
164 | 163 |
165 if (CMAKE_SYSTEM_NAME STREQUAL "Windows") | 164 if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR |
165 CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") | |
166 list(APPEND BOOST_SOURCES | |
167 ${BOOST_SOURCES_DIR}/libs/filesystem/src/utf8_codecvt_facet.cpp | |
168 ) | |
169 | |
170 elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows") | |
166 list(APPEND BOOST_SOURCES | 171 list(APPEND BOOST_SOURCES |
167 ${BOOST_FILESYSTEM_SOURCES_DIR}/windows_file_codecvt.cpp | 172 ${BOOST_NAME}/libs/filesystem/src/windows_file_codecvt.cpp |
168 ) | 173 ) |
169 endif() | 174 endif() |
170 endif() | 175 endif() |
171 | 176 |
172 | 177 |
176 | 181 |
177 if (NOT ENABLE_LOCALE) | 182 if (NOT ENABLE_LOCALE) |
178 message("boost::locale is disabled") | 183 message("boost::locale is disabled") |
179 else() | 184 else() |
180 list(APPEND BOOST_SOURCES | 185 list(APPEND BOOST_SOURCES |
186 ${BOOST_SOURCES_DIR}/libs/locale/src/encoding/codepage.cpp | |
181 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/generator.cpp | 187 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/generator.cpp |
182 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/date_time.cpp | 188 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/date_time.cpp |
183 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/formatting.cpp | 189 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/formatting.cpp |
184 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/ids.cpp | 190 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/ids.cpp |
185 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/localization_backend.cpp | 191 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/localization_backend.cpp |
199 CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR | 205 CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR |
200 CMAKE_SYSTEM_NAME STREQUAL "PNaCl" OR | 206 CMAKE_SYSTEM_NAME STREQUAL "PNaCl" OR |
201 CMAKE_SYSTEM_NAME STREQUAL "NaCl32" OR | 207 CMAKE_SYSTEM_NAME STREQUAL "NaCl32" OR |
202 CMAKE_SYSTEM_NAME STREQUAL "NaCl64") | 208 CMAKE_SYSTEM_NAME STREQUAL "NaCl64") |
203 list(APPEND BOOST_SOURCES | 209 list(APPEND BOOST_SOURCES |
204 ${BOOST_SOURCES_DIR}/libs/locale/src/encoding/codepage.cpp | |
205 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/codecvt.cpp | 210 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/codecvt.cpp |
206 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/collate.cpp | 211 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/collate.cpp |
207 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/converter.cpp | 212 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/converter.cpp |
208 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/numeric.cpp | 213 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/numeric.cpp |
209 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/posix_backend.cpp | 214 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/posix_backend.cpp |
215 -DBOOST_LOCALE_NO_STD_BACKEND=1 | 220 -DBOOST_LOCALE_NO_STD_BACKEND=1 |
216 ) | 221 ) |
217 | 222 |
218 elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows") | 223 elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows") |
219 list(APPEND BOOST_SOURCES | 224 list(APPEND BOOST_SOURCES |
220 ${BOOST_SOURCES_DIR}/libs/locale/src/encoding/codepage.cpp | |
221 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/collate.cpp | 225 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/collate.cpp |
222 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/converter.cpp | 226 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/converter.cpp |
223 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/lcid.cpp | 227 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/lcid.cpp |
224 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/numeric.cpp | 228 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/numeric.cpp |
225 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/win_backend.cpp | 229 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/win_backend.cpp |
231 ) | 235 ) |
232 | 236 |
233 # Starting with release 0.8.2, Orthanc statically links against | 237 # Starting with release 0.8.2, Orthanc statically links against |
234 # libiconv, even on Windows. Indeed, the "WCONV" library of | 238 # libiconv, even on Windows. Indeed, the "WCONV" library of |
235 # Windows XP seems not to support properly several codepages | 239 # Windows XP seems not to support properly several codepages |
236 # (notably "Latin3", "Hebrew", and "Arabic"). | 240 # (notably "Latin3", "Hebrew", and "Arabic"). Set |
241 # "USE_BOOST_ICONV" to "OFF" to use WCONV anyway. | |
237 | 242 |
238 if (USE_BOOST_ICONV) | 243 if (USE_BOOST_ICONV) |
239 add_definitions(-DBOOST_LOCALE_WITH_ICONV=1) | 244 add_definitions(-DBOOST_LOCALE_WITH_ICONV=1) |
240 else() | 245 else() |
241 add_definitions(-DBOOST_LOCALE_WITH_WCONV=1) | 246 add_definitions(-DBOOST_LOCALE_WITH_WCONV=1) |
242 endif() | 247 endif() |
243 | 248 |
244 elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR | |
245 CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") | |
246 list(APPEND BOOST_SOURCES | |
247 ${BOOST_SOURCES_DIR}/libs/filesystem/src/utf8_codecvt_facet.cpp | |
248 ${BOOST_SOURCES_DIR}/libs/locale/src/encoding/codepage.cpp | |
249 ) | |
250 | |
251 add_definitions( | |
252 -DBOOST_LOCALE_WITH_ICONV=1 | |
253 ) | |
254 | |
255 elseif (CMAKE_SYSTEM_NAME STREQUAL "Emscripten") | |
256 add_definitions( | |
257 -DBOOST_LOCALE_WITH_ICONV=1 | |
258 -DBOOST_LOCALE_NO_POSIX_BACKEND=1 | |
259 -DBOOST_LOCALE_NO_STD_BACKEND=1 | |
260 ) | |
261 | |
262 else() | 249 else() |
263 message(FATAL_ERROR "Support your platform here") | 250 message(FATAL_ERROR "Support your platform here") |
264 endif() | 251 endif() |
265 endif() | 252 endif() |
266 | 253 |