Mercurial > hg > orthanc-object-storage
annotate Google/CMakeLists.txt @ 86:3e17842edcdd 2.1.0
2.1.0
author | Alain Mazy <am@osimis.io> |
---|---|
date | Fri, 21 Oct 2022 14:23:56 +0200 |
parents | 431ab61b5760 |
children | c797c84650dc |
rev | line source |
---|---|
56
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
1 # Cloud storage plugins for Orthanc |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
2 # Copyright (C) 2020-2021 Osimis S.A., Belgium |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
3 # |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
4 # This program is free software: you can redistribute it and/or |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
5 # modify it under the terms of the GNU Affero General Public License |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
6 # as published by the Free Software Foundation, either version 3 of |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
7 # the License, or (at your option) any later version. |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
8 # |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
9 # This program is distributed in the hope that it will be useful, but |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
10 # WITHOUT ANY WARRANTY; without even the implied warranty of |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
12 # Affero General Public License for more details. |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
13 # |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
14 # You should have received a copy of the GNU Affero General Public License |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
15 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
16 |
b922ae86bbe1
full static linking against AWS SDK
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
52
diff
changeset
|
17 |
1 | 18 cmake_minimum_required(VERSION 2.8) |
19 | |
20 project(OrthancGoogleCloudStorage) | |
21 | |
86 | 22 set(PLUGIN_VERSION "2.1.0") |
1 | 23 |
24 include(CheckIncludeFileCXX) | |
25 | |
26 set(ORTHANC_FRAMEWORK_SOURCE "hg" CACHE STRING "orthanc source") | |
49 | 27 set(ORTHANC_FRAMEWORK_VERSION "1.9.2" CACHE STRING "orthanc framework version") |
1 | 28 set(ALLOW_DOWNLOADS ON) |
29 | |
30 # Download and setup the Orthanc framework | |
31 | |
59
f3c44d61e1e1
AWS S3: Support of dynamic linking against the system-wide Orthanc framework library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
56
diff
changeset
|
32 include(${CMAKE_SOURCE_DIR}/../Common/Resources/Orthanc/CMake/DownloadOrthancFramework.cmake) |
15 | 33 include(${ORTHANC_FRAMEWORK_ROOT}/../Resources/CMake/OrthancFrameworkParameters.cmake) |
1 | 34 |
35 set(ENABLE_GOOGLE_TEST ON) | |
36 set(ORTHANC_FRAMEWORK_PLUGIN ON) | |
22
319d41a22de4
more lightweight use of Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
18
diff
changeset
|
37 set(ENABLE_MODULE_IMAGES OFF) |
319d41a22de4
more lightweight use of Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
18
diff
changeset
|
38 set(ENABLE_MODULE_JOBS OFF) |
319d41a22de4
more lightweight use of Orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
18
diff
changeset
|
39 set(ENABLE_MODULE_DICOM OFF) |
1 | 40 |
15 | 41 include(${ORTHANC_FRAMEWORK_ROOT}/../Resources/CMake/OrthancFrameworkConfiguration.cmake) |
18
44de9edf2443
fix compilation to avoid exposing internal symbols which caused a crash at Orthanc startup
Alain Mazy
parents:
15
diff
changeset
|
42 include(${ORTHANC_FRAMEWORK_ROOT}/../../OrthancServer/Plugins/Samples/Common/OrthancPluginsExports.cmake) |
1 | 43 |
44 | |
45 add_definitions( | |
46 -DHAS_ORTHANC_EXCEPTION=1 | |
15 | 47 -DORTHANC_ENABLE_LOGGING=1 |
1 | 48 -DGOOGLE_STORAGE_PLUGIN=1 |
49 ) | |
50 add_definitions(-DPLUGIN_VERSION="${PLUGIN_VERSION}") | |
51 | |
52 include_directories( | |
15 | 53 ${ORTHANC_FRAMEWORK_ROOT} |
54 ${ORTHANC_FRAMEWORK_ROOT}/../../OrthancServer/Plugins/Include | |
55 ${ORTHANC_FRAMEWORK_ROOT}/../../OrthancServer/Plugins/Samples/Common | |
1 | 56 ) |
57 | |
58 find_package(CURL REQUIRED) | |
59 find_package(storage_client REQUIRED) | |
60 find_package(cryptopp CONFIG REQUIRED) | |
61 | |
62 set(COMMON_SOURCES | |
78 | 63 ${CMAKE_SOURCE_DIR}/../Common/IStorage.h |
64 ${CMAKE_SOURCE_DIR}/../Common/BaseStorage.h | |
65 ${CMAKE_SOURCE_DIR}/../Common/BaseStorage.cpp | |
1 | 66 ${CMAKE_SOURCE_DIR}/../Common/EncryptionHelpers.cpp |
67 ${CMAKE_SOURCE_DIR}/../Common/EncryptionHelpers.h | |
68 ${CMAKE_SOURCE_DIR}/../Common/EncryptionConfigurator.cpp | |
69 ${CMAKE_SOURCE_DIR}/../Common/EncryptionConfigurator.h | |
78 | 70 ${CMAKE_SOURCE_DIR}/../Common/FileSystemStorage.h |
71 ${CMAKE_SOURCE_DIR}/../Common/FileSystemStorage.cpp | |
83
431ab61b5760
/move-storage when HybridMode is enabled
Alain Mazy <am@osimis.io>
parents:
78
diff
changeset
|
72 ${CMAKE_SOURCE_DIR}/../Common/MoveStorageJob.h |
431ab61b5760
/move-storage when HybridMode is enabled
Alain Mazy <am@osimis.io>
parents:
78
diff
changeset
|
73 ${CMAKE_SOURCE_DIR}/../Common/MoveStorageJob.cpp |
15 | 74 ${ORTHANC_FRAMEWORK_ROOT}/../../OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp |
1 | 75 |
76 ${ORTHANC_CORE_SOURCES} | |
77 ) | |
78 | |
79 add_library(OrthancGoogleCloudStorage SHARED | |
80 GoogleStoragePlugin.cpp | |
81 GoogleStoragePlugin.h | |
82 ${CMAKE_SOURCE_DIR}/../Common/StoragePlugin.cpp | |
83 | |
84 ${COMMON_SOURCES} | |
85 ) | |
86 | |
87 set_target_properties(OrthancGoogleCloudStorage PROPERTIES | |
88 VERSION ${PLUGIN_VERSION} | |
89 SOVERSION ${PLUGIN_VERSION} | |
90 ) | |
91 | |
92 target_link_libraries(OrthancGoogleCloudStorage | |
93 PRIVATE | |
94 storage_client | |
95 cryptopp-static | |
96 ) | |
97 | |
98 add_executable(UnitTests | |
99 ${GOOGLE_TEST_SOURCES} | |
100 ${COMMON_SOURCES} | |
101 | |
102 ${CMAKE_SOURCE_DIR}/../UnitTestsSources/EncryptionTests.cpp | |
103 ${CMAKE_SOURCE_DIR}/../UnitTestsSources/UnitTestsMain.cpp | |
104 ${CMAKE_SOURCE_DIR}/../UnitTestsSources/UnitTestsGcsClient.cpp | |
105 ) | |
106 | |
107 target_link_libraries(UnitTests | |
108 PRIVATE | |
109 cryptopp-static | |
110 storage_client | |
111 ${GOOGLE_TEST_LIBRARIES} | |
112 ) |