annotate Platforms/Generic/CMakeLists.txt @ 280:829163c6efc1 am-2

split MainWindow into a generic one and one specific to these samples
author am@osimis.io
date Mon, 27 Aug 2018 16:22:08 +0200
parents 8f5d7495076d
children 3c190e2bb3af
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
280
829163c6efc1 split MainWindow into a generic one and one specific to these samples
am@osimis.io
parents: 279
diff changeset
32 SET(ENABLE_SDL OFF)
829163c6efc1 split MainWindow into a generic one and one specific to these samples
am@osimis.io
parents: 279
diff changeset
33 SET(ENABLE_QT ON)
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
829163c6efc1 split MainWindow into a generic one and one specific to these samples
am@osimis.io
parents: 279
diff changeset
52 ${ORTHANC_STONE_ROOT}/Applications/Samples/Qt/MainWindow.cpp
829163c6efc1 split MainWindow into a generic one and one specific to these samples
am@osimis.io
parents: 279
diff changeset
53 ${ORTHANC_STONE_ROOT}/Applications/Samples/Qt/MainWindow.ui
829163c6efc1 split MainWindow into a generic one and one specific to these samples
am@osimis.io
parents: 279
diff changeset
54 )
829163c6efc1 split MainWindow into a generic one and one specific to these samples
am@osimis.io
parents: 279
diff changeset
55 endif()
829163c6efc1 split MainWindow into a generic one and one specific to these samples
am@osimis.io
parents: 279
diff changeset
56
221
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
57 macro(BuildSample Target Header Sample)
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 102
diff changeset
58 add_executable(${Target}
275
58e23e0dd86a renaming
am@osimis.io
parents: 250
diff changeset
59 ${ORTHANC_STONE_ROOT}/Applications/Samples/SampleMainNative.cpp
221
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
60 ${ORTHANC_STONE_ROOT}/Applications/Samples/SampleInteractor.h
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
61 ${ORTHANC_STONE_ROOT}/Applications/Samples/SampleApplicationBase.h
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
62 ${ORTHANC_STONE_ROOT}/Applications/Samples/${Header}
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 102
diff changeset
63 ${APPLICATIONS_SOURCES}
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 102
diff changeset
64 )
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 set_target_properties(${Target} PROPERTIES COMPILE_DEFINITIONS ORTHANC_STONE_SAMPLE=${Sample})
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 target_link_libraries(${Target} OrthancStone)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67 endmacro()
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68
116
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 115
diff changeset
69
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 115
diff changeset
70 # TODO - Re-enable all these samples!
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 102
diff changeset
71
242
092db46c6291 improved SDL/Wasm unification
am@osimis.io
parents: 235
diff changeset
72 #BuildSample(OrthancStoneEmpty EmptyApplication.h 1)
092db46c6291 improved SDL/Wasm unification
am@osimis.io
parents: 235
diff changeset
73 #BuildSample(OrthancStoneTestPattern TestPatternApplication.h 2)
092db46c6291 improved SDL/Wasm unification
am@osimis.io
parents: 235
diff changeset
74 #BuildSample(OrthancStoneSingleFrame SingleFrameApplication.h 3)
092db46c6291 improved SDL/Wasm unification
am@osimis.io
parents: 235
diff changeset
75 #BuildSample(OrthancStoneSingleVolume SingleVolumeApplication.h 4)
092db46c6291 improved SDL/Wasm unification
am@osimis.io
parents: 235
diff changeset
76 ##BuildSample(OrthancStoneBasicPetCtFusion 5)
092db46c6291 improved SDL/Wasm unification
am@osimis.io
parents: 235
diff changeset
77 ##BuildSample(OrthancStoneSynchronizedSeries 6)
092db46c6291 improved SDL/Wasm unification
am@osimis.io
parents: 235
diff changeset
78 ##BuildSample(OrthancStoneLayoutPetCtFusion 7)
235
ce4405d98b92 Added SimpleViewerApplication (working in SDL)
am@osimis.io
parents: 221
diff changeset
79 BuildSample(OrthancStoneSimpleViewer SimpleViewerApplication.h 8)
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
80
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 #####################################################################
20
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
83 ## Build the unit tests
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
84 #####################################################################
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 add_executable(UnitTests
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 102
diff changeset
87 ${GOOGLE_TEST_SOURCES}
250
5e642859267e added new Observable/Observer & MessageBroker (not used yet)
am@osimis.io
parents: 242
diff changeset
88 ${ORTHANC_STONE_ROOT}/UnitTestsSources/TestMessageBroker.cpp
215
07792a582de9 fix path
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 212
diff changeset
89 ${ORTHANC_STONE_ROOT}/UnitTestsSources/UnitTestsMain.cpp
20
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
90 )
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 target_link_libraries(UnitTests OrthancStone)
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
93
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 #####################################################################
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
96 ## Generate the documentation if Doxygen is present
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
97 #####################################################################
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 find_package(Doxygen)
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
100 if (DOXYGEN_FOUND)
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
101 configure_file(
215
07792a582de9 fix path
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 212
diff changeset
102 ${ORTHANC_STONE_ROOT}/Resources/OrthancStone.doxygen
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
103 ${CMAKE_CURRENT_BINARY_DIR}/OrthancStone.doxygen
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
104 @ONLY)
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
105
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
106 add_custom_target(doc
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
107 ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/OrthancStone.doxygen
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
108 COMMENT "Generating documentation with Doxygen" VERBATIM
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
109 )
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
110 else()
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
111 message("Doxygen not found. The documentation will not be built.")
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
112 endif()