Orthanc/OrthancFramework/SharedLibrary/NOTES.txt
2025-06-23 19:07:37 +05:30

68 lines
1.8 KiB
Plaintext

NB: CMake option "ORTHANC_INSTALL_PREFIX" can be used to specify an
installation directory (to be used with "make install" or "ninja
install").
Dynamic linking under Ubuntu 18.04
==================================
$ cd i
$ cmake .. -DCMAKE_BUILD_TYPE=Debug -DALLOW_DOWNLOADS=ON \
-DUSE_SYSTEM_CIVETWEB=OFF -DUSE_SYSTEM_GOOGLE_TEST=OFF -G Ninja
$ ninja -j4
$ ./UnitTests
Static linking under GNU/Linux
==============================
$ cd s
$ cmake .. -DCMAKE_BUILD_TYPE=Debug -DSTATIC_BUILD=ON -G Ninja
$ ninja -j4
$ ./UnitTests
Linux Standard Base
===================
$ cd lsb
$ LSB_CC=gcc-4.8 LSB_CXX=g++-4.8 cmake /home/jodogne/Subversion/orthanc/OrthancFramework/SharedLibrary -G Ninja \
-DCMAKE_TOOLCHAIN_FILE=/home/jodogne/Subversion/orthanc/OrthancFramework/Resources/Toolchains/LinuxStandardBaseToolchain.cmake \
-DCMAKE_BUILD_TYPE=Release -DSTATIC_BUILD=ON
$ ninja -j4
!! For some reason, the linking step works on Ubuntu 16.04, but *not*
on Ubuntu 18.04. It looks as it the symbols from the C++ standard
were missing.
Cross-compilation to Windows 32 (using MinGW)
===============================
$ cd w32
$ cmake .. -DCMAKE_BUILD_TYPE=Release -DSTATIC_BUILD=ON -DUSE_LEGACY_LIBICU=ON -G Ninja \
-DCMAKE_TOOLCHAIN_FILE=/home/jodogne/Subversion/orthanc/Resources/MinGW-W64-Toolchain32.cmake
$ ninja -j4
$ cp /usr/i686-w64-mingw32/lib/libwinpthread-1.dll .
$ cp /usr/lib/gcc/i686-w64-mingw32/7.3-win32/libgcc_s_sjlj-1.dll .
$ wine ./UnitTests.exe
WebAssembly (for the "upstream" version of emscripten)
===========
$ cd wasm
$ source ~/Downloads/emsdk/emsdk_env.sh
$ cmake .. -DCMAKE_BUILD_TYPE=Release -DALLOW_DOWNLOADS=ON -G Ninja \
-DCMAKE_TOOLCHAIN_FILE=${EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
$ ninja -j4