annotate CMakeLists.txt @ 20:946377d1c992

skeleton for unit tests
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 17 Nov 2016 14:19:00 +0100
parents b8100f56d513
children 20f623762e8e
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 #####################################################################
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
6 ## Build a static library containing the Orthanc Stone framework
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
7 #####################################################################
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
9 include(Resources/CMake/OrthancStone.cmake)
2
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
10 add_library(OrthancStone STATIC ${ORTHANC_STONE_SOURCES})
0
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
12
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
13 #####################################################################
20
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
14 ## CMake parameters for Google Test
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
15 #####################################################################
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
16
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
17 SET(USE_SYSTEM_GOOGLE_TEST ON CACHE BOOL "Use the system version of Google Test")
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
18 SET(USE_GTEST_DEBIAN_SOURCE_PACKAGE OFF CACHE BOOL "Use the sources of Google Test shipped with libgtest-dev (Debian only)")
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
19
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
20 include(${ORTHANC_ROOT}/Resources/CMake/GoogleTestConfiguration.cmake)
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
21
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
22
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
23 #####################################################################
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
24 ## Build all the sample applications
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
25 #####################################################################
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 macro(BuildSample Target Sample)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 add_executable(${Target} Samples/SampleMainSdl.cpp)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 set_target_properties(${Target} PROPERTIES COMPILE_DEFINITIONS ORTHANC_STONE_SAMPLE=${Sample})
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 target_link_libraries(${Target} OrthancStone)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 endmacro()
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 BuildSample(OrthancStoneEmpty 1)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 BuildSample(OrthancStoneTestPattern 2)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 BuildSample(OrthancStoneSingleFrame 3)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 BuildSample(OrthancStoneSingleVolume 4)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 BuildSample(OrthancStoneBasicPetCtFusion 5)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 BuildSample(OrthancStoneSynchronizedSeries 6)
351ab0da0150 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 BuildSample(OrthancStoneLayoutPetCtFusion 7)
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
40
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
41
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
42 #####################################################################
20
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
43 ## Build the unit tests
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
44 #####################################################################
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
45
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
46 add_executable(UnitTests
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
47 ${GTEST_SOURCES}
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
48 UnitTestsSources/UnitTestsMain.cpp
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
49 )
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
50
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
51 target_link_libraries(UnitTests OrthancStone)
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
52
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
53
946377d1c992 skeleton for unit tests
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 6
diff changeset
54 #####################################################################
6
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
55 ## Generate the documentation if Doxygen is present
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
56 #####################################################################
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
57
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
58 find_package(Doxygen)
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
59 if (DOXYGEN_FOUND)
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
60 configure_file(
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
61 ${ORTHANC_STONE_DIR}/Resources/OrthancStone.doxygen
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
62 ${CMAKE_CURRENT_BINARY_DIR}/OrthancStone.doxygen
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
63 @ONLY)
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
64
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
65 add_custom_target(doc
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
66 ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/OrthancStone.doxygen
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
67 COMMENT "Generating documentation with Doxygen" VERBATIM
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
68 )
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
69 else()
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
70 message("Doxygen not found. The documentation will not be built.")
b8100f56d513 doxygen
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 2
diff changeset
71 endif()