Mercurial > hg > orthanc-java
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 |
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 |