Mercurial > hg > orthanc
comparison Resources/CMake/BoostConfiguration.cmake @ 3228:4b9cfd92d1ae
preparing for libicu
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 14 Feb 2019 19:41:09 +0100 |
parents | 0c2a8d5e0097 |
children | 4b042ec734c1 |
comparison
equal
deleted
inserted
replaced
3227:53bb1f4b3844 | 3228:4b9cfd92d1ae |
---|---|
244 ${BOOST_SOURCES_DIR}/libs/locale/src/util/locale_data.cpp | 244 ${BOOST_SOURCES_DIR}/libs/locale/src/util/locale_data.cpp |
245 ) | 245 ) |
246 | 246 |
247 if (CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR | 247 if (CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR |
248 CMAKE_SYSTEM_VERSION STREQUAL "LinuxStandardBase") | 248 CMAKE_SYSTEM_VERSION STREQUAL "LinuxStandardBase") |
249 add_definitions( | |
250 -DBOOST_LOCALE_NO_WINAPI_BACKEND=1 | |
251 -DBOOST_LOCALE_NO_POSIX_BACKEND=1 | |
252 ) | |
253 | |
249 list(APPEND BOOST_SOURCES | 254 list(APPEND BOOST_SOURCES |
250 ${BOOST_SOURCES_DIR}/libs/locale/src/std/codecvt.cpp | 255 ${BOOST_SOURCES_DIR}/libs/locale/src/std/codecvt.cpp |
251 ${BOOST_SOURCES_DIR}/libs/locale/src/std/collate.cpp | 256 ${BOOST_SOURCES_DIR}/libs/locale/src/std/collate.cpp |
252 ${BOOST_SOURCES_DIR}/libs/locale/src/std/converter.cpp | 257 ${BOOST_SOURCES_DIR}/libs/locale/src/std/converter.cpp |
253 ${BOOST_SOURCES_DIR}/libs/locale/src/std/numeric.cpp | 258 ${BOOST_SOURCES_DIR}/libs/locale/src/std/numeric.cpp |
254 ${BOOST_SOURCES_DIR}/libs/locale/src/std/std_backend.cpp | 259 ${BOOST_SOURCES_DIR}/libs/locale/src/std/std_backend.cpp |
255 ) | 260 ) |
256 | 261 |
257 add_definitions( | 262 if (BOOST_LOCALE_BACKEND STREQUAL "iconv") |
258 -DBOOST_LOCALE_WITH_ICONV=1 | 263 add_definitions(-DBOOST_LOCALE_WITH_ICONV=1) |
259 -DBOOST_LOCALE_NO_WINAPI_BACKEND=1 | 264 elseif (BOOST_LOCALE_BACKEND STREQUAL "icu") |
260 -DBOOST_LOCALE_NO_POSIX_BACKEND=1 | 265 add_definitions(-DBOOST_LOCALE_WITH_ICU=1) |
261 ) | 266 else() |
262 | 267 message(FATAL_ERROR "Unsupported value for BOOST_LOCALE_BACKEND: ${BOOST_LOCALE_BACKEND}") |
268 endif() | |
269 | |
263 elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR | 270 elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR |
264 CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR | 271 CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR |
265 CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR | 272 CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR |
266 CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD" OR | 273 CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD" OR |
267 CMAKE_SYSTEM_NAME STREQUAL "PNaCl" OR | 274 CMAKE_SYSTEM_NAME STREQUAL "PNaCl" OR |
268 CMAKE_SYSTEM_NAME STREQUAL "NaCl32" OR | 275 CMAKE_SYSTEM_NAME STREQUAL "NaCl32" OR |
269 CMAKE_SYSTEM_NAME STREQUAL "NaCl64" OR | 276 CMAKE_SYSTEM_NAME STREQUAL "NaCl64" OR |
270 CMAKE_SYSTEM_NAME STREQUAL "Emscripten") # For WebAssembly or asm.js | 277 CMAKE_SYSTEM_NAME STREQUAL "Emscripten") # For WebAssembly or asm.js |
278 add_definitions( | |
279 -DBOOST_LOCALE_NO_WINAPI_BACKEND=1 | |
280 -DBOOST_LOCALE_NO_STD_BACKEND=1 | |
281 ) | |
282 | |
271 list(APPEND BOOST_SOURCES | 283 list(APPEND BOOST_SOURCES |
272 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/codecvt.cpp | 284 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/codecvt.cpp |
273 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/collate.cpp | 285 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/collate.cpp |
274 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/converter.cpp | 286 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/converter.cpp |
275 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/numeric.cpp | 287 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/numeric.cpp |
276 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/posix_backend.cpp | 288 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/posix_backend.cpp |
277 ) | 289 ) |
278 | 290 |
291 if (CMAKE_SYSTEM_NAME STREQUAL "Emscripten" OR | |
292 BOOST_LOCALE_BACKEND STREQUAL "iconv") | |
293 # In WebAssembly or asm.js, we rely on the version of iconv | |
294 # that is shipped with the stdlib | |
295 add_definitions(-DBOOST_LOCALE_WITH_ICONV=1) | |
296 elseif (BOOST_LOCALE_BACKEND STREQUAL "icu") | |
297 add_definitions(-DBOOST_LOCALE_WITH_ICU=1) | |
298 list(APPEND BOOST_SOURCES | |
299 ${BOOST_SOURCES_DIR}/libs/locale/src/icu/boundary.cpp | |
300 ${BOOST_SOURCES_DIR}/libs/locale/src/icu/codecvt.cpp | |
301 ${BOOST_SOURCES_DIR}/libs/locale/src/icu/collator.cpp | |
302 ${BOOST_SOURCES_DIR}/libs/locale/src/icu/conversion.cpp | |
303 ${BOOST_SOURCES_DIR}/libs/locale/src/icu/date_time.cpp | |
304 ${BOOST_SOURCES_DIR}/libs/locale/src/icu/formatter.cpp | |
305 ${BOOST_SOURCES_DIR}/libs/locale/src/icu/icu_backend.cpp | |
306 ${BOOST_SOURCES_DIR}/libs/locale/src/icu/numeric.cpp | |
307 ${BOOST_SOURCES_DIR}/libs/locale/src/icu/time_zone.cpp | |
308 ) | |
309 else() | |
310 message(FATAL_ERROR "Unsupported value for BOOST_LOCALE_BACKEND: ${BOOST_LOCALE_BACKEND}") | |
311 endif() | |
312 | |
313 elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows") | |
279 add_definitions( | 314 add_definitions( |
280 -DBOOST_LOCALE_WITH_ICONV=1 | 315 -DBOOST_LOCALE_NO_POSIX_BACKEND=1 |
281 -DBOOST_LOCALE_NO_WINAPI_BACKEND=1 | |
282 -DBOOST_LOCALE_NO_STD_BACKEND=1 | 316 -DBOOST_LOCALE_NO_STD_BACKEND=1 |
283 ) | 317 ) |
284 | 318 |
285 elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows") | |
286 list(APPEND BOOST_SOURCES | 319 list(APPEND BOOST_SOURCES |
287 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/collate.cpp | 320 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/collate.cpp |
288 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/converter.cpp | 321 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/converter.cpp |
289 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/lcid.cpp | 322 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/lcid.cpp |
290 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/numeric.cpp | 323 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/numeric.cpp |
291 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/win_backend.cpp | 324 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/win_backend.cpp |
292 ) | 325 ) |
293 | 326 |
294 add_definitions( | |
295 -DBOOST_LOCALE_NO_POSIX_BACKEND=1 | |
296 -DBOOST_LOCALE_NO_STD_BACKEND=1 | |
297 ) | |
298 | |
299 # Starting with release 0.8.2, Orthanc statically links against | 327 # Starting with release 0.8.2, Orthanc statically links against |
300 # libiconv, even on Windows. Indeed, the "WCONV" library of | 328 # libiconv, even on Windows. Indeed, the "WCONV" library of |
301 # Windows XP seems not to support properly several codepages | 329 # Windows XP seems not to support properly several codepages |
302 # (notably "Latin3", "Hebrew", and "Arabic"). Set | 330 # (notably "Latin3", "Hebrew", and "Arabic"). Set |
303 # "USE_BOOST_ICONV" to "OFF" to use WCONV anyway. | 331 # "BOOST_LOCALE_BACKEND" to "wconv" to use WCONV anyway. |
304 | 332 |
305 if (USE_BOOST_ICONV) | 333 if (BOOST_LOCALE_BACKEND STREQUAL "iconv") |
306 add_definitions(-DBOOST_LOCALE_WITH_ICONV=1) | 334 add_definitions(-DBOOST_LOCALE_WITH_ICONV=1) |
335 elseif (BOOST_LOCALE_BACKEND STREQUAL "icu") | |
336 add_definitions(-DBOOST_LOCALE_WITH_ICU=1) | |
337 elseif (BOOST_LOCALE_BACKEND STREQUAL "wconv") | |
338 message("Using Window's wconv") | |
307 else() | 339 else() |
308 add_definitions(-DBOOST_LOCALE_WITH_WCONV=1) | 340 add_definitions(-DBOOST_LOCALE_WITH_WCONV=1) |
309 endif() | 341 endif() |
310 | 342 |
311 else() | 343 else() |