annotate Platforms/Generic/CMakeLists.txt @ 276:5de5699ad570 am-2

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