Mercurial > hg > orthanc
annotate Resources/CMake/BoostConfiguration.cmake @ 257:098661837a96 Orthanc-0.3.1
fix
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Sun, 09 Dec 2012 12:14:31 +0100 |
parents | a1b9d1e1497b |
children | b45bc565d82a 61ab5fa36754 |
rev | line source |
---|---|
8 | 1 if (${STATIC_BUILD}) |
2 SET(BOOST_STATIC 1) | |
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 |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
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 |
183 | 11 COMPONENTS filesystem thread system date_time) |
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") |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
33 # SET(BOOST_STATIC 1) |
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) | |
42 SET(BOOST_NAME boost_1_49_0) | |
43 SET(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME}) | |
81 | 44 DownloadPackage("http://switch.dl.sourceforge.net/project/boost/boost/1.49.0/${BOOST_NAME}.tar.gz" "${BOOST_SOURCES_DIR}" "${BOOST_PRELOADED}" "${BOOST_NAME}/boost ${BOOST_NAME}/libs/thread/src ${BOOST_NAME}/libs/system/src ${BOOST_NAME}/libs/filesystem/v3/src ${BOOST_NAME}/libs/locale/src ${BOOST_NAME}/libs/date_time/src") |
8 | 45 |
18 | 46 set(BOOST_SOURCES) |
8 | 47 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") |
18 | 48 list(APPEND BOOST_SOURCES |
8 | 49 ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/once.cpp |
50 ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp | |
51 ) | |
52 add_definitions( | |
53 -DBOOST_LOCALE_WITH_ICONV=1 | |
54 ) | |
193
a1b9d1e1497b
failed attempt to compile with linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
183
diff
changeset
|
55 |
a1b9d1e1497b
failed attempt to compile with linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
183
diff
changeset
|
56 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
|
57 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
|
58 endif() |
a1b9d1e1497b
failed attempt to compile with linux standard base
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
183
diff
changeset
|
59 |
8 | 60 elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
18 | 61 list(APPEND BOOST_SOURCES |
8 | 62 ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_dll.cpp |
63 ${BOOST_SOURCES_DIR}/libs/thread/src/win32/thread.cpp | |
64 ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_pe.cpp | |
65 ${BOOST_SOURCES_DIR}/libs/filesystem/v3/src/windows_file_codecvt.cpp | |
66 ) | |
67 add_definitions( | |
68 -DBOOST_LOCALE_WITH_WCONV=1 | |
69 ) | |
70 else() | |
71 message(FATAL_ERROR "Support your platform here") | |
72 endif() | |
73 | |
18 | 74 list(APPEND BOOST_SOURCES |
81 | 75 ${BOOST_SOURCES_DIR}/libs/date_time/src/gregorian/greg_month.cpp |
76 ${BOOST_SOURCES_DIR}/libs/filesystem/v3/src/codecvt_error_category.cpp | |
77 ${BOOST_SOURCES_DIR}/libs/filesystem/v3/src/operations.cpp | |
8 | 78 ${BOOST_SOURCES_DIR}/libs/filesystem/v3/src/path.cpp |
79 ${BOOST_SOURCES_DIR}/libs/filesystem/v3/src/path_traits.cpp | |
80 ${BOOST_SOURCES_DIR}/libs/locale/src/encoding/codepage.cpp | |
81 | 81 ${BOOST_SOURCES_DIR}/libs/system/src/error_code.cpp |
8 | 82 ) |
83 | |
18 | 84 list(APPEND THIRD_PARTY_SOURCES ${BOOST_SOURCES}) |
85 | |
8 | 86 add_definitions( |
87 # Static build of Boost | |
88 -DBOOST_ALL_NO_LIB | |
89 -DBOOST_ALL_NOLIB | |
90 -DBOOST_DATE_TIME_NO_LIB | |
91 -DBOOST_THREAD_BUILD_LIB | |
92 -DBOOST_PROGRAM_OPTIONS_NO_LIB | |
93 -DBOOST_REGEX_NO_LIB | |
94 -DBOOST_SYSTEM_NO_LIB | |
95 -DBOOST_LOCALE_NO_LIB | |
107
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
96 -DBOOST_HAS_LOCALE=1 |
110
fd7b0a3e6260
support of boost 1.42 for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
109
diff
changeset
|
97 -DBOOST_HAS_FILESYSTEM_V3=1 |
8 | 98 ) |
99 | |
18 | 100 if (${CMAKE_COMPILER_IS_GNUCXX}) |
101 add_definitions(-isystem ${BOOST_SOURCES_DIR}) | |
102 endif() | |
103 | |
8 | 104 include_directories( |
105 ${BOOST_SOURCES_DIR} | |
106 ) | |
107 | |
108 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
|
109 else() |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
110 add_definitions( |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
111 -DBOOST_HAS_LOCALE=0 |
3b45473c0a73
replace boost::locale with iconv for debian
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
81
diff
changeset
|
112 ) |
8 | 113 endif() |