annotate Platforms/Generic/CMakeLists.txt @ 293:017044be141b am-2

renaming
author am@osimis.io
date Thu, 30 Aug 2018 17:15:22 +0200
parents 3c190e2bb3af
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 cmake_minimum_required(VERSION 2.8)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 project(OrthancStone)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
4
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
5 #####################################################################
212
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
6 ## Configuration for Orthanc
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
7 #####################################################################
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
8
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
9 include(../../Resources/CMake/Version.cmake)
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
10
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
11 if (ORTHANC_STONE_VERSION STREQUAL "mainline")
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
12 set(ORTHANC_FRAMEWORK_VERSION "mainline")
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
13 set(ORTHANC_FRAMEWORK_DEFAULT_SOURCE "hg")
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
14 else()
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
15 set(ORTHANC_FRAMEWORK_VERSION "1.3.2")
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
16 set(ORTHANC_FRAMEWORK_DEFAULT_SOURCE "web")
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
17 endif()
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
18
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
19 set(ORTHANC_FRAMEWORK_SOURCE "${ORTHANC_FRAMEWORK_DEFAULT_SOURCE}" CACHE STRING "Source of the Orthanc source code (can be \"hg\", \"archive\", \"web\" or \"path\")")
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
20 set(ORTHANC_FRAMEWORK_ARCHIVE "" CACHE STRING "Path to the Orthanc archive, if ORTHANC_FRAMEWORK_SOURCE is \"archive\"")
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
21 set(ORTHANC_FRAMEWORK_ROOT "" CACHE STRING "Path to the Orthanc source directory, if ORTHANC_FRAMEWORK_SOURCE is \"path\"")
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
22
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
23
5412adf19980 resort to OrthancFramework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 145
diff changeset
24 #####################################################################
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
25 ## Build a static library containing the Orthanc Stone framework
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
26 #####################################################################
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27
115
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
28 include(../../Resources/CMake/OrthancStoneParameters.cmake)
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
29
145
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 136
diff changeset
30 LIST(APPEND ORTHANC_BOOST_COMPONENTS program_options)
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 136
diff changeset
31
293
017044be141b renaming
am@osimis.io
parents: 285
diff changeset
32 SET(ENABLE_SDL ON)
017044be141b renaming
am@osimis.io
parents: 285
diff changeset
33 SET(ENABLE_QT OFF)
115
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
34 SET(ORTHANC_SANDBOXED OFF)
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
35 SET(ENABLE_CRYPTO_OPTIONS ON)
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
36 SET(ENABLE_GOOGLE_TEST ON)
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
37 SET(ENABLE_WEB_CLIENT ON)
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
38
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
39 include(../../Resources/CMake/OrthancStoneConfiguration.cmake)
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
40
127
b963f3a9a86c fix static build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 116
diff changeset
41 add_library(OrthancStone STATIC
b963f3a9a86c fix static build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 116
diff changeset
42 ${ORTHANC_STONE_SOURCES}
b963f3a9a86c fix static build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 116
diff changeset
43 )
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
45
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
46 #####################################################################
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
47 ## Build all the sample applications
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
48 #####################################################################
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
49
280
829163c6efc1 split MainWindow into a generic one and one specific to these samples
am@osimis.io
parents: 279
diff changeset
50 if (ENABLE_QT)
829163c6efc1 split MainWindow into a generic one and one specific to these samples
am@osimis.io
parents: 279
diff changeset
51 list(APPEND APPLICATIONS_SOURCES
285
3c190e2bb3af refactoring: ApplicationRunner + app hierarchy
am@osimis.io
parents: 280
diff changeset
52 ${ORTHANC_STONE_ROOT}/Applications/Samples/Qt/SampleQtApplicationRunner.h
3c190e2bb3af refactoring: ApplicationRunner + app hierarchy
am@osimis.io
parents: 280
diff changeset
53 ${ORTHANC_STONE_ROOT}/Applications/Samples/Qt/SampleMainWindow.cpp
3c190e2bb3af refactoring: ApplicationRunner + app hierarchy
am@osimis.io
parents: 280
diff changeset
54 ${ORTHANC_STONE_ROOT}/Applications/Samples/Qt/SampleMainWindow.ui
280
829163c6efc1 split MainWindow into a generic one and one specific to these samples
am@osimis.io
parents: 279
diff changeset
55 )
829163c6efc1 split MainWindow into a generic one and one specific to these samples
am@osimis.io
parents: 279
diff changeset
56 endif()
829163c6efc1 split MainWindow into a generic one and one specific to these samples
am@osimis.io
parents: 279
diff changeset
57
285
3c190e2bb3af refactoring: ApplicationRunner + app hierarchy
am@osimis.io
parents: 280
diff changeset
58 macro(BuildSingeFileSample Target Header Sample)
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 102
diff changeset
59 add_executable(${Target}
275
58e23e0dd86a renaming
am@osimis.io
parents: 250
diff changeset
60 ${ORTHANC_STONE_ROOT}/Applications/Samples/SampleMainNative.cpp
221
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
61 ${ORTHANC_STONE_ROOT}/Applications/Samples/SampleInteractor.h
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
62 ${ORTHANC_STONE_ROOT}/Applications/Samples/SampleApplicationBase.h
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
63 ${ORTHANC_STONE_ROOT}/Applications/Samples/${Header}
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 102
diff changeset
64 ${APPLICATIONS_SOURCES}
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 102
diff changeset
65 )
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 set_target_properties(${Target} PROPERTIES COMPILE_DEFINITIONS ORTHANC_STONE_SAMPLE=${Sample})
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67 target_link_libraries(${Target} OrthancStone)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68 endmacro()
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69
116
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 115
diff changeset
70
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 115
diff changeset
71 # TODO - Re-enable all these samples!
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 102
diff changeset
72
242
092db46c6291 improved SDL/Wasm unification
am@osimis.io
parents: 235
diff changeset
73 #BuildSample(OrthancStoneEmpty EmptyApplication.h 1)
092db46c6291 improved SDL/Wasm unification
am@osimis.io
parents: 235
diff changeset
74 #BuildSample(OrthancStoneTestPattern TestPatternApplication.h 2)
092db46c6291 improved SDL/Wasm unification
am@osimis.io
parents: 235
diff changeset
75 #BuildSample(OrthancStoneSingleFrame SingleFrameApplication.h 3)
092db46c6291 improved SDL/Wasm unification
am@osimis.io
parents: 235
diff changeset
76 #BuildSample(OrthancStoneSingleVolume SingleVolumeApplication.h 4)
092db46c6291 improved SDL/Wasm unification
am@osimis.io
parents: 235
diff changeset
77 ##BuildSample(OrthancStoneBasicPetCtFusion 5)
092db46c6291 improved SDL/Wasm unification
am@osimis.io
parents: 235
diff changeset
78 ##BuildSample(OrthancStoneSynchronizedSeries 6)
092db46c6291 improved SDL/Wasm unification
am@osimis.io
parents: 235
diff changeset
79 ##BuildSample(OrthancStoneLayoutPetCtFusion 7)
285
3c190e2bb3af refactoring: ApplicationRunner + app hierarchy
am@osimis.io
parents: 280
diff changeset
80 BuildSingeFileSample(OrthancStoneSimpleViewer SimpleViewerApplication.h 8)
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
81
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
82
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
83 #####################################################################
20
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
84 ## Build the unit tests
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
85 #####################################################################
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
86
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
87 add_executable(UnitTests
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 102
diff changeset
88 ${GOOGLE_TEST_SOURCES}
250
5e642859267e added new Observable/Observer & MessageBroker (not used yet)
am@osimis.io
parents: 242
diff changeset
89 ${ORTHANC_STONE_ROOT}/UnitTestsSources/TestMessageBroker.cpp
215
07792a582de9 fix path
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 212
diff changeset
90 ${ORTHANC_STONE_ROOT}/UnitTestsSources/UnitTestsMain.cpp
20
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
91 )
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
92
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
93 target_link_libraries(UnitTests OrthancStone)
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
94
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
95
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
96 #####################################################################
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
97 ## Generate the documentation if Doxygen is present
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
98 #####################################################################
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
99
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
100 find_package(Doxygen)
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
101 if (DOXYGEN_FOUND)
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
102 configure_file(
215
07792a582de9 fix path
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 212
diff changeset
103 ${ORTHANC_STONE_ROOT}/Resources/OrthancStone.doxygen
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
104 ${CMAKE_CURRENT_BINARY_DIR}/OrthancStone.doxygen
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
105 @ONLY)
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
106
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
107 add_custom_target(doc
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
108 ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/OrthancStone.doxygen
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
109 COMMENT "Generating documentation with Doxygen" VERBATIM
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
110 )
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
111 else()
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
112 message("Doxygen not found. The documentation will not be built.")
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
113 endif()