changeset 5258:afe92108f463 db-protobuf

integration mainline->db-protobuf
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 12 Apr 2023 11:54:29 +0200
parents 261ce0ed85e6 (current diff) 0b183bb77c83 (diff)
children a856daf71745
files NEWS OrthancServer/CMakeLists.txt
diffstat 6 files changed, 177 insertions(+), 147 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Tue Apr 11 20:50:43 2023 +0200
+++ b/NEWS	Wed Apr 12 11:54:29 2023 +0200
@@ -40,6 +40,7 @@
 * Fix Housekeeper plugin infinite loop if Orthanc is empty.
 * Fix a crash in /tools/reconstruct triggered by the Housekeeper plugin 
   when only changing the StorageCompression.
+* Avoid the use of "externalproject_add()" to build the sample plugins
 * Upgraded dependencies for static builds:
   - openssl 3.1.0
 
--- a/OrthancFramework/Sources/Toolbox.cpp	Tue Apr 11 20:50:43 2023 +0200
+++ b/OrthancFramework/Sources/Toolbox.cpp	Wed Apr 12 11:54:29 2023 +0200
@@ -36,6 +36,10 @@
 #  error Cannot access the version of JsonCpp
 #endif
 
+#if !defined(ORTHANC_ENABLE_ICU)
+#  define ORTHANC_ENABLE_ICU 1
+#endif
+
 
 /**
  * We use deprecated "Json::Reader", "Json::StyledWriter" and
@@ -142,7 +146,7 @@
 }
 
 
-#if defined(ORTHANC_STATIC_ICU)
+#if defined(ORTHANC_STATIC_ICU) && (ORTHANC_ENABLE_ICU == 1)
 #  if (ORTHANC_STATIC_ICU == 1 && ORTHANC_ENABLE_LOCALE == 1)
 #    include <OrthancFrameworkResources.h>
 #    include <unicode/udata.h>
@@ -626,11 +630,15 @@
                                      bool hasCodeExtensions)
   {
 #if ORTHANC_STATIC_ICU == 1
+#  if ORTHANC_ENABLE_ICU == 0
+    throw OrthancException(ErrorCode_NotImplemented, "ICU is disabled for this target");
+#  else
     if (globalIcuData_.empty())
     {
       throw OrthancException(ErrorCode_BadSequenceOfCalls,
                              "Call Toolbox::InitializeGlobalLocale()");
     }
+#  endif
 #endif
 
     // The "::skip" flag makes boost skip invalid UTF-8
@@ -685,11 +693,15 @@
                                        Encoding targetEncoding)
   {
 #if ORTHANC_STATIC_ICU == 1
+#  if ORTHANC_ENABLE_ICU == 0
+    throw OrthancException(ErrorCode_NotImplemented, "ICU is disabled for this target");
+#  else
     if (globalIcuData_.empty())
     {
       throw OrthancException(ErrorCode_BadSequenceOfCalls,
                              "Call Toolbox::InitializeGlobalLocale()");
     }
+#  endif
 #endif
 
     // The "::skip" flag makes boost skip invalid UTF-8
@@ -1525,7 +1537,7 @@
   
   static void InitializeIcu()
   {
-#if ORTHANC_STATIC_ICU == 1
+#if (ORTHANC_STATIC_ICU == 1) && (ORTHANC_ENABLE_ICU == 1)
     if (globalIcuData_.empty())
     {
       LOG(INFO) << "Setting up the ICU common data";
@@ -1693,10 +1705,14 @@
     bool error = (globalLocale_.get() == NULL);
 
 #if ORTHANC_STATIC_ICU == 1
+#  if ORTHANC_ENABLE_ICU == 0
+    throw OrthancException(ErrorCode_NotImplemented, "ICU is disabled for this target");
+#  else
     if (globalIcuData_.empty())
     {
       error = true;
     }
+#  endif
 #endif
     
     if (error)
--- a/OrthancServer/CMakeLists.txt	Tue Apr 11 20:50:43 2023 +0200
+++ b/OrthancServer/CMakeLists.txt	Wed Apr 12 11:54:29 2023 +0200
@@ -324,12 +324,9 @@
 add_definitions(
   -DORTHANC_BUILD_UNIT_TESTS=1
   -DORTHANC_BUILDING_SERVER_LIBRARY=1
-  
+
   # Macros for the plugins
   -DHAS_ORTHANC_EXCEPTION=0
-  -DMODALITY_WORKLISTS_VERSION="${ORTHANC_VERSION}"
-  -DSERVE_FOLDERS_VERSION="${ORTHANC_VERSION}"
-  -DHOUSEKEEPER_VERSION="${ORTHANC_VERSION}"
   )
 
 
@@ -473,8 +470,9 @@
 #####################################################################
 
 if (ENABLE_PLUGINS AND
-    (BUILD_SERVE_FOLDERS OR BUILD_MODALITY_WORKLISTS OR BUILD_HOUSEKEEPER))
-  add_library(ThirdPartyPlugins STATIC
+    (BUILD_SERVE_FOLDERS OR BUILD_MODALITY_WORKLISTS OR BUILD_HOUSEKEEPER OR
+      BUILD_DELAYED_DELETION))
+  set(PLUGINS_FRAMEWORK_SOURCES
     ${BOOST_SOURCES}
     ${JSONCPP_SOURCES}
     ${LIBICONV_SOURCES}
@@ -482,15 +480,58 @@
     Plugins/Samples/Common/OrthancPluginCppWrapper.cpp
     )
 
-  if (LIBICU_LIBRARIES)
-    target_link_libraries(ThirdPartyPlugins ${LIBICU_LIBRARIES})
+  if (BUILD_DELAYED_DELETION)
+    list(APPEND PLUGINS_FRAMEWORK_SOURCES
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/ThirdParty/base64/base64.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/ThirdParty/md5/md5.c
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/ChunkedBuffer.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/Compression/DeflateBaseCompressor.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/Compression/GzipCompressor.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/Compression/HierarchicalZipWriter.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/Compression/IBufferCompressor.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/Compression/ZipReader.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/Compression/ZipWriter.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/Compression/ZlibCompressor.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/DicomFormat/DicomTag.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/Enumerations.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/FileStorage/FilesystemStorage.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/Logging.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/MultiThreading/SharedMessageQueue.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/OrthancException.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/SQLite/Connection.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/SQLite/FunctionContext.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/SQLite/Statement.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/SQLite/StatementId.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/SQLite/StatementReference.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/SQLite/Transaction.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/StringMemoryBuffer.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/SystemToolbox.cpp
+      ${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources/Toolbox.cpp
+      ${DCMTK_SOURCES}
+      ${PUGIXML_SOURCES}
+      ${UUID_SOURCES}
+      ${ZLIB_SOURCES}
+      ${SQLITE_SOURCES}
+      )
   endif()
+  
+  add_library(PluginsFramework STATIC
+    ${PLUGINS_FRAMEWORK_SOURCES}
+    )
+
+  # Remove the dependency upon ICU in plugins, as this greatly
+  # increase the size of the resulting binaries, since they must
+  # embed the ICU dictionary.
+  set_target_properties(
+    PluginsFramework
+    PROPERTIES COMPILE_DEFINITIONS "ORTHANC_ENABLE_ICU=0"
+    )
 
   # Add the "-fPIC" option as this static library must be embedded
   # inside shared libraries (important on UNIX)
-  set_property(
-    TARGET ThirdPartyPlugins
-    PROPERTY POSITION_INDEPENDENT_CODE ON
+  set_target_properties(
+    PluginsFramework
+    PROPERTIES POSITION_INDEPENDENT_CODE ON
     )
 endif()
 
@@ -516,12 +557,17 @@
     list(APPEND SERVE_FOLDERS_RESOURCES ${AUTOGENERATED_DIR}/ServeFolders.rc)
   endif()  
 
+  set_source_files_properties(
+    ${CMAKE_SOURCE_DIR}/Plugins/Samples/ServeFolders/Plugin.cpp
+    PROPERTIES COMPILE_DEFINITIONS "SERVE_FOLDERS_VERSION=\"${ORTHANC_VERSION}\""
+    )
+
   add_library(ServeFolders SHARED 
     ${CMAKE_SOURCE_DIR}/Plugins/Samples/ServeFolders/Plugin.cpp
     ${SERVE_FOLDERS_RESOURCES}
     )
 
-  target_link_libraries(ServeFolders ThirdPartyPlugins)
+  target_link_libraries(ServeFolders PluginsFramework)
 
   set_target_properties(
     ServeFolders PROPERTIES 
@@ -559,12 +605,17 @@
     list(APPEND MODALITY_WORKLISTS_RESOURCES ${AUTOGENERATED_DIR}/ModalityWorklists.rc)
   endif()
 
+  set_source_files_properties(
+    ${CMAKE_SOURCE_DIR}/Plugins/Samples/ModalityWorklists/Plugin.cpp
+    PROPERTIES COMPILE_DEFINITIONS "MODALITY_WORKLISTS_VERSION=\"${ORTHANC_VERSION}\""
+    )
+
   add_library(ModalityWorklists SHARED 
     ${CMAKE_SOURCE_DIR}/Plugins/Samples/ModalityWorklists/Plugin.cpp
     ${MODALITY_WORKLISTS_RESOURCES}
     )
 
-  target_link_libraries(ModalityWorklists ThirdPartyPlugins)
+  target_link_libraries(ModalityWorklists PluginsFramework)
 
   set_target_properties(
     ModalityWorklists PROPERTIES 
@@ -580,81 +631,61 @@
 endif()
 
 
-if (ENABLE_PLUGINS AND (BUILD_DELAYED_DELETION OR BUILD_CONNECTIVITY_CHECKS))
-  include(ExternalProject)
-endif()
-
 
 #####################################################################
 ## Build the "ConnectivityChecks" plugin
 #####################################################################
 
 if (ENABLE_PLUGINS AND BUILD_CONNECTIVITY_CHECKS)
-
-  set(ConnectivityChecksFlags)
-
-  if (CMAKE_TOOLCHAIN_FILE)
-    # Take absolute path to the toolchain
-    get_filename_component(TMP ${CMAKE_TOOLCHAIN_FILE} REALPATH BASE ${CMAKE_SOURCE_DIR})
-    list(APPEND ConnectivityChecksFlags -DCMAKE_TOOLCHAIN_FILE=${TMP})
-  endif()
-
-  if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "LinuxStandardBase")
-    list(APPEND ConnectivityChecksFlags
-      -DLSB_CC=${CMAKE_LSB_CC}
-      -DLSB_CXX=${CMAKE_LSB_CXX}
+  if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+    execute_process(
+      COMMAND 
+      ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py
+      ${ORTHANC_VERSION} ConnectivityChecks ConnectivityChecks.dll "Orthanc plugin to show connectivity status"
+      ERROR_VARIABLE Failure
+      OUTPUT_FILE ${AUTOGENERATED_DIR}/ConnectivityChecks.rc
       )
+    
+    if (Failure)
+      message(FATAL_ERROR "Error while computing the version information: ${Failure}")
+    endif()
+    
+    list(APPEND CONNECTIVITY_CHECKS_RESOURCES ${AUTOGENERATED_DIR}/ConnectivityChecks.rc)
   endif()
 
-  externalproject_add(ConnectivityChecks
-    SOURCE_DIR "${CMAKE_SOURCE_DIR}/Plugins/Samples/ConnectivityChecks"
-
-    # We explicitly provide a build directory, in order to avoid paths
-    # that are too long on our Visual Studio 2008 CIS
-    BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/ConnectivityChecks-build"
-
-    # this helps triggering build when changing the external project
-    BUILD_ALWAYS 1
-
-    CMAKE_ARGS
-    -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-    -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}
-    -DPLUGIN_VERSION=${ORTHANC_VERSION}
-    -DSTATIC_BUILD=${STATIC_BUILD}
-    -DALLOW_DOWNLOADS=${ALLOW_DOWNLOADS}
-    -DUSE_SYSTEM_BOOST=${USE_SYSTEM_BOOST}
-    -DUSE_LEGACY_JSONCPP=${USE_LEGACY_JSONCPP}
-    -DUSE_LEGACY_BOOST=${USE_LEGACY_BOOST}
-    ${ConnectivityChecksFlags}
-
-    -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-    -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
-    -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-    -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
-    -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}
-    -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
-
-    INSTALL_COMMAND ""
+  include(${CMAKE_SOURCE_DIR}/Plugins/Samples/ConnectivityChecks/JavaScriptLibraries.cmake)
+  
+  EmbedResources(
+    --target=ConnectivityChecksResources
+    --framework-path=${CMAKE_SOURCE_DIR}/../OrthancFramework/Sources
+    WEB_RESOURCES  ${CMAKE_SOURCE_DIR}/Plugins/Samples/ConnectivityChecks/WebResources
+    LIBRARIES      ${CONNECTIVITY_CHECKS_JAVASCRIPT_DIR}
     )
 
-  if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
-    if (MSVC)
-      set(Prefix "")
-    else()
-      set(Prefix "lib")  # MinGW
-    endif()
-
-    install(FILES
-      ${CMAKE_CURRENT_BINARY_DIR}/${Prefix}ConnectivityChecks.dll
-      DESTINATION "lib")
-  else()
-    list(GET CMAKE_FIND_LIBRARY_PREFIXES 0 Prefix)
-    list(GET CMAKE_FIND_LIBRARY_SUFFIXES 0 Suffix)
-    install(FILES
-      ${CMAKE_CURRENT_BINARY_DIR}/ConnectivityChecks-build/${Prefix}ConnectivityChecks${Suffix}
-      ${CMAKE_CURRENT_BINARY_DIR}/ConnectivityChecks-build/${Prefix}ConnectivityChecks${Suffix}.${ORTHANC_VERSION}
-      DESTINATION "share/orthanc/plugins")
-  endif()
+  set_source_files_properties(
+    ${CMAKE_SOURCE_DIR}/Plugins/Samples/ConnectivityChecks/Plugin.cpp
+    PROPERTIES COMPILE_DEFINITIONS "ORTHANC_PLUGIN_NAME=\"connectivity-checks\";ORTHANC_PLUGIN_VERSION=\"${ORTHANC_VERSION}\""
+    )
+  
+  add_library(ConnectivityChecks SHARED 
+    ${AUTOGENERATED_DIR}/ConnectivityChecksResources.cpp
+    ${CMAKE_SOURCE_DIR}/Plugins/Samples/ConnectivityChecks/Plugin.cpp
+    ${CONNECTIVITY_CHECKS_RESOURCES}
+    )
+  
+  target_link_libraries(ConnectivityChecks PluginsFramework)
+  
+  set_target_properties(
+    ConnectivityChecks PROPERTIES
+    VERSION ${ORTHANC_VERSION}
+    SOVERSION ${ORTHANC_VERSION}
+    )
+  
+  install(
+    TARGETS ConnectivityChecks
+    RUNTIME DESTINATION lib    # Destination for Windows
+    LIBRARY DESTINATION share/orthanc/plugins    # Destination for Linux
+    )
 endif()
 
 
@@ -663,71 +694,47 @@
 #####################################################################
 
 if (ENABLE_PLUGINS AND BUILD_DELAYED_DELETION)
-
-  set(DelayedDeletionFlags)
-
-  if (CMAKE_TOOLCHAIN_FILE)
-    # Take absolute path to the toolchain
-    get_filename_component(TMP ${CMAKE_TOOLCHAIN_FILE} REALPATH BASE ${CMAKE_SOURCE_DIR})
-    list(APPEND DelayedDeletionFlags -DCMAKE_TOOLCHAIN_FILE=${TMP})
-  endif()
-
-  if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "LinuxStandardBase")
-    list(APPEND DelayedDeletionFlags
-      -DLSB_CC=${CMAKE_LSB_CC}
-      -DLSB_CXX=${CMAKE_LSB_CXX}
+  if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+    execute_process(
+      COMMAND 
+      ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../OrthancFramework/Resources/WindowsResources.py
+      ${ORTHANC_VERSION} DelayedDeletion DelayedDeletion.dll "Orthanc plugin to delay deletion of files"
+      ERROR_VARIABLE Failure
+      OUTPUT_FILE ${AUTOGENERATED_DIR}/DelayedDeletion.rc
       )
+    
+    if (Failure)
+      message(FATAL_ERROR "Error while computing the version information: ${Failure}")
+    endif()
+    
+    list(APPEND DELAYED_DELETION_RESOURCES ${AUTOGENERATED_DIR}/DelayedDeletion.rc)
   endif()
 
-  externalproject_add(DelayedDeletion
-    SOURCE_DIR "${CMAKE_SOURCE_DIR}/Plugins/Samples/DelayedDeletion"
-
-    # We explicitly provide a build directory, in order to avoid paths
-    # that are too long on our Visual Studio 2008 CIS
-    BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/DelayedDeletion-build"
-
-    # this helps triggering build when changing the external project
-    BUILD_ALWAYS 1
-
-    CMAKE_ARGS
-    -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-    -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}
-    -DPLUGIN_VERSION=${ORTHANC_VERSION}
-    -DSTATIC_BUILD=${STATIC_BUILD}
-    -DALLOW_DOWNLOADS=${ALLOW_DOWNLOADS}
-    -DUSE_SYSTEM_BOOST=${USE_SYSTEM_BOOST}
-    -DUSE_LEGACY_JSONCPP=${USE_LEGACY_JSONCPP}
-    -DUSE_LEGACY_BOOST=${USE_LEGACY_BOOST}
-    ${DelayedDeletionFlags}
-
-    -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-    -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
-    -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-    -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
-    -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}
-    -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
-
-    INSTALL_COMMAND ""
+  set_source_files_properties(
+    ${CMAKE_SOURCE_DIR}/Plugins/Samples/DelayedDeletion/Plugin.cpp
+    PROPERTIES COMPILE_DEFINITIONS "ORTHANC_PLUGIN_NAME=\"delayed-deletion\";ORTHANC_PLUGIN_VERSION=\"${ORTHANC_VERSION}\""
+    )
+  
+  add_library(DelayedDeletion SHARED 
+    ${CMAKE_SOURCE_DIR}/Plugins/Engine/PluginsEnumerations.cpp
+    ${CMAKE_SOURCE_DIR}/Plugins/Samples/DelayedDeletion/PendingDeletionsDatabase.cpp
+    ${CMAKE_SOURCE_DIR}/Plugins/Samples/DelayedDeletion/Plugin.cpp
+    ${DELAYED_DELETION_RESOURCES}
     )
-
-  if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
-    if (MSVC)
-      set(Prefix "")
-    else()
-      set(Prefix "lib")  # MinGW
-    endif()
-
-    install(FILES
-      ${CMAKE_CURRENT_BINARY_DIR}/${Prefix}DelayedDeletion.dll
-      DESTINATION "lib")
-  else()
-    list(GET CMAKE_FIND_LIBRARY_PREFIXES 0 Prefix)
-    list(GET CMAKE_FIND_LIBRARY_SUFFIXES 0 Suffix)
-    install(FILES
-      ${CMAKE_CURRENT_BINARY_DIR}/DelayedDeletion-build/${Prefix}DelayedDeletion${Suffix}
-      ${CMAKE_CURRENT_BINARY_DIR}/DelayedDeletion-build/${Prefix}DelayedDeletion${Suffix}.${ORTHANC_VERSION}
-      DESTINATION "share/orthanc/plugins")
-  endif()
+  
+  target_link_libraries(DelayedDeletion PluginsFramework ${DCMTK_LIBRARIES})
+  
+  set_target_properties(
+    DelayedDeletion PROPERTIES
+    VERSION ${ORTHANC_VERSION}
+    SOVERSION ${ORTHANC_VERSION}
+    )
+  
+  install(
+    TARGETS DelayedDeletion
+    RUNTIME DESTINATION lib    # Destination for Windows
+    LIBRARY DESTINATION share/orthanc/plugins    # Destination for Linux
+    )
 endif()
 
 
@@ -752,13 +759,18 @@
     list(APPEND HOUSEKEEPER_RESOURCES ${AUTOGENERATED_DIR}/Housekeeper.rc)
   endif()
   
+  set_source_files_properties(
+    ${CMAKE_SOURCE_DIR}/Plugins/Samples/Housekeeper/Plugin.cpp
+    PROPERTIES COMPILE_DEFINITIONS "HOUSEKEEPER_VERSION=\"${ORTHANC_VERSION}\""
+    )
+
   add_library(Housekeeper SHARED 
     ${CMAKE_SOURCE_DIR}/Plugins/Samples/Housekeeper/Plugin.cpp
     ${HOUSEKEEPER_RESOURCES}
     )
   
   target_link_libraries(Housekeeper 
-    ThirdPartyPlugins
+    PluginsFramework
     )
   
   set_target_properties(
--- a/OrthancServer/Plugins/Samples/ConnectivityChecks/CMakeLists.txt	Tue Apr 11 20:50:43 2023 +0200
+++ b/OrthancServer/Plugins/Samples/ConnectivityChecks/CMakeLists.txt	Wed Apr 12 11:54:29 2023 +0200
@@ -50,8 +50,9 @@
 
 EmbedResources(
   --framework-path=${CMAKE_SOURCE_DIR}/../../../../OrthancFramework/Sources
+  --target=ConnectivityChecksResources
   WEB_RESOURCES  ${CMAKE_CURRENT_SOURCE_DIR}/WebResources
-  LIBRARIES      ${JAVASCRIPT_LIBS_DIR}
+  LIBRARIES      ${CONNECTIVITY_CHECKS_JAVASCRIPT_DIR}
   )
 
 add_definitions(
--- a/OrthancServer/Plugins/Samples/ConnectivityChecks/JavaScriptLibraries.cmake	Tue Apr 11 20:50:43 2023 +0200
+++ b/OrthancServer/Plugins/Samples/ConnectivityChecks/JavaScriptLibraries.cmake	Wed Apr 12 11:54:29 2023 +0200
@@ -40,8 +40,8 @@
   "${BASE_URL}/jquery-3.4.1.min.js")
 
 
-set(JAVASCRIPT_LIBS_DIR  ${CMAKE_CURRENT_BINARY_DIR}/javascript-libs)
-file(MAKE_DIRECTORY ${JAVASCRIPT_LIBS_DIR})
+set(CONNECTIVITY_CHECKS_JAVASCRIPT_DIR  ${CMAKE_CURRENT_BINARY_DIR}/connectivity-checks-javascript)
+file(MAKE_DIRECTORY ${CONNECTIVITY_CHECKS_JAVASCRIPT_DIR})
 
 file(COPY
   ${CMAKE_CURRENT_BINARY_DIR}/axios-0.19.0/dist/axios.min.js
@@ -51,12 +51,12 @@
   ${CMAKE_CURRENT_BINARY_DIR}/vue-2.6.10/dist/vue.min.js
   ${CMAKE_SOURCE_DIR}/ThirdPartyDownloads/jquery-3.4.1.min.js
   DESTINATION
-  ${JAVASCRIPT_LIBS_DIR}/js
+  ${CONNECTIVITY_CHECKS_JAVASCRIPT_DIR}/js
   )
 
 file(COPY
   ${CMAKE_CURRENT_BINARY_DIR}/bootstrap-4.3.1/dist/css/bootstrap.min.css
   ${CMAKE_CURRENT_BINARY_DIR}/bootstrap-4.3.1/dist/css/bootstrap.min.css.map
   DESTINATION
-  ${JAVASCRIPT_LIBS_DIR}/css
+  ${CONNECTIVITY_CHECKS_JAVASCRIPT_DIR}/css
   )
--- a/OrthancServer/Plugins/Samples/ConnectivityChecks/Plugin.cpp	Tue Apr 11 20:50:43 2023 +0200
+++ b/OrthancServer/Plugins/Samples/ConnectivityChecks/Plugin.cpp	Wed Apr 12 11:54:29 2023 +0200
@@ -20,7 +20,7 @@
  **/
 
 
-#include <EmbeddedResources.h>
+#include <ConnectivityChecksResources.h>
 #include <orthanc/OrthancCPlugin.h>
 
 #include "../../../../OrthancFramework/Sources/OrthancException.h"