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