# HG changeset patch # User Sebastien Jodogne # Date 1591776855 -7200 # Node ID 78ee0155ec6721e165ea94641512d295eead3366 # Parent 0763630a42ef04a8b3de9cfa1d02afb3591a2748 trying to use orthanc frameworking with web-viewer plugin diff -r 0763630a42ef -r 78ee0155ec67 CMakeLists.txt --- a/CMakeLists.txt Tue Jun 09 21:45:54 2020 +0200 +++ b/CMakeLists.txt Wed Jun 10 10:14:15 2020 +0200 @@ -214,6 +214,7 @@ EmbedResources( --namespace=Orthanc.ServerResources --target=OrthancServerResources + --framework-path=${CMAKE_SOURCE_DIR}/Core ${ORTHANC_EMBEDDED_FILES} ) diff -r 0763630a42ef -r 78ee0155ec67 Core/FileStorage/FilesystemStorage.h --- a/Core/FileStorage/FilesystemStorage.h Tue Jun 09 21:45:54 2020 +0200 +++ b/Core/FileStorage/FilesystemStorage.h Wed Jun 10 10:14:15 2020 +0200 @@ -33,6 +33,8 @@ #pragma once +#include "../OrthancFramework.h" + #if !defined(ORTHANC_SANDBOXED) # error The macro ORTHANC_SANDBOXED must be defined #endif diff -r 0763630a42ef -r 78ee0155ec67 Plugins/Samples/Common/OrthancPluginException.h --- a/Plugins/Samples/Common/OrthancPluginException.h Tue Jun 09 21:45:54 2020 +0200 +++ b/Plugins/Samples/Common/OrthancPluginException.h Wed Jun 10 10:14:15 2020 +0200 @@ -39,7 +39,7 @@ #if HAS_ORTHANC_EXCEPTION == 1 -# include "../../../Core/OrthancException.h" +# include # define ORTHANC_PLUGINS_ERROR_ENUMERATION ::Orthanc::ErrorCode # define ORTHANC_PLUGINS_EXCEPTION_CLASS ::Orthanc::OrthancException # define ORTHANC_PLUGINS_GET_ERROR_CODE(code) ::Orthanc::ErrorCode_ ## code diff -r 0763630a42ef -r 78ee0155ec67 Resources/CMake/AutoGeneratedCode.cmake --- a/Resources/CMake/AutoGeneratedCode.cmake Tue Jun 09 21:45:54 2020 +0200 +++ b/Resources/CMake/AutoGeneratedCode.cmake Wed Jun 10 10:14:15 2020 +0200 @@ -1,3 +1,5 @@ +set(EMBED_RESOURCES_PYTHON "${CMAKE_CURRENT_LIST_DIR}/../EmbedResources.py" + CACHE INTERNAL "Path to the EmbedResources.py script from Orthanc") set(AUTOGENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/AUTOGENERATED") set(AUTOGENERATED_SOURCES) @@ -43,14 +45,10 @@ OUTPUT "${TARGET_BASE}.h" "${TARGET_BASE}.cpp" - COMMAND - ${PYTHON_EXECUTABLE} - "${ORTHANC_ROOT}/Resources/EmbedResources.py" - ${SCRIPT_OPTIONS} - "${TARGET_BASE}" - ${SCRIPT_ARGUMENTS} + COMMAND ${PYTHON_EXECUTABLE} ${EMBED_RESOURCES_PYTHON} + ${SCRIPT_OPTIONS} "${TARGET_BASE}" ${SCRIPT_ARGUMENTS} DEPENDS - "${ORTHANC_ROOT}/Resources/EmbedResources.py" + ${EMBED_RESOURCES_PYTHON} ${DEPENDENCIES} ) diff -r 0763630a42ef -r 78ee0155ec67 Resources/CMake/OrthancFrameworkConfiguration.cmake --- a/Resources/CMake/OrthancFrameworkConfiguration.cmake Tue Jun 09 21:45:54 2020 +0200 +++ b/Resources/CMake/OrthancFrameworkConfiguration.cmake Wed Jun 10 10:14:15 2020 +0200 @@ -679,6 +679,7 @@ EmbedResources( --namespace=Orthanc.FrameworkResources --target=OrthancFrameworkResources + --framework-path=${ORTHANC_ROOT}/Core ${LIBICU_RESOURCES} ${DCMTK_DICTIONARIES} ) diff -r 0763630a42ef -r 78ee0155ec67 Resources/EmbedResources.py --- a/Resources/EmbedResources.py Tue Jun 09 21:45:54 2020 +0200 +++ b/Resources/EmbedResources.py Wed Jun 10 10:14:15 2020 +0200 @@ -43,6 +43,7 @@ OUT_OF_RANGE_EXCEPTION = '::Orthanc::OrthancException(::Orthanc::ErrorCode_ParameterOutOfRange)' INEXISTENT_PATH_EXCEPTION = '::Orthanc::OrthancException(::Orthanc::ErrorCode_InexistentItem)' NAMESPACE = 'Orthanc.EmbeddedResources' +FRAMEWORK_PATH = None ARGS = [] for i in range(len(sys.argv)): @@ -57,6 +58,8 @@ INEXISTENT_PATH_EXCEPTION = '%s("Unknown path in a directory resource")' % EXCEPTION_CLASS elif sys.argv[i].startswith('--namespace='): NAMESPACE = sys.argv[i][sys.argv[i].find('=') + 1 : ] + elif sys.argv[i].startswith('--framework-path='): + FRAMEWORK_PATH = sys.argv[i][sys.argv[i].find('=') + 1 : ] if len(ARGS) < 2 or len(ARGS) % 2 != 0: print ('Usage:') @@ -280,8 +283,10 @@ if USE_SYSTEM_EXCEPTION: cpp.write('#include ') +elif FRAMEWORK_PATH != None: + cpp.write('#include "%s/OrthancException.h"' % FRAMEWORK_PATH) else: - cpp.write('#include "%s/Core/OrthancException.h"' % os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) + cpp.write('#include ') cpp.write(""" #include