Mercurial > hg > orthanc
annotate Resources/CMake/BoostConfiguration.cmake @ 626:b8322fe3bdba
possibility to disable the use of system dcmtk or boost
author | jodogne |
---|---|
date | Tue, 29 Oct 2013 09:00:44 +0100 |
parents | 5ba825b87b21 |
children | ee0d5abf7958 312d04beb0a2 |
rev | line source |
---|---|
626
b8322fe3bdba
possibility to disable the use of system dcmtk or boost
jodogne
parents:
610
diff
changeset
|
1 if (STATIC_BUILD OR NOT USE_SYSTEM_BOOST) |
608 | 2 set(BOOST_STATIC 1) |
8 | 3 else() |
107
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
4 include(FindBoost) |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
5 |
608 | 6 set(BOOST_STATIC 0) |
109 | 7 #set(Boost_DEBUG 1) |
107
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
8 #set(Boost_USE_STATIC_LIBS ON) |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
9 |
8 | 10 find_package(Boost |
608 | 11 COMPONENTS filesystem thread system date_time regex) |
107
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
12 |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
13 if (NOT Boost_FOUND) |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
14 message(FATAL_ERROR "Unable to locate Boost on this system") |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
15 endif() |
8 | 16 |
111
0fc3b69c0357
preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
110
diff
changeset
|
17 # Boost releases 1.44 through 1.47 supply both V2 and V3 filesystem |
0fc3b69c0357
preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
110
diff
changeset
|
18 # http://www.boost.org/doc/libs/1_46_1/libs/filesystem/v3/doc/index.htm |
0fc3b69c0357
preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
110
diff
changeset
|
19 if (${Boost_VERSION} LESS 104400) |
0fc3b69c0357
preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
110
diff
changeset
|
20 add_definitions( |
0fc3b69c0357
preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
110
diff
changeset
|
21 -DBOOST_HAS_FILESYSTEM_V3=0 |
0fc3b69c0357
preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
110
diff
changeset
|
22 ) |
0fc3b69c0357
preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
110
diff
changeset
|
23 else() |
0fc3b69c0357
preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
110
diff
changeset
|
24 add_definitions( |
0fc3b69c0357
preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
110
diff
changeset
|
25 -DBOOST_HAS_FILESYSTEM_V3=1 |
0fc3b69c0357
preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
110
diff
changeset
|
26 -DBOOST_FILESYSTEM_VERSION=3 |
0fc3b69c0357
preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
110
diff
changeset
|
27 ) |
0fc3b69c0357
preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
110
diff
changeset
|
28 endif() |
0fc3b69c0357
preparing for release
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
110
diff
changeset
|
29 |
107
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
30 #if (${Boost_VERSION} LESS 104800) |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
31 # boost::locale is only available from 1.48.00 |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
32 #message("Too old version of Boost (${Boost_LIB_VERSION}): Building the static version") |
608 | 33 # set(BOOST_STATIC 1) |
107
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
34 #endif() |
8 | 35 |
107
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
36 include_directories(${Boost_INCLUDE_DIRS}) |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
37 link_libraries(${Boost_LIBRARIES}) |
8 | 38 endif() |
39 | |
40 | |
41 if (BOOST_STATIC) | |
552
938d8461cf8f
revert to boost 1.54.0, use ZIP instead of TGZ because of bad directory in package
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
551
diff
changeset
|
42 # Parameters for Boost 1.54.0 |
608 | 43 set(BOOST_NAME boost_1_54_0) |
44 set(BOOST_BCP_SUFFIX bcpdigest-0.6.2) | |
45 set(BOOST_MD5 "a464288a976ba133f9b325f454cb503d") | |
46 set(BOOST_FILESYSTEM_SOURCES_DIR "${BOOST_NAME}/libs/filesystem/src") | |
550
210c96710592
switch to boost 1.54.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
47 |
608 | 48 set(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME}) |
411
5f6d75cd4b46
md5 of third party downlaods
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
382
diff
changeset
|
49 DownloadPackage( |
550
210c96710592
switch to boost 1.54.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
50 "${BOOST_MD5}" |
560
69c024f9c06b
fix of Debian bug #724947
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
555
diff
changeset
|
51 "http://www.montefiore.ulg.ac.be/~jodogne/Orthanc/ThirdPartyDownloads/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz" |
553
27d32fc6209a
simplifications to cmake, use a digest of boost 1.54.0 thanks bcp
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
552
diff
changeset
|
52 "${BOOST_SOURCES_DIR}" |
411
5f6d75cd4b46
md5 of third party downlaods
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
382
diff
changeset
|
53 ) |
8 | 54 |
18 | 55 set(BOOST_SOURCES) |
8 | 56 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") |
18 | 57 list(APPEND BOOST_SOURCES |
8 | 58 ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/once.cpp |
59 ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp | |
60 ) | |
61 add_definitions( | |
62 -DBOOST_LOCALE_WITH_ICONV=1 | |
63 ) | |
193
a1b9d1e1497b
failed attempt to compile with linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
183
diff
changeset
|
64 |
a1b9d1e1497b
failed attempt to compile with linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
183
diff
changeset
|
65 if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "LinuxStandardBase") |
a1b9d1e1497b
failed attempt to compile with linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
183
diff
changeset
|
66 add_definitions(-DBOOST_HAS_SCHED_YIELD=1) |
a1b9d1e1497b
failed attempt to compile with linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
183
diff
changeset
|
67 endif() |
a1b9d1e1497b
failed attempt to compile with linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
183
diff
changeset
|
68 |
8 | 69 elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
18 | 70 list(APPEND BOOST_SOURCES |
8 | 71 ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_dll.cpp |
72 ${BOOST_SOURCES_DIR}/libs/thread/src/win32/thread.cpp | |
73 ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_pe.cpp | |
550
210c96710592
switch to boost 1.54.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
74 ${BOOST_FILESYSTEM_SOURCES_DIR}/windows_file_codecvt.cpp |
8 | 75 ) |
76 add_definitions( | |
77 -DBOOST_LOCALE_WITH_WCONV=1 | |
78 ) | |
79 else() | |
80 message(FATAL_ERROR "Support your platform here") | |
81 endif() | |
82 | |
610 | 83 aux_source_directory(${BOOST_SOURCES_DIR}/libs/regex/src BOOST_REGEX_SOURCES) |
84 | |
18 | 85 list(APPEND BOOST_SOURCES |
610 | 86 ${BOOST_REGEX_SOURCES} |
81 | 87 ${BOOST_SOURCES_DIR}/libs/date_time/src/gregorian/greg_month.cpp |
550
210c96710592
switch to boost 1.54.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
88 ${BOOST_FILESYSTEM_SOURCES_DIR}/codecvt_error_category.cpp |
210c96710592
switch to boost 1.54.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
89 ${BOOST_FILESYSTEM_SOURCES_DIR}/operations.cpp |
210c96710592
switch to boost 1.54.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
90 ${BOOST_FILESYSTEM_SOURCES_DIR}/path.cpp |
210c96710592
switch to boost 1.54.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
411
diff
changeset
|
91 ${BOOST_FILESYSTEM_SOURCES_DIR}/path_traits.cpp |
8 | 92 ${BOOST_SOURCES_DIR}/libs/locale/src/encoding/codepage.cpp |
81 | 93 ${BOOST_SOURCES_DIR}/libs/system/src/error_code.cpp |
8 | 94 ) |
95 | |
18 | 96 list(APPEND THIRD_PARTY_SOURCES ${BOOST_SOURCES}) |
97 | |
8 | 98 add_definitions( |
99 # Static build of Boost | |
100 -DBOOST_ALL_NO_LIB | |
101 -DBOOST_ALL_NOLIB | |
102 -DBOOST_DATE_TIME_NO_LIB | |
103 -DBOOST_THREAD_BUILD_LIB | |
104 -DBOOST_PROGRAM_OPTIONS_NO_LIB | |
105 -DBOOST_REGEX_NO_LIB | |
106 -DBOOST_SYSTEM_NO_LIB | |
107 -DBOOST_LOCALE_NO_LIB | |
107
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
108 -DBOOST_HAS_LOCALE=1 |
110
fd7b0a3e6260
support of boost 1.42 for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
109
diff
changeset
|
109 -DBOOST_HAS_FILESYSTEM_V3=1 |
8 | 110 ) |
111 | |
18 | 112 if (${CMAKE_COMPILER_IS_GNUCXX}) |
113 add_definitions(-isystem ${BOOST_SOURCES_DIR}) | |
114 endif() | |
115 | |
8 | 116 include_directories( |
117 ${BOOST_SOURCES_DIR} | |
118 ) | |
119 | |
120 source_group(ThirdParty\\Boost REGULAR_EXPRESSION ${BOOST_SOURCES_DIR}/.*) | |
107
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
121 else() |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
122 add_definitions( |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
123 -DBOOST_HAS_LOCALE=0 |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
124 ) |
8 | 125 endif() |