Mercurial > hg > orthanc-stone
diff StoneWebViewer/Plugin/CMakeLists.txt @ 1496:d450653b46d3
build stone web viewer using docker
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 25 Jun 2020 17:50:36 +0200 |
parents | fb74ed5d8c22 |
children | d8af188ab545 |
line wrap: on
line diff
--- a/StoneWebViewer/Plugin/CMakeLists.txt Thu Jun 25 16:51:10 2020 +0200 +++ b/StoneWebViewer/Plugin/CMakeLists.txt Thu Jun 25 17:50:36 2020 +0200 @@ -2,39 +2,67 @@ project(StoneWebViewerPlugin) -set(ORTHANC_ROOT ${CMAKE_CURRENT_LIST_DIR}/../../../orthanc CACHE PATH "") +set(ORTHANC_PLUGIN_VERSION "mainline") + + +set(ORTHANC_FRAMEWORK_ROOT ${CMAKE_CURRENT_LIST_DIR}/../../../orthanc CACHE PATH "") set(STONE_BINARIES CACHE PATH "") +set(USE_SYSTEM_ORTHANC_SDK ON CACHE BOOL "Use the system version of the Orthanc plugin SDK") -include(${ORTHANC_ROOT}/Resources/CMake/OrthancFrameworkParameters.cmake) +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_ROOT}/Resources/CMake/OrthancFrameworkConfiguration.cmake) +include(${ORTHANC_FRAMEWORK_ROOT}/Resources/CMake/OrthancFrameworkConfiguration.cmake) include_directories( - ${ORTHANC_ROOT}/Core - ${ORTHANC_ROOT}/Plugins/Samples/Common - ${ORTHANC_ROOT}/Plugins/Include # TODO => Fix a version + ${ORTHANC_FRAMEWORK_ROOT}/Core + ${ORTHANC_FRAMEWORK_ROOT}/Plugins/Samples/Common ) + +if (STATIC_BUILD OR NOT USE_SYSTEM_ORTHANC_SDK) + include_directories(${CMAKE_SOURCE_DIR}/../Resources/OrthancSdk-1.0.0) +else () + CHECK_INCLUDE_FILE_CXX(orthanc/OrthancCPlugin.h HAVE_ORTHANC_H) + if (NOT HAVE_ORTHANC_H) + message(FATAL_ERROR "Please install the headers of the Orthanc plugins SDK") + endif() +endif() + + add_definitions( -DHAS_ORTHANC_EXCEPTION=1 - -DPLUGIN_VERSION="mainline" # TODO + -DPLUGIN_VERSION="${ORTHANC_PLUGIN_VERSION}" -DPLUGIN_NAME="stone-webviewer" ) + EmbedResources( + # Folders + IMAGES ${STONE_BINARIES}/img/ + WEB_APPLICATION ${CMAKE_SOURCE_DIR}/../WebApplication + + # Individual files ORTHANC_EXPLORER ${CMAKE_SOURCE_DIR}/OrthancExplorer.js - STONE_WRAPPER ${STONE_BINARIES}/stone.js STONE_WEB_VIEWER_JS ${STONE_BINARIES}/StoneWebViewer.js STONE_WEB_VIEWER_WASM ${STONE_BINARIES}/StoneWebViewer.wasm - WEB_APPLICATION ${CMAKE_SOURCE_DIR}/../WebApplication - IMAGES ${STONE_BINARIES}/img/ + STONE_WRAPPER ${STONE_BINARIES}/stone.js ) add_library(StoneWebViewer SHARED Plugin.cpp ${AUTOGENERATED_SOURCES} - ${ORTHANC_ROOT}/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp + ${ORTHANC_FRAMEWORK_ROOT}/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp # TODO ${ORTHANC_CORE_SOURCES} ) + +set_target_properties(StoneWebViewer PROPERTIES + VERSION ${ORTHANC_PLUGIN_VERSION} + SOVERSION ${ORTHANC_PLUGIN_VERSION}) + +install( + TARGETS StoneWebViewer + RUNTIME DESTINATION lib # Destination for Windows + LIBRARY DESTINATION share/orthanc/plugins # Destination for Linux + )