annotate Platforms/Generic/CMakeLists.txt @ 235:ce4405d98b92 am

Added SimpleViewerApplication (working in SDL)
author am@osimis.io
date Tue, 19 Jun 2018 16:02:41 +0200
parents d7b2590744f8
children 092db46c6291
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
115
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
32 SET(ORTHANC_SANDBOXED OFF)
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
33 SET(ENABLE_CRYPTO_OPTIONS ON)
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
34 SET(ENABLE_GOOGLE_TEST ON)
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
35 SET(ENABLE_WEB_CLIENT ON)
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
36
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
37 include(../../Resources/CMake/OrthancStoneConfiguration.cmake)
f598ffb81cda fix sandboxed build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 114
diff changeset
38
127
b963f3a9a86c fix static build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 116
diff changeset
39 add_library(OrthancStone STATIC
b963f3a9a86c fix static build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 116
diff changeset
40 ${ORTHANC_STONE_SOURCES}
b963f3a9a86c fix static build
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 116
diff changeset
41 )
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
43
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
44 #####################################################################
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
45 ## Build all the sample applications
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
221
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
48 macro(BuildSample Target Header Sample)
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 102
diff changeset
49 add_executable(${Target}
215
07792a582de9 fix path
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 212
diff changeset
50 ${ORTHANC_STONE_ROOT}/Applications/Samples/SampleMainSdl.cpp
221
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
51 ${ORTHANC_STONE_ROOT}/Applications/Samples/SampleApplicationContext.cpp
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
52 ${ORTHANC_STONE_ROOT}/Applications/Samples/SampleInteractor.h
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
53 ${ORTHANC_STONE_ROOT}/Applications/Samples/SampleApplicationBase.h
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
54 ${ORTHANC_STONE_ROOT}/Applications/Samples/${Header}
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 102
diff changeset
55 ${APPLICATIONS_SOURCES}
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 102
diff changeset
56 )
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57 set_target_properties(${Target} PROPERTIES COMPILE_DEFINITIONS ORTHANC_STONE_SAMPLE=${Sample})
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 target_link_libraries(${Target} OrthancStone)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59 endmacro()
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60
116
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 115
diff changeset
61
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 115
diff changeset
62 # TODO - Re-enable all these samples!
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 102
diff changeset
63
221
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
64 BuildSample(OrthancStoneEmpty EmptyApplication.h 1)
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
65 BuildSample(OrthancStoneTestPattern TestPatternApplication.h 2)
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
66 BuildSample(OrthancStoneSingleFrame SingleFrameApplication.h 3)
d7b2590744f8 wip: building applications reusable in SDL and WASM
am@osimis.io
parents: 215
diff changeset
67 BuildSample(OrthancStoneSingleVolume SingleVolumeApplication.h 4)
88
90bf4116a23c ISlicedVolume
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 81
diff changeset
68 #BuildSample(OrthancStoneBasicPetCtFusion 5)
81
8677d95753f8 switching to Oracle in SDL samples
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 62
diff changeset
69 #BuildSample(OrthancStoneSynchronizedSeries 6)
88
90bf4116a23c ISlicedVolume
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 81
diff changeset
70 #BuildSample(OrthancStoneLayoutPetCtFusion 7)
235
ce4405d98b92 Added SimpleViewerApplication (working in SDL)
am@osimis.io
parents: 221
diff changeset
71 BuildSample(OrthancStoneSimpleViewer SimpleViewerApplication.h 8)
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
72
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
73
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
74 #####################################################################
20
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
75 ## Build the unit tests
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
76 #####################################################################
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
77
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
78 add_executable(UnitTests
113
2eca030792aa using the Orthanc Framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 102
diff changeset
79 ${GOOGLE_TEST_SOURCES}
215
07792a582de9 fix path
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 212
diff changeset
80 ${ORTHANC_STONE_ROOT}/UnitTestsSources/UnitTestsMain.cpp
20
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
81 )
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
82
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
83 target_link_libraries(UnitTests OrthancStone)
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 #####################################################################
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
87 ## Generate the documentation if Doxygen is present
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
88 #####################################################################
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
89
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
90 find_package(Doxygen)
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
91 if (DOXYGEN_FOUND)
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
92 configure_file(
215
07792a582de9 fix path
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 212
diff changeset
93 ${ORTHANC_STONE_ROOT}/Resources/OrthancStone.doxygen
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
94 ${CMAKE_CURRENT_BINARY_DIR}/OrthancStone.doxygen
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
95 @ONLY)
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
96
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
97 add_custom_target(doc
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
98 ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/OrthancStone.doxygen
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
99 COMMENT "Generating documentation with Doxygen" VERBATIM
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
100 )
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
101 else()
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
102 message("Doxygen not found. The documentation will not be built.")
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
103 endif()