annotate CodeGeneration/README.txt @ 37:14af12f73fb5

added CodeGeneration/README.txt
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 02 Jul 2024 17:05:56 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
37
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 Introduction
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 ============
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 This folder contains the two Python scripts that analyze the header of
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 the Orthanc Plugin SDK using clang, then extract the code model of the
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 SDK as a JSON file, and finally create the Java wrapper.
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 The code model is written to: ../CodeGeneration/CodeModel.json
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 The Java wrapper is written to: ../JavaSDK/be/uclouvain/orthanc/
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 The C++ interface is written to: ../Plugin/NativeSDK.cpp
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 Note that the generated code model is also used in the orthanc-python
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 project, starting with its release 4.3.
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 Usage on Ubuntu 22.04
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 =====================
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 $ sudo apt-get install python3-clang-14 python3-pystache
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 $ python3 ./ParseOrthancSDK.py --libclang=libclang-14.so.1 \
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 --source ../Resources/Orthanc/Sdk-1.10.0/orthanc/OrthancCPlugin.h \
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 --target ./CodeModel.json
14af12f73fb5 added CodeGeneration/README.txt
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 $ python3 ./CodeGeneration.py --source ./CodeModel.json