changeset 238:8f90662adcb4

added consistency in scripts for SDK version
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 17 Jan 2025 16:11:52 +0100 (4 months ago)
parents ddc612497b0f
children 54f4860c7463 94daeae1722b
files .reuse/dep5 CMakeLists.txt CodeAnalysis/GenerateOrthancSDK.py OrthancSDKVersion.cmake Resources/SyncOrthancFolder.py
diffstat 5 files changed, 26 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/.reuse/dep5	Fri Jan 17 15:42:48 2025 +0100
+++ b/.reuse/dep5	Fri Jan 17 16:11:52 2025 +0100
@@ -8,6 +8,7 @@
   CITATION.cff
   CodeAnalysis/README.txt
   NEWS
+  OrthancSDKVersion.cmake
   README
   Sources/README.txt
   TODO
--- a/CMakeLists.txt	Fri Jan 17 15:42:48 2025 +0100
+++ b/CMakeLists.txt	Fri Jan 17 16:11:52 2025 +0100
@@ -35,6 +35,8 @@
   set(ORTHANC_FRAMEWORK_DEFAULT_SOURCE "web")
 endif()
 
+include(${CMAKE_SOURCE_DIR}/OrthancSDKVersion.cmake)
+
 
 if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
   # The Python version cannot be controlled on OS X (yet)
@@ -181,7 +183,7 @@
     )
 else()
   include_directories(
-    ${CMAKE_SOURCE_DIR}/Resources/Orthanc/Sdk-1.10.0
+    ${CMAKE_SOURCE_DIR}/Resources/Orthanc/Sdk-${ORTHANC_SDK_VERSION}
     )
 endif()
 
--- a/CodeAnalysis/GenerateOrthancSDK.py	Fri Jan 17 15:42:48 2025 +0100
+++ b/CodeAnalysis/GenerateOrthancSDK.py	Fri Jan 17 16:11:52 2025 +0100
@@ -27,24 +27,35 @@
 import argparse
 import json
 import os
+import pystache
+import re
 import sys
-import pystache
 
 ROOT = os.path.dirname(os.path.realpath(sys.argv[0]))
 
 
 ##
+## Extract the default SDK version
+##
+
+with open(os.path.join(os.path.dirname(__file__), '..', 'OrthancSDKVersion.cmake'), 'r') as f:
+    m = re.match('^set\(ORTHANC_SDK_VERSION "([^"]+)"\)$', f.read(), re.MULTILINE)
+    assert(m != None)
+    PLUGIN_SDK_VERSION = m.group(1)
+
+
+##
 ## Parse the command-line arguments
 ##
 
 parser = argparse.ArgumentParser(description = 'Generate Python code to wrap the Orthanc SDK.')
 parser.add_argument('--model',
                     default = os.path.join(os.path.dirname(__file__),
-                                           '../Resources/Orthanc/Sdk-1.10.0/CodeModel.json'),
+                                           '../Resources/Orthanc/Sdk-%s/CodeModel.json' % PLUGIN_SDK_VERSION),
                     help = 'Input code model, as generated by the orthanc-java project')
 parser.add_argument('--classes',
                     default = os.path.join(os.path.dirname(__file__),
-                                           '../Resources/Orthanc/Sdk-1.10.0/ClassDocumentation.json'),
+                                           '../Resources/Orthanc/Sdk-%s/ClassDocumentation.json' % PLUGIN_SDK_VERSION),
                     help = 'Input description of classes, as defined in the orthanc-java project')
 parser.add_argument('--target',
                     default = os.path.join(os.path.dirname(__file__),
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/OrthancSDKVersion.cmake	Fri Jan 17 16:11:52 2025 +0100
@@ -0,0 +1,1 @@
+set(ORTHANC_SDK_VERSION "1.10.0")
--- a/Resources/SyncOrthancFolder.py	Fri Jan 17 15:42:48 2025 +0100
+++ b/Resources/SyncOrthancFolder.py	Fri Jan 17 16:11:52 2025 +0100
@@ -31,16 +31,22 @@
 
 import multiprocessing
 import os
+import re
 import stat
 import subprocess
 import urllib.request
 
 TARGET = os.path.join(os.path.dirname(__file__), 'Orthanc')
 ORTHANC_JAVA_VERSION = 'default'
-PLUGIN_SDK_VERSION = '1.10.0'
 ORTHANC_CORE_REPOSITORY = 'https://orthanc.uclouvain.be/hg/orthanc/raw-file'
 ORTHANC_JAVA_REPOSITORY = 'https://orthanc.uclouvain.be/hg/orthanc-java/raw-file'
 
+with open(os.path.join(os.path.dirname(__file__), '..', 'OrthancSDKVersion.cmake'), 'r') as f:
+    m = re.match('^set\(ORTHANC_SDK_VERSION "([0-9.]+)"\)$', f.read(), re.MULTILINE)
+    assert(m != None)
+    PLUGIN_SDK_VERSION = m.group(1)
+
+
 FILES = [
     ('OrthancFramework/Resources/CMake/AutoGeneratedCode.cmake', 'CMake'),
     ('OrthancFramework/Resources/CMake/Compiler.cmake', 'CMake'),