annotate Orthanc/Resources/CMake/BoostConfiguration.cmake @ 175:dd1ad819ca33

sync
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 04 Jan 2018 07:34:54 +0100
parents af724b1d8440
children ab66a6baf2ae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
78
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 if (STATIC_BUILD OR NOT USE_SYSTEM_BOOST)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 set(BOOST_STATIC 1)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 else()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 include(FindBoost)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 set(BOOST_STATIC 0)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 #set(Boost_DEBUG 1)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8 #set(Boost_USE_STATIC_LIBS ON)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
10 if (ENABLE_LOCALE)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
11 list(APPEND ORTHANC_BOOST_COMPONENTS locale)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
12 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
13
78
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 find_package(Boost
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
15 COMPONENTS filesystem thread system date_time regex ${ORTHANC_BOOST_COMPONENTS})
78
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 if (NOT Boost_FOUND)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 message(FATAL_ERROR "Unable to locate Boost on this system")
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 # Boost releases 1.44 through 1.47 supply both V2 and V3 filesystem
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 # http://www.boost.org/doc/libs/1_46_1/libs/filesystem/v3/doc/index.htm
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 if (${Boost_VERSION} LESS 104400)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 add_definitions(
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 -DBOOST_HAS_FILESYSTEM_V3=0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 else()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 add_definitions(
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 -DBOOST_HAS_FILESYSTEM_V3=1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 -DBOOST_FILESYSTEM_VERSION=3
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 include_directories(${Boost_INCLUDE_DIRS})
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 link_libraries(${Boost_LIBRARIES})
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 if (BOOST_STATIC)
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
40 ##
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
41 ## Parameters for static compilation of Boost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
42 ##
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
43
175
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
44 set(BOOST_NAME boost_1_65_1)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
45 set(BOOST_BCP_SUFFIX bcpdigest-1.3.1)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
46 set(BOOST_MD5 "92c9c603e56bbd7a450a305f08747d90")
155
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 150
diff changeset
47 set(BOOST_URL "http://www.orthanc-server.com/downloads/third-party/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz")
78
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 set(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME})
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49
175
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
50 if (IS_DIRECTORY "${BOOST_SOURCES_DIR}")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
51 set(FirstRun OFF)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
52 else()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
53 set(FirstRun ON)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
54 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
55
78
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 DownloadPackage(${BOOST_MD5} ${BOOST_URL} "${BOOST_SOURCES_DIR}")
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
58
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
59 ##
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
60 ## Generic configuration of Boost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
61 ##
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
62
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
63 if (CMAKE_COMPILER_IS_GNUCXX)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
64 add_definitions(-isystem ${BOOST_SOURCES_DIR})
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
65 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
66
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
67 include_directories(
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
68 ${BOOST_SOURCES_DIR}
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
69 )
78
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
71 add_definitions(
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
72 # Static build of Boost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
73 -DBOOST_ALL_NO_LIB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
74 -DBOOST_ALL_NOLIB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
75 -DBOOST_DATE_TIME_NO_LIB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
76 -DBOOST_THREAD_BUILD_LIB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
77 -DBOOST_PROGRAM_OPTIONS_NO_LIB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
78 -DBOOST_REGEX_NO_LIB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
79 -DBOOST_SYSTEM_NO_LIB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
80 -DBOOST_LOCALE_NO_LIB
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
81 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
82
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
83 set(BOOST_SOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
84 ${BOOST_SOURCES_DIR}/libs/system/src/error_code.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
85 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
86
175
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
87 if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "LinuxStandardBase")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
88 add_definitions(-DBOOST_SYSTEM_USE_STRERROR=1)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
89
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
90 execute_process(
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
91 COMMAND ${PATCH_EXECUTABLE} -p0 -N -i
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
92 ${ORTHANC_ROOT}/Resources/Patches/boost-1.65.1-linux-standard-base.patch
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
93 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
94 RESULT_VARIABLE Failure
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
95 )
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
96
175
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
97 if (FirstRun AND Failure)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
98 message(FATAL_ERROR "Error while patching a file")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
99 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
100 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
101
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
102
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
103 ##
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
104 ## Configuration of boost::thread
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
105 ##
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
106
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
107 if (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
108 CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
109 CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
110 CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
111 CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
112 CMAKE_SYSTEM_NAME STREQUAL "PNaCl" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
113 CMAKE_SYSTEM_NAME STREQUAL "NaCl32" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
114 CMAKE_SYSTEM_NAME STREQUAL "NaCl64")
78
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
115 list(APPEND BOOST_SOURCES
141
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
116 ${BOOST_SOURCES_DIR}/libs/atomic/src/lockpool.cpp
78
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
117 ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/once.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
118 ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
119 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
120
141
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
121 if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "LinuxStandardBase" OR
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
122 CMAKE_SYSTEM_NAME STREQUAL "PNaCl" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
123 CMAKE_SYSTEM_NAME STREQUAL "NaCl32" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
124 CMAKE_SYSTEM_NAME STREQUAL "NaCl64")
78
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
125 add_definitions(-DBOOST_HAS_SCHED_YIELD=1)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
126 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
127
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
128 elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
78
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
129 list(APPEND BOOST_SOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
130 ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_dll.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
131 ${BOOST_SOURCES_DIR}/libs/thread/src/win32/thread.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
132 ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_pe.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
133 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
134
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
135 elseif (CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
159
5dc54316d68b shared copyright with osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 155
diff changeset
136
78
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
137 else()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
138 message(FATAL_ERROR "Support your platform here")
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
139 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
140
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
141
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
142 ##
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
143 ## Configuration of boost::regex
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
144 ##
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
145
78
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
146 aux_source_directory(${BOOST_SOURCES_DIR}/libs/regex/src BOOST_REGEX_SOURCES)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
147
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
148 list(APPEND BOOST_SOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
149 ${BOOST_REGEX_SOURCES}
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
150 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
151
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
152
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
153 ##
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
154 ## Configuration of boost::datetime
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
155 ##
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
156
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
157 list(APPEND BOOST_SOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
158 ${BOOST_SOURCES_DIR}/libs/date_time/src/gregorian/greg_month.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
159 )
159
5dc54316d68b shared copyright with osimis
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 155
diff changeset
160
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
161
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
162 ##
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
163 ## Configuration of boost::filesystem
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
164 ##
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
165
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
166 if (CMAKE_SYSTEM_NAME STREQUAL "PNaCl" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
167 CMAKE_SYSTEM_NAME STREQUAL "NaCl32" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
168 CMAKE_SYSTEM_NAME STREQUAL "NaCl64")
141
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
169 # boost::filesystem is not available on PNaCl
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
170 add_definitions(
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
171 -DBOOST_HAS_FILESYSTEM_V3=0
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
172 -D__INTEGRITY=1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
173 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
174 else()
150
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
175 add_definitions(
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
176 -DBOOST_HAS_FILESYSTEM_V3=1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
177 )
141
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
178 list(APPEND BOOST_SOURCES
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
179 ${BOOST_NAME}/libs/filesystem/src/codecvt_error_category.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
180 ${BOOST_NAME}/libs/filesystem/src/operations.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
181 ${BOOST_NAME}/libs/filesystem/src/path.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
182 ${BOOST_NAME}/libs/filesystem/src/path_traits.cpp
141
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
183 )
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
184
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
185 if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR
170
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 167
diff changeset
186 CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 167
diff changeset
187 CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
188 list(APPEND BOOST_SOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
189 ${BOOST_SOURCES_DIR}/libs/filesystem/src/utf8_codecvt_facet.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
190 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
191
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
192 elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
193 list(APPEND BOOST_SOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
194 ${BOOST_NAME}/libs/filesystem/src/windows_file_codecvt.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
195 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
196 endif()
141
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
197 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
198
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
199
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
200 ##
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
201 ## Configuration of boost::locale
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
202 ##
141
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
203
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
204 if (NOT ENABLE_LOCALE)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
205 message("boost::locale is disabled")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
206 else()
141
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
207 list(APPEND BOOST_SOURCES
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
208 ${BOOST_SOURCES_DIR}/libs/locale/src/encoding/codepage.cpp
141
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
209 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/generator.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
210 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/date_time.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
211 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/formatting.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
212 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/ids.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
213 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/localization_backend.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
214 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/message.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
215 ${BOOST_SOURCES_DIR}/libs/locale/src/shared/mo_lambda.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
216 ${BOOST_SOURCES_DIR}/libs/locale/src/util/codecvt_converter.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
217 ${BOOST_SOURCES_DIR}/libs/locale/src/util/default_locale.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
218 ${BOOST_SOURCES_DIR}/libs/locale/src/util/gregorian.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
219 ${BOOST_SOURCES_DIR}/libs/locale/src/util/info.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
220 ${BOOST_SOURCES_DIR}/libs/locale/src/util/locale_data.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
221 )
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
222
175
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
223 if (CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
224 CMAKE_SYSTEM_VERSION STREQUAL "LinuxStandardBase")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
225 list(APPEND BOOST_SOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
226 ${BOOST_SOURCES_DIR}/libs/locale/src/std/codecvt.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
227 ${BOOST_SOURCES_DIR}/libs/locale/src/std/collate.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
228 ${BOOST_SOURCES_DIR}/libs/locale/src/std/converter.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
229 ${BOOST_SOURCES_DIR}/libs/locale/src/std/numeric.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
230 ${BOOST_SOURCES_DIR}/libs/locale/src/std/std_backend.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
231 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
232
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
233 add_definitions(
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
234 -DBOOST_LOCALE_WITH_ICONV=1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
235 -DBOOST_LOCALE_NO_WINAPI_BACKEND=1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
236 -DBOOST_LOCALE_NO_POSIX_BACKEND=1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
237 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
238
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
239 elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
240 CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
241 CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
242 CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
243 CMAKE_SYSTEM_NAME STREQUAL "PNaCl" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
244 CMAKE_SYSTEM_NAME STREQUAL "NaCl32" OR
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 170
diff changeset
245 CMAKE_SYSTEM_NAME STREQUAL "NaCl64")
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
246 list(APPEND BOOST_SOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
247 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/codecvt.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
248 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/collate.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
249 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/converter.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
250 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/numeric.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
251 ${BOOST_SOURCES_DIR}/libs/locale/src/posix/posix_backend.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
252 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
253
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
254 add_definitions(
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
255 -DBOOST_LOCALE_WITH_ICONV=1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
256 -DBOOST_LOCALE_NO_WINAPI_BACKEND=1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
257 -DBOOST_LOCALE_NO_STD_BACKEND=1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
258 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
259
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
260 elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
261 list(APPEND BOOST_SOURCES
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
262 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/collate.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
263 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/converter.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
264 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/lcid.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
265 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/numeric.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
266 ${BOOST_SOURCES_DIR}/libs/locale/src/win32/win_backend.cpp
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
267 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
268
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
269 add_definitions(
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
270 -DBOOST_LOCALE_NO_POSIX_BACKEND=1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
271 -DBOOST_LOCALE_NO_STD_BACKEND=1
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
272 )
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
273
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
274 # Starting with release 0.8.2, Orthanc statically links against
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
275 # libiconv, even on Windows. Indeed, the "WCONV" library of
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
276 # Windows XP seems not to support properly several codepages
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
277 # (notably "Latin3", "Hebrew", and "Arabic"). Set
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
278 # "USE_BOOST_ICONV" to "OFF" to use WCONV anyway.
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
279
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
280 if (USE_BOOST_ICONV)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
281 add_definitions(-DBOOST_LOCALE_WITH_ICONV=1)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
282 else()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
283 add_definitions(-DBOOST_LOCALE_WITH_WCONV=1)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
284 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
285
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
286 else()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
287 message(FATAL_ERROR "Support your platform here")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
288 endif()
141
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
289 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 129
diff changeset
290
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 159
diff changeset
291
145
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 141
diff changeset
292 source_group(ThirdParty\\boost REGULAR_EXPRESSION ${BOOST_SOURCES_DIR}/.*)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 141
diff changeset
293
78
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
294 endif()