annotate OrthancStone/Resources/CMake/OrthancStoneParameters.cmake @ 2140:04211f6fd304 default tip

todo
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 24 Jun 2024 21:01:33 +0200
parents 16c01cc201e7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
115
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 # Stone of Orthanc
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 # Department, University Hospital of Liege, Belgium
2124
16c01cc201e7 updated copyright, as Osimis is not active on Orthanc anymore
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2114
diff changeset
4 # Copyright (C) 2017-2023 Osimis S.A., Belgium
2114
c23eef785569 update year to 2024
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2077
diff changeset
5 # Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
115
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 #
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 # This program is free software: you can redistribute it and/or
1598
8563ea5d8ae4 relicensing some files, cf. osimis bm26 and chu agreement on 2020-05-20
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1597
diff changeset
8 # modify it under the terms of the GNU Lesser General Public License
115
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 # as published by the Free Software Foundation, either version 3 of
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 # the License, or (at your option) any later version.
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 #
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 # This program is distributed in the hope that it will be useful, but
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
1598
8563ea5d8ae4 relicensing some files, cf. osimis bm26 and chu agreement on 2020-05-20
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1597
diff changeset
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
8563ea5d8ae4 relicensing some files, cf. osimis bm26 and chu agreement on 2020-05-20
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1597
diff changeset
15 # Lesser General Public License for more details.
1597
f9e3a9c21c0f removed annoying whitespace
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1595
diff changeset
16 #
1598
8563ea5d8ae4 relicensing some files, cf. osimis bm26 and chu agreement on 2020-05-20
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1597
diff changeset
17 # You should have received a copy of the GNU Lesser General Public
8563ea5d8ae4 relicensing some files, cf. osimis bm26 and chu agreement on 2020-05-20
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1597
diff changeset
18 # License along with this program. If not, see
8563ea5d8ae4 relicensing some files, cf. osimis bm26 and chu agreement on 2020-05-20
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1597
diff changeset
19 # <http://www.gnu.org/licenses/>.
115
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 #####################################################################
1509
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
24 ## Select the location of the Orthanc framework
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
25 #####################################################################
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
26
1595
621e4e11783d doxygen target, more consistent ORTHANC_STONE_ROOT
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1591
diff changeset
27 set(ORTHANC_STONE_ROOT ${CMAKE_CURRENT_LIST_DIR}/../../Sources)
1512
244ad1e4e76a reorganization of folders
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1510
diff changeset
28
1509
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
29 # Parameters of the build
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
30 set(STATIC_BUILD OFF CACHE BOOL "Static build of the third-party libraries (necessary for Windows)")
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
31 set(ALLOW_DOWNLOADS OFF CACHE BOOL "Allow CMake to download packages")
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
32 set(ORTHANC_FRAMEWORK_SOURCE "${ORTHANC_FRAMEWORK_DEFAULT_SOURCE}" CACHE STRING "Source of the Orthanc framework (can be \"system\", \"hg\", \"archive\", \"web\" or \"path\")")
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
33 set(ORTHANC_FRAMEWORK_VERSION "${ORTHANC_FRAMEWORK_DEFAULT_VERSION}" CACHE STRING "Version of the Orthanc framework")
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
34 set(ORTHANC_FRAMEWORK_ARCHIVE "" CACHE STRING "Path to the Orthanc archive, if ORTHANC_FRAMEWORK_SOURCE is \"archive\"")
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
35 set(ORTHANC_FRAMEWORK_ROOT "" CACHE STRING "Path to the Orthanc source directory, if ORTHANC_FRAMEWORK_SOURCE is \"path\"")
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
36
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
37 # Advanced parameters to fine-tune linking against system libraries
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
38 set(ORTHANC_FRAMEWORK_STATIC OFF CACHE BOOL "If linking against the Orthanc framework system library, indicates whether this library was statically linked")
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
39 mark_as_advanced(ORTHANC_FRAMEWORK_STATIC)
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
40
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
41
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
42
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
43 #####################################################################
115
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 ## Import the parameters of the Orthanc Framework
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 #####################################################################
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46
1509
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
47 if (NOT ORTHANC_FRAMEWORK_SOURCE STREQUAL "system")
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
48 include(${CMAKE_CURRENT_LIST_DIR}/../Orthanc/CMake/DownloadOrthancFramework.cmake)
1530
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1512
diff changeset
49 include(${ORTHANC_FRAMEWORK_ROOT}/../Resources/CMake/OrthancFrameworkParameters.cmake)
1509
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
50
1510
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1509
diff changeset
51 unset(STANDALONE_BUILD CACHE)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1509
diff changeset
52 set(STANDALONE_BUILD ON) # Embed DCMTK's dictionaries in static builds
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1509
diff changeset
53
1509
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
54 set(ENABLE_DCMTK OFF)
1583
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1569
diff changeset
55 set(ENABLE_GOOGLE_TEST OFF)
1509
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
56 set(ENABLE_JPEG ON)
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
57 set(ENABLE_OPENSSL_ENGINES ON)
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
58 set(ENABLE_PNG ON)
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
59 set(ENABLE_SQLITE OFF)
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
60 set(ENABLE_ZLIB ON)
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
61 endif()
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
62
115
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 #####################################################################
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 ## CMake parameters tunable by the user
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67 #####################################################################
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68
1591
5887a4f8594b moving platform-specific files out of the "OrthancStone" folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1583
diff changeset
69 set(ENABLE_OPENGL ON CACHE BOOL "Enable support of OpenGL")
5887a4f8594b moving platform-specific files out of the "OrthancStone" folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1583
diff changeset
70
115
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71 # Advanced parameters to fine-tune linking against system libraries
200
03afbee0cc7b integration of Orthanc core into Stone
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 135
diff changeset
72 set(USE_SYSTEM_CAIRO ON CACHE BOOL "Use the system version of Cairo")
576
529c9617654b FontRenderer
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 573
diff changeset
73 set(USE_SYSTEM_FREETYPE ON CACHE BOOL "Use the system version of Freetype")
613
412a2d01a189 automatic initialization of glew
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 578
diff changeset
74 set(USE_SYSTEM_GLEW ON CACHE BOOL "Use the system version of glew (for Windows only)")
200
03afbee0cc7b integration of Orthanc core into Stone
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 135
diff changeset
75 set(USE_SYSTEM_PIXMAN ON CACHE BOOL "Use the system version of Pixman")
115
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
77
1509
b7210c688ca7 linking SDL samples against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1508
diff changeset
78
115
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
79 #####################################################################
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
80 ## Internal CMake parameters to enable the optional subcomponents of
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
81 ## the Stone of Orthanc
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
82 #####################################################################
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
83
1591
5887a4f8594b moving platform-specific files out of the "OrthancStone" folder
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1583
diff changeset
84 set(ENABLE_THREADS ON CACHE INTERNAL "Enable threading support (must be false for WebAssembly)")