annotate OrthancFramework/SharedLibrary/NOTES.txt @ 5002:c49dd5a480e7

TODO
author Alain Mazy <am@osimis.io>
date Fri, 06 May 2022 12:13:21 +0200
parents fcbac3e8ac1c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4066
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2
4103
c5efe8897da8 rename ORTHANC_INSTALL_DIR as ORTHANC_INSTALL_PREFIX for more consistency with CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4069
diff changeset
3 NB: CMake option "ORTHANC_INSTALL_PREFIX" can be used to specify an
c5efe8897da8 rename ORTHANC_INSTALL_DIR as ORTHANC_INSTALL_PREFIX for more consistency with CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4069
diff changeset
4 installation directory (to be used with "make install" or "ninja
c5efe8897da8 rename ORTHANC_INSTALL_DIR as ORTHANC_INSTALL_PREFIX for more consistency with CMake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4069
diff changeset
5 install").
4066
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8 Dynamic linking under Ubuntu 18.04
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 ==================================
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 $ cd i
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 $ cmake .. -DCMAKE_BUILD_TYPE=Debug -DALLOW_DOWNLOADS=ON \
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 -DUSE_SYSTEM_CIVETWEB=OFF -DUSE_SYSTEM_GOOGLE_TEST=OFF -G Ninja
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 $ ninja -j4
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 $ ./UnitTests
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 Static linking under GNU/Linux
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 ==============================
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 $ cd s
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 $ cmake .. -DCMAKE_BUILD_TYPE=Debug -DSTATIC_BUILD=ON -G Ninja
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 $ ninja -j4
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 $ ./UnitTests
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28
4431
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4103
diff changeset
29 Linux Standard Base
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4103
diff changeset
30 ===================
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4103
diff changeset
31
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4103
diff changeset
32 $ cd lsb
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4103
diff changeset
33 $ LSB_CC=gcc-4.8 LSB_CXX=g++-4.8 cmake /home/jodogne/Subversion/orthanc/OrthancFramework/SharedLibrary -G Ninja \
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4103
diff changeset
34 -DCMAKE_TOOLCHAIN_FILE=/home/jodogne/Subversion/orthanc/OrthancFramework/Resources/Toolchains/LinuxStandardBaseToolchain.cmake \
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4103
diff changeset
35 -DCMAKE_BUILD_TYPE=Release -DSTATIC_BUILD=ON
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4103
diff changeset
36 $ ninja -j4
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4103
diff changeset
37
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4103
diff changeset
38
4432
fcbac3e8ac1c dicom tls for scu
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4431
diff changeset
39 !! For some reason, the linking step works on Ubuntu 16.04, but *not*
fcbac3e8ac1c dicom tls for scu
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4431
diff changeset
40 on Ubuntu 18.04. It looks as it the symbols from the C++ standard
fcbac3e8ac1c dicom tls for scu
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4431
diff changeset
41 were missing.
fcbac3e8ac1c dicom tls for scu
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4431
diff changeset
42
fcbac3e8ac1c dicom tls for scu
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4431
diff changeset
43
4431
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4103
diff changeset
44
4066
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 Cross-compilation to Windows 32 (using MinGW)
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 ===============================
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 $ cd w32
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 $ cmake .. -DCMAKE_BUILD_TYPE=Release -DSTATIC_BUILD=ON -DUSE_LEGACY_LIBICU=ON -G Ninja \
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 -DCMAKE_TOOLCHAIN_FILE=/home/jodogne/Subversion/orthanc/Resources/MinGW-W64-Toolchain32.cmake
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 $ ninja -j4
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 $ cp /usr/i686-w64-mingw32/lib/libwinpthread-1.dll .
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 $ cp /usr/lib/gcc/i686-w64-mingw32/7.3-win32/libgcc_s_sjlj-1.dll .
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55 $ wine ./UnitTests.exe
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59 WebAssembly (for the "upstream" version of emscripten)
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60 ===========
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 $ cd wasm
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63 $ source ~/Downloads/emsdk/emsdk_env.sh
4069
cf454aabfc19 improving EmscriptenParameters.cmake
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4066
diff changeset
64 $ cmake .. -DCMAKE_BUILD_TYPE=Release -DALLOW_DOWNLOADS=ON -G Ninja \
4066
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 -DCMAKE_TOOLCHAIN_FILE=${EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 $ ninja -j4
3a59a021b5de build instructions for the library
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67