Mercurial > hg > orthanc-webviewer
annotate Resources/CMake/BoostConfiguration.cmake @ 23:7a0af291cc90
Synchronization with Orthanc mainline
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 01 Jun 2015 11:52:28 +0200 |
parents | 02f7a0400a91 |
children |
rev | line source |
---|---|
0 | 1 # Orthanc - A Lightweight, RESTful DICOM Store |
2 # Copyright (C) 2012-2015 Sebastien Jodogne, Medical Physics | |
3 # Department, University Hospital of Liege, Belgium | |
4 # | |
5 # This program is free software: you can redistribute it and/or | |
6 # modify it under the terms of the GNU Affero General Public License | |
7 # as published by the Free Software Foundation, either version 3 of | |
8 # the License, or (at your option) any later version. | |
9 # | |
10 # This program is distributed in the hope that it will be useful, but | |
11 # WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 # Affero General Public License for more details. | |
14 # | |
15 # You should have received a copy of the GNU Affero General Public License | |
16 # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
17 | |
18 | |
19 if (STATIC_BUILD OR NOT USE_SYSTEM_BOOST) | |
20 set(BOOST_STATIC 1) | |
21 else() | |
22 include(FindBoost) | |
23 set(BOOST_STATIC 0) | |
23
7a0af291cc90
Synchronization with Orthanc mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
24 find_package(Boost COMPONENTS system thread filesystem locale) |
0 | 25 |
26 if (NOT Boost_FOUND) | |
27 message(FATAL_ERROR "Unable to locate Boost on this system") | |
28 endif() | |
29 | |
30 include_directories(${Boost_INCLUDE_DIRS}) | |
31 link_libraries(${Boost_LIBRARIES}) | |
32 endif() | |
33 | |
34 | |
35 if (BOOST_STATIC) | |
36 # Parameters for Boost 1.55.0 | |
37 set(BOOST_NAME boost_1_55_0) | |
38 set(BOOST_BCP_SUFFIX bcpdigest-0.7.4) | |
39 set(BOOST_MD5 "409f7a0e4fb1f5659d07114f3133b67b") | |
40 set(BOOST_FILESYSTEM_SOURCES_DIR "${BOOST_NAME}/libs/filesystem/src") | |
41 | |
42 set(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME}) | |
43 DownloadPackage( | |
44 "${BOOST_MD5}" | |
45 "http://www.montefiore.ulg.ac.be/~jodogne/Orthanc/ThirdPartyDownloads/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz" | |
46 "${BOOST_SOURCES_DIR}" | |
47 ) | |
48 | |
49 add_definitions( | |
50 # Static build of Boost | |
51 -DBOOST_ALL_NO_LIB | |
52 -DBOOST_ALL_NOLIB | |
53 -DBOOST_DATE_TIME_NO_LIB | |
54 -DBOOST_THREAD_BUILD_LIB | |
55 -DBOOST_PROGRAM_OPTIONS_NO_LIB | |
56 -DBOOST_REGEX_NO_LIB | |
57 -DBOOST_SYSTEM_NO_LIB | |
58 -DBOOST_LOCALE_NO_LIB | |
59 ) | |
60 | |
61 if (${CMAKE_COMPILER_IS_GNUCXX}) | |
62 add_definitions(-isystem ${BOOST_SOURCES_DIR}) | |
63 endif() | |
64 | |
65 include_directories( | |
66 ${BOOST_SOURCES_DIR} | |
67 ) | |
68 | |
69 list(APPEND BOOST_SOURCES | |
70 ${BOOST_SOURCES_DIR}/libs/system/src/error_code.cpp | |
23
7a0af291cc90
Synchronization with Orthanc mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
71 ${BOOST_SOURCES_DIR}/libs/locale/src/encoding/codepage.cpp |
0 | 72 ) |
73 | |
74 | |
75 ## Boost::thread | |
76 | |
77 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR | |
78 ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" OR | |
79 ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD") | |
80 list(APPEND BOOST_SOURCES | |
81 ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/once.cpp | |
82 ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp | |
83 ) | |
84 | |
85 if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "LinuxStandardBase") | |
86 add_definitions(-DBOOST_HAS_SCHED_YIELD=1) | |
87 endif() | |
88 | |
89 elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
90 list(APPEND BOOST_SOURCES | |
91 ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_dll.cpp | |
92 ${BOOST_SOURCES_DIR}/libs/thread/src/win32/thread.cpp | |
93 ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_pe.cpp | |
94 ) | |
95 endif() | |
96 | |
97 | |
98 ## Boost::filesystem | |
99 | |
100 list(APPEND BOOST_SOURCES | |
101 ${BOOST_FILESYSTEM_SOURCES_DIR}/codecvt_error_category.cpp | |
102 ${BOOST_FILESYSTEM_SOURCES_DIR}/operations.cpp | |
103 ${BOOST_FILESYSTEM_SOURCES_DIR}/path.cpp | |
104 ${BOOST_FILESYSTEM_SOURCES_DIR}/path_traits.cpp | |
105 ) | |
106 | |
107 if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") | |
108 list(APPEND BOOST_SOURCES | |
109 ${BOOST_SOURCES_DIR}/libs/filesystem/src/utf8_codecvt_facet.cpp | |
110 ) | |
111 elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") | |
112 list(APPEND BOOST_SOURCES | |
113 ${BOOST_FILESYSTEM_SOURCES_DIR}/windows_file_codecvt.cpp | |
114 ) | |
115 endif() | |
116 | |
117 | |
118 source_group(ThirdParty\\Boost REGULAR_EXPRESSION ${BOOST_SOURCES_DIR}/.*) | |
119 endif() | |
120 | |
121 | |
122 add_definitions( | |
123 -DBOOST_HAS_FILESYSTEM_V3=1 | |
124 -DBOOST_HAS_LOCALE=1 | |
23
7a0af291cc90
Synchronization with Orthanc mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
125 -DBOOST_HAS_DATE_TIME=0 |
7a0af291cc90
Synchronization with Orthanc mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
0
diff
changeset
|
126 -DBOOST_HAS_REGEX=0 |
0 | 127 ) |