Mercurial > hg > orthanc-stone
annotate Platforms/Generic/CMakeLists.txt @ 285:3c190e2bb3af am-2
refactoring: ApplicationRunner + app hierarchy
author | am@osimis.io |
---|---|
date | Tue, 28 Aug 2018 15:26:46 +0200 |
parents | 829163c6efc1 |
children | 017044be141b |
rev | line source |
---|---|
0 | 1 cmake_minimum_required(VERSION 2.8) |
2 project(OrthancStone) | |
3 | |
6 | 4 |
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 | 25 ## Build a static library containing the Orthanc Stone framework |
26 ##################################################################### | |
0 | 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 | 30 LIST(APPEND ORTHANC_BOOST_COMPONENTS program_options) |
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 | 41 add_library(OrthancStone STATIC |
42 ${ORTHANC_STONE_SOURCES} | |
43 ) | |
0 | 44 |
6 | 45 |
46 ##################################################################### | |
47 ## Build all the sample applications | |
48 ##################################################################### | |
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 | 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 | 66 set_target_properties(${Target} PROPERTIES COMPILE_DEFINITIONS ORTHANC_STONE_SAMPLE=${Sample}) |
67 target_link_libraries(${Target} OrthancStone) | |
68 endmacro() | |
69 | |
116 | 70 |
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 | 73 #BuildSample(OrthancStoneEmpty EmptyApplication.h 1) |
74 #BuildSample(OrthancStoneTestPattern TestPatternApplication.h 2) | |
75 #BuildSample(OrthancStoneSingleFrame SingleFrameApplication.h 3) | |
76 #BuildSample(OrthancStoneSingleVolume SingleVolumeApplication.h 4) | |
77 ##BuildSample(OrthancStoneBasicPetCtFusion 5) | |
78 ##BuildSample(OrthancStoneSynchronizedSeries 6) | |
79 ##BuildSample(OrthancStoneLayoutPetCtFusion 7) | |
285
3c190e2bb3af
refactoring: ApplicationRunner + app hierarchy
am@osimis.io
parents:
280
diff
changeset
|
80 BuildSingeFileSample(OrthancStoneSimpleViewer SimpleViewerApplication.h 8) |
6 | 81 |
82 | |
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 | 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 | 97 ## Generate the documentation if Doxygen is present |
98 ##################################################################### | |
99 | |
100 find_package(Doxygen) | |
101 if (DOXYGEN_FOUND) | |
102 configure_file( | |
215 | 103 ${ORTHANC_STONE_ROOT}/Resources/OrthancStone.doxygen |
6 | 104 ${CMAKE_CURRENT_BINARY_DIR}/OrthancStone.doxygen |
105 @ONLY) | |
106 | |
107 add_custom_target(doc | |
108 ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/OrthancStone.doxygen | |
109 COMMENT "Generating documentation with Doxygen" VERBATIM | |
110 ) | |
111 else() | |
112 message("Doxygen not found. The documentation will not be built.") | |
113 endif() |