Mercurial > hg > orthanc-stone
diff StoneWebViewer/Plugin/CMakeLists.txt @ 1508:dd1d1cc0575d
use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 07 Jul 2020 08:15:08 +0200 |
parents | 15f2edef7e7c |
children | 244ad1e4e76a |
line wrap: on
line diff
--- a/StoneWebViewer/Plugin/CMakeLists.txt Mon Jul 06 16:47:40 2020 +0200 +++ b/StoneWebViewer/Plugin/CMakeLists.txt Tue Jul 07 08:15:08 2020 +0200 @@ -4,21 +4,52 @@ set(ORTHANC_PLUGIN_VERSION "mainline") +if (ORTHANC_PLUGIN_VERSION STREQUAL "mainline") + set(ORTHANC_FRAMEWORK_DEFAULT_VERSION "mainline") + set(ORTHANC_FRAMEWORK_DEFAULT_SOURCE "hg") +else() + set(ORTHANC_FRAMEWORK_DEFAULT_VERSION "1.7.2") + set(ORTHANC_FRAMEWORK_DEFAULT_SOURCE "web") +endif() -set(ORTHANC_FRAMEWORK_ROOT ${CMAKE_CURRENT_LIST_DIR}/../../../orthanc/OrthancFramework CACHE PATH "") -set(STONE_BINARIES CACHE PATH "") -set(USE_SYSTEM_ORTHANC_SDK ON CACHE BOOL "Use the system version of the Orthanc plugin SDK") + + +set(STONE_BINARIES CACHE PATH "Path to the binaries of the \"../WebAssembly\" folder") + +# Parameters of the build +set(STATIC_BUILD OFF CACHE BOOL "Static build of the third-party libraries (necessary for Windows)") +set(ALLOW_DOWNLOADS OFF CACHE BOOL "Allow CMake to download packages") +set(ORTHANC_FRAMEWORK_SOURCE "${ORTHANC_FRAMEWORK_DEFAULT_SOURCE}" CACHE STRING "Source of the Orthanc framework (can be \"system\", \"hg\", \"archive\", \"web\" or \"path\")") +set(ORTHANC_FRAMEWORK_VERSION "${ORTHANC_FRAMEWORK_DEFAULT_VERSION}" CACHE STRING "Version of the Orthanc framework") +set(ORTHANC_FRAMEWORK_ARCHIVE "" CACHE STRING "Path to the Orthanc archive, if ORTHANC_FRAMEWORK_SOURCE is \"archive\"") +set(ORTHANC_FRAMEWORK_ROOT "" CACHE STRING "Path to the Orthanc source directory, if ORTHANC_FRAMEWORK_SOURCE is \"path\"") + -include(${ORTHANC_FRAMEWORK_ROOT}/Resources/CMake/OrthancFrameworkParameters.cmake) -set(ENABLE_MODULE_IMAGES OFF) -set(ENABLE_MODULE_JOBS OFF) -set(ENABLE_MODULE_DICOM OFF) -include(${ORTHANC_FRAMEWORK_ROOT}/Resources/CMake/OrthancFrameworkConfiguration.cmake) +# Advanced parameters to fine-tune linking against system libraries +set(USE_SYSTEM_ORTHANC_SDK ON CACHE BOOL "Use the system version of the Orthanc plugin SDK") +set(ORTHANC_FRAMEWORK_STATIC OFF CACHE BOOL "If linking against the Orthanc framework system library, indicates whether this library was statically linked") +mark_as_advanced(ORTHANC_FRAMEWORK_STATIC) + + +# Download and setup the Orthanc framework +include(${CMAKE_SOURCE_DIR}/../../Resources/Orthanc/CMake/DownloadOrthancFramework.cmake) + +if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "system") + link_libraries(${ORTHANC_FRAMEWORK_LIBRARIES}) -include_directories( - ${ORTHANC_FRAMEWORK_ROOT}/Sources - ${CMAKE_SOURCE_DIR}/../Resources/Orthanc - ) +else() + include(${ORTHANC_FRAMEWORK_ROOT}/Resources/CMake/OrthancFrameworkParameters.cmake) + set(ENABLE_MODULE_IMAGES OFF) + set(ENABLE_MODULE_JOBS OFF) + set(ENABLE_MODULE_DICOM OFF) + include(${ORTHANC_FRAMEWORK_ROOT}/Resources/CMake/OrthancFrameworkConfiguration.cmake) + + include_directories( + ${ORTHANC_FRAMEWORK_ROOT}/Sources + ) +endif() + +include(${CMAKE_SOURCE_DIR}/../Resources/Orthanc/Plugins/OrthancPluginsExports.cmake) if (STATIC_BUILD OR NOT USE_SYSTEM_ORTHANC_SDK) @@ -53,7 +84,7 @@ add_library(StoneWebViewer SHARED Plugin.cpp ${AUTOGENERATED_SOURCES} - ${CMAKE_SOURCE_DIR}/../Resources/Orthanc/OrthancPluginCppWrapper.cpp + ${CMAKE_SOURCE_DIR}/../Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp ${ORTHANC_CORE_SOURCES} )