annotate CMakeLists.txt @ 28:2999ab4323fe

typo bis
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 12 Feb 2020 13:52:59 +0100
parents 17f371dc120d
children ebaf3604bbc6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 cmake_minimum_required(VERSION 2.8)
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 project(GoogleCloudPlatform)
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4
19
a722ca0ad867 back to mainline
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
5 set(GCP_PLUGIN_VERSION "mainline")
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 if (GCP_PLUGIN_VERSION STREQUAL "mainline")
9
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 8
diff changeset
8 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 8
diff changeset
9 set(ORTHANC_FRAMEWORK_VERSION "mainline")
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 8
diff changeset
10 else()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 8
diff changeset
11 # "hg" is not available in holy-build-box => We set
17
2514880d4f0b cppcheck
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 9
diff changeset
12 # "ORTHANC_FRAMEWORK_SOURCE" to "web" in the BuildBot script, which
2514880d4f0b cppcheck
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 9
diff changeset
13 # forces to use a specific version (1.5.7)
2514880d4f0b cppcheck
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 9
diff changeset
14 set(ORTHANC_FRAMEWORK_VERSION "1.5.7")
9
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 8
diff changeset
15 endif()
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 8
diff changeset
16
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 set(ORTHANC_FRAMEWORK_DEFAULT_SOURCE "hg")
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 else()
17
2514880d4f0b cppcheck
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 9
diff changeset
19 set(ORTHANC_FRAMEWORK_VERSION "1.5.7")
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 set(ORTHANC_FRAMEWORK_DEFAULT_SOURCE "web")
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 endif()
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 # Parameters of the build
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 set(STATIC_BUILD OFF CACHE BOOL "Static build of the third-party libraries (necessary for Windows)")
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 set(ALLOW_DOWNLOADS OFF CACHE BOOL "Allow CMake to download packages")
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 set(ORTHANC_FRAMEWORK_SOURCE "${ORTHANC_FRAMEWORK_DEFAULT_SOURCE}" CACHE STRING "Source of the Orthanc source code (can be \"hg\", \"archive\", \"web\" or \"path\")")
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 set(ORTHANC_FRAMEWORK_ARCHIVE "" CACHE STRING "Path to the Orthanc archive, if ORTHANC_FRAMEWORK_SOURCE is \"archive\"")
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 set(ORTHANC_FRAMEWORK_ROOT "" CACHE STRING "Path to the Orthanc source directory, if ORTHANC_FRAMEWORK_SOURCE is \"path\"")
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 # Advanced parameters to fine-tune linking against system libraries
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 set(USE_SYSTEM_GDCM ON CACHE BOOL "Use the system version of Grassroot DICOM (GDCM)")
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 set(USE_SYSTEM_ORTHANC_SDK ON CACHE BOOL "Use the system version of the Orthanc plugin SDK")
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 set(ORTHANC_SDK_VERSION "1.0.0" CACHE STRING "Version of the Orthanc plugin SDK to use, if not using the system version (can be \"1.0.0\", or \"framework\")")
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 include(${CMAKE_SOURCE_DIR}/Resources/Orthanc/DownloadOrthancFramework.cmake)
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 include(${ORTHANC_ROOT}/Resources/CMake/OrthancFrameworkParameters.cmake)
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 set(ENABLE_CRYPTO_OPTIONS ON)
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42 set(ENABLE_ZLIB ON)
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 set(ENABLE_WEB_CLIENT ON)
6
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
44 set(ENABLE_OPENSSL_ENGINES ON) # Necessary on Windows
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 include(${ORTHANC_ROOT}/Resources/CMake/OrthancFrameworkConfiguration.cmake)
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 include(${CMAKE_SOURCE_DIR}/Resources/CMake/CRC32C.cmake)
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 include(${CMAKE_SOURCE_DIR}/Resources/CMake/NlohmannJson.cmake)
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 include(${CMAKE_SOURCE_DIR}/Resources/CMake/GoogleCloudPlatform.cmake)
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 if (STATIC_BUILD OR NOT USE_SYSTEM_ORTHANC_SDK)
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 if (ORTHANC_SDK_VERSION STREQUAL "1.0.0")
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55 include_directories(${CMAKE_SOURCE_DIR}/Resources/Orthanc/Sdk-1.0.0)
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 elseif (ORTHANC_SDK_VERSION STREQUAL "framework")
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57 include_directories(${ORTHANC_ROOT}/Plugins/Include)
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 else()
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59 message(FATAL_ERROR "Unsupported version of the Orthanc plugin SDK: ${ORTHANC_SDK_VERSION}")
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60 endif()
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 else ()
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 CHECK_INCLUDE_FILE_CXX(orthanc/OrthancCPlugin.h HAVE_ORTHANC_H)
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63 if (NOT HAVE_ORTHANC_H)
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64 message(FATAL_ERROR "Please install the headers of the Orthanc plugins SDK")
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 endif()
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 endif()
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70 add_definitions(
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71 -DHAS_ORTHANC_EXCEPTION=1
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72 -DORTHANC_ENABLE_LOGGING=1
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73 -DORTHANC_ENABLE_LOGGING_PLUGIN=1
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
74 -DGCP_PLUGIN_VERSION="${GCP_PLUGIN_VERSION}"
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
75 )
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
77 include_directories(
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
78 ${AUTOGENERATED_DIR}
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
79 ${ORTHANC_ROOT}
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
80 )
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
81
20
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
82 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
83 execute_process(
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
84 COMMAND
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
85 ${PYTHON_EXECUTABLE} ${ORTHANC_ROOT}/Resources/WindowsResources.py
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
86 ${GCP_PLUGIN_VERSION} "Google Cloud Platform plugin" OrthancGoogleCloudPlatform.dll
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
87 "Plugin to access Google Cloud Platform from Orthanc"
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
88 ERROR_VARIABLE Failure
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
89 OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/Version.rc
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
90 )
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
91
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
92 if (Failure)
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
93 message(FATAL_ERROR "Error while computing the version information: ${Failure}")
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
94 endif()
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
95
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
96 set(GCP_RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/Version.rc)
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
97 endif()
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
98
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
99
8
da3228ac9227 reduce the number of sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
100 if (ON)
da3228ac9227 reduce the number of sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
101 # Redefine the list of Orthanc sources, removing unused items, in
da3228ac9227 reduce the number of sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
102 # order to reduce the number of files and speed up the builds
da3228ac9227 reduce the number of sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
103 set(ORTHANC_CORE_SOURCES
da3228ac9227 reduce the number of sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
104 ${ORTHANC_CORE_SOURCES_DEPENDENCIES}
da3228ac9227 reduce the number of sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
105 ${ORTHANC_ROOT}/Core/ChunkedBuffer.cpp
da3228ac9227 reduce the number of sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
106 ${ORTHANC_ROOT}/Core/Enumerations.cpp
da3228ac9227 reduce the number of sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
107 ${ORTHANC_ROOT}/Core/HttpClient.cpp
da3228ac9227 reduce the number of sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
108 ${ORTHANC_ROOT}/Core/Logging.cpp
da3228ac9227 reduce the number of sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
109 ${ORTHANC_ROOT}/Core/SystemToolbox.cpp
da3228ac9227 reduce the number of sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
110 ${ORTHANC_ROOT}/Core/Toolbox.cpp
da3228ac9227 reduce the number of sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
111 )
da3228ac9227 reduce the number of sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
112 endif()
da3228ac9227 reduce the number of sources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 7
diff changeset
113
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
114 add_library(OrthancGoogleCloudPlatform SHARED
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
115 ${ORTHANC_ROOT}/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp
20
a2c57c351627 add windows resources
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
116 ${GCP_RESOURCES}
0
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
117 Plugin/GoogleAccount.cpp
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
118 Plugin/GoogleConfiguration.cpp
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
119 Plugin/GoogleUpdater.cpp
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
120 Plugin/Plugin.cpp
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
121
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
122 ${CRC32C_SOURCES}
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
123 ${CURL_SOURCES}
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
124 ${GCP_SOURCES}
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
125 ${OPENSSL_SOURCES}
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
126 ${ZLIB_SOURCES}
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
127 ${ORTHANC_CORE_SOURCES}
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
128 )
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
129
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
130 set_target_properties(OrthancGoogleCloudPlatform PROPERTIES
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
131 VERSION ${GCP_PLUGIN_VERSION}
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
132 SOVERSION ${GCP_PLUGIN_VERSION})
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
133
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
134 install(
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
135 TARGETS OrthancGoogleCloudPlatform
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
136 RUNTIME DESTINATION lib # Destination for Windows
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
137 LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux
520cba9a0d42 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
138 )