Mercurial > hg > orthanc
comparison OrthancFramework/Resources/CMake/OrthancFrameworkParameters.cmake @ 4044:d25f4c0fa160 framework
splitting code into OrthancFramework and OrthancServer
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 10 Jun 2020 20:30:34 +0200 |
parents | Resources/CMake/OrthancFrameworkParameters.cmake@100fbe970762 |
children | e00f3d089991 |
comparison
equal
deleted
inserted
replaced
4043:6c6239aec462 | 4044:d25f4c0fa160 |
---|---|
1 ##################################################################### | |
2 ## Versioning information | |
3 ##################################################################### | |
4 | |
5 # Version of the build, should always be "mainline" except in release branches | |
6 set(ORTHANC_VERSION "mainline") | |
7 | |
8 # Version of the database schema. History: | |
9 # * Orthanc 0.1.0 -> Orthanc 0.3.0 = no versioning | |
10 # * Orthanc 0.3.1 = version 2 | |
11 # * Orthanc 0.4.0 -> Orthanc 0.7.2 = version 3 | |
12 # * Orthanc 0.7.3 -> Orthanc 0.8.4 = version 4 | |
13 # * Orthanc 0.8.5 -> Orthanc 0.9.4 = version 5 | |
14 # * Orthanc 0.9.5 -> mainline = version 6 | |
15 set(ORTHANC_DATABASE_VERSION 6) | |
16 | |
17 # Version of the Orthanc API, can be retrieved from "/system" URI in | |
18 # order to check whether new URI endpoints are available even if using | |
19 # the mainline version of Orthanc | |
20 set(ORTHANC_API_VERSION "7") | |
21 | |
22 | |
23 ##################################################################### | |
24 ## CMake parameters tunable by the user | |
25 ##################################################################### | |
26 | |
27 # Support of static compilation | |
28 set(ALLOW_DOWNLOADS OFF CACHE BOOL "Allow CMake to download packages") | |
29 set(STATIC_BUILD OFF CACHE BOOL "Static build of the third-party libraries (necessary for Windows)") | |
30 | |
31 # Generic parameters of the build | |
32 set(ENABLE_CIVETWEB ON CACHE BOOL "Use Civetweb instead of Mongoose (Mongoose was the default embedded HTTP server in Orthanc <= 1.5.1)") | |
33 set(ENABLE_PKCS11 OFF CACHE BOOL "Enable PKCS#11 for HTTPS client authentication using hardware security modules and smart cards") | |
34 set(ENABLE_PROFILING OFF CACHE BOOL "Whether to enable the generation of profiling information with gprof") | |
35 set(ENABLE_SSL ON CACHE BOOL "Include support for SSL") | |
36 set(ENABLE_LUA_MODULES OFF CACHE BOOL "Enable support for loading external Lua modules (only meaningful if using static version of the Lua engine)") | |
37 | |
38 # Parameters to fine-tune linking against system libraries | |
39 set(USE_SYSTEM_BOOST ON CACHE BOOL "Use the system version of Boost") | |
40 set(USE_SYSTEM_CIVETWEB ON CACHE BOOL "Use the system version of Civetweb (experimental)") | |
41 set(USE_SYSTEM_CURL ON CACHE BOOL "Use the system version of LibCurl") | |
42 set(USE_SYSTEM_GOOGLE_TEST ON CACHE BOOL "Use the system version of Google Test") | |
43 set(USE_SYSTEM_JSONCPP ON CACHE BOOL "Use the system version of JsonCpp") | |
44 set(USE_SYSTEM_LIBICONV ON CACHE BOOL "Use the system version of libiconv") | |
45 set(USE_SYSTEM_LIBICU ON CACHE BOOL "Use the system version of libicu") | |
46 set(USE_SYSTEM_LIBJPEG ON CACHE BOOL "Use the system version of libjpeg") | |
47 set(USE_SYSTEM_LIBP11 OFF CACHE BOOL "Use the system version of libp11 (PKCS#11 wrapper library)") | |
48 set(USE_SYSTEM_LIBPNG ON CACHE BOOL "Use the system version of libpng") | |
49 set(USE_SYSTEM_LUA ON CACHE BOOL "Use the system version of Lua") | |
50 set(USE_SYSTEM_MONGOOSE ON CACHE BOOL "Use the system version of Mongoose") | |
51 set(USE_SYSTEM_OPENSSL ON CACHE BOOL "Use the system version of OpenSSL") | |
52 set(USE_SYSTEM_PUGIXML ON CACHE BOOL "Use the system version of Pugixml") | |
53 set(USE_SYSTEM_SQLITE ON CACHE BOOL "Use the system version of SQLite") | |
54 set(USE_SYSTEM_UUID ON CACHE BOOL "Use the system version of the uuid library from e2fsprogs") | |
55 set(USE_SYSTEM_ZLIB ON CACHE BOOL "Use the system version of ZLib") | |
56 | |
57 # Parameters specific to DCMTK | |
58 set(DCMTK_DICTIONARY_DIR "" CACHE PATH "Directory containing the DCMTK dictionaries \"dicom.dic\" and \"private.dic\" (only when using system version of DCMTK)") | |
59 set(DCMTK_STATIC_VERSION "3.6.5" CACHE STRING "Version of DCMTK to be used in static builds (can be \"3.6.0\", \"3.6.2\", \"3.6.4\", or \"3.6.5\")") | |
60 set(USE_DCMTK_362_PRIVATE_DIC ON CACHE BOOL "Use the dictionary of private tags from DCMTK 3.6.2 if using DCMTK 3.6.0") | |
61 set(USE_SYSTEM_DCMTK ON CACHE BOOL "Use the system version of DCMTK") | |
62 set(ENABLE_DCMTK_LOG ON CACHE BOOL "Enable logging internal to DCMTK") | |
63 set(ENABLE_DCMTK_JPEG ON CACHE BOOL "Enable JPEG-LS (Lossless) decompression") | |
64 set(ENABLE_DCMTK_JPEG_LOSSLESS ON CACHE BOOL "Enable JPEG-LS (Lossless) decompression") | |
65 | |
66 # Advanced and distribution-specific parameters | |
67 set(USE_GOOGLE_TEST_DEBIAN_PACKAGE OFF CACHE BOOL "Use the sources of Google Test shipped with libgtest-dev (Debian only)") | |
68 set(SYSTEM_MONGOOSE_USE_CALLBACKS ON CACHE BOOL "The system version of Mongoose uses callbacks (version >= 3.7)") | |
69 set(BOOST_LOCALE_BACKEND "libiconv" CACHE STRING "Back-end for locales that is used by Boost (can be \"gcc\", \"libiconv\", \"icu\", or \"wconv\" on Windows)") | |
70 set(USE_PUGIXML ON CACHE BOOL "Use the Pugixml parser (turn off only for debug)") | |
71 set(USE_LEGACY_JSONCPP OFF CACHE BOOL "Use the old branch 0.x.y of JsonCpp, that does not require a C++11 compiler (for LSB and old versions of Visual Studio)") | |
72 set(USE_LEGACY_LIBICU OFF CACHE BOOL "Use icu icu4c-58_2, latest version not requiring a C++11 compiler (for LSB and old versions of Visual Studio)") | |
73 set(MSVC_MULTIPLE_PROCESSES OFF CACHE BOOL "Add the /MP option to build with multiple processes if using Visual Studio") | |
74 set(EMSCRIPTEN_SET_LLVM_WASM_BACKEND OFF CACHE BOOL "Sets the compiler flags required to use the LLVM Web Assembly backend in emscripten") | |
75 set(OPENSSL_STATIC_VERSION "1.1.1" CACHE STRING "Version of OpenSSL to be used in static builds (can be \"1.0.2\", or \"1.1.1\")") | |
76 | |
77 mark_as_advanced(USE_GOOGLE_TEST_DEBIAN_PACKAGE) | |
78 mark_as_advanced(SYSTEM_MONGOOSE_USE_CALLBACKS) | |
79 mark_as_advanced(USE_PUGIXML) | |
80 mark_as_advanced(USE_DCMTK_362_PRIVATE_DIC) | |
81 | |
82 | |
83 ##################################################################### | |
84 ## Internal CMake parameters to enable the optional subcomponents of | |
85 ## the Orthanc framework | |
86 ##################################################################### | |
87 | |
88 # These options must be set to "ON" if compiling Orthanc, but might be | |
89 # set to "OFF" by third-party projects if their associated features | |
90 # are not required | |
91 | |
92 set(ENABLE_CRYPTO_OPTIONS OFF CACHE INTERNAL "Show options related to cryptography") | |
93 set(ENABLE_JPEG OFF CACHE INTERNAL "Enable support of JPEG") | |
94 set(ENABLE_GOOGLE_TEST OFF CACHE INTERNAL "Enable support of Google Test") | |
95 set(ENABLE_LOCALE OFF CACHE INTERNAL "Enable support for locales (notably in Boost)") | |
96 set(ENABLE_LUA OFF CACHE INTERNAL "Enable support of Lua scripting") | |
97 set(ENABLE_PNG OFF CACHE INTERNAL "Enable support of PNG") | |
98 set(ENABLE_PUGIXML OFF CACHE INTERNAL "Enable support of XML through Pugixml") | |
99 set(ENABLE_SQLITE OFF CACHE INTERNAL "Enable support of SQLite databases") | |
100 set(ENABLE_ZLIB OFF CACHE INTERNAL "Enable support of zlib") | |
101 set(ENABLE_WEB_CLIENT OFF CACHE INTERNAL "Enable Web client") | |
102 set(ENABLE_WEB_SERVER OFF CACHE INTERNAL "Enable embedded Web server") | |
103 set(ENABLE_DCMTK OFF CACHE INTERNAL "Enable DCMTK") | |
104 set(ENABLE_DCMTK_NETWORKING OFF CACHE INTERNAL "Enable DICOM networking in DCMTK") | |
105 set(ENABLE_DCMTK_TRANSCODING OFF CACHE INTERNAL "Enable DICOM transcoding in DCMTK") | |
106 set(ENABLE_OPENSSL_ENGINES OFF CACHE INTERNAL "Enable support of engines in OpenSSL") | |
107 | |
108 set(ORTHANC_SANDBOXED OFF CACHE INTERNAL | |
109 "Whether Orthanc runs inside a sandboxed environment (such as Google NaCl or WebAssembly)") | |
110 | |
111 set(ORTHANC_BUILDING_FRAMEWORK_LIBRARY OFF CACHE INTERNAL | |
112 "Whether we are in the process of building the Orthanc Framework shared library") | |
113 | |
114 # | |
115 # These options can be used to turn off some modules of the Orthanc | |
116 # framework, in order to speed up the compilation time of third-party | |
117 # projects. | |
118 # | |
119 | |
120 set(ENABLE_MODULE_IMAGES ON CACHE INTERNAL "Enable module for image processing") | |
121 set(ENABLE_MODULE_JOBS ON CACHE INTERNAL "Enable module for jobs") | |
122 set(ENABLE_MODULE_DICOM ON CACHE INTERNAL "Enable module for DICOM handling") |