# HG changeset patch # User Sebastien Jodogne # Date 1594018634 -7200 # Node ID 52b56343d268b67e719cd2fbf2598c1e528f5a06 # Parent ae2049a3616a02ad5683a21595acceff7e8c1c2e using OrthancServer/Plugins/Samples/Common/OrthancPluginsExports.cmake diff -r ae2049a3616a -r 52b56343d268 CMakeLists.txt --- a/CMakeLists.txt Wed Jul 01 11:30:23 2020 +0200 +++ b/CMakeLists.txt Mon Jul 06 08:57:14 2020 +0200 @@ -48,15 +48,6 @@ mark_as_advanced(ORTHANC_FRAMEWORK_STATIC) -if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR - ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD" OR - ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" OR - ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD") - set(ENABLE_PLUGINS_VERSION_SCRIPT OFF) - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--version-script=${CMAKE_SOURCE_DIR}/Resources/Orthanc/Plugins/VersionScriptPlugins.map") -endif() - - # Download and setup the Orthanc framework if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "system") set(ENABLE_GOOGLE_TEST ON) @@ -83,6 +74,7 @@ include(${CMAKE_SOURCE_DIR}/Resources/CMake/JavaScriptLibraries.cmake) +include(${CMAKE_SOURCE_DIR}/Resources/Orthanc/Plugins/OrthancPluginsExports.cmake) # Check that the Orthanc SDK headers are available diff -r ae2049a3616a -r 52b56343d268 Resources/Orthanc/CMake/Compiler.cmake --- a/Resources/Orthanc/CMake/Compiler.cmake Wed Jul 01 11:30:23 2020 +0200 +++ b/Resources/Orthanc/CMake/Compiler.cmake Mon Jul 06 08:57:14 2020 +0200 @@ -113,11 +113,6 @@ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined") endif() - if (NOT DEFINED ENABLE_PLUGINS_VERSION_SCRIPT OR - ENABLE_PLUGINS_VERSION_SCRIPT) - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--version-script=${CMAKE_CURRENT_LIST_DIR}/../VersionScriptPlugins.map") - endif() - # Remove the "-rdynamic" option # http://www.mail-archive.com/cmake@cmake.org/msg08837.html set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "") @@ -203,8 +198,6 @@ endif() elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") - SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -exported_symbols_list ${CMAKE_CURRENT_LIST_DIR}/../ExportedSymbolsPlugins.list") - add_definitions( -D_XOPEN_SOURCE=1 ) diff -r ae2049a3616a -r 52b56343d268 Resources/Orthanc/Plugins/ExportedSymbolsPlugins.list --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Resources/Orthanc/Plugins/ExportedSymbolsPlugins.list Mon Jul 06 08:57:14 2020 +0200 @@ -0,0 +1,7 @@ +# This is the list of the symbols that must be exported by Orthanc +# plugins, if targeting OS X + +_OrthancPluginInitialize +_OrthancPluginFinalize +_OrthancPluginGetName +_OrthancPluginGetVersion diff -r ae2049a3616a -r 52b56343d268 Resources/Orthanc/Plugins/OrthancPluginsExports.cmake --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Resources/Orthanc/Plugins/OrthancPluginsExports.cmake Mon Jul 06 08:57:14 2020 +0200 @@ -0,0 +1,12 @@ +# In Orthanc <= 1.7.1, the instructions below were part of +# "Compiler.cmake", and were protected by the (now unused) option +# "ENABLE_PLUGINS_VERSION_SCRIPT" in CMake + +if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR + ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD" OR + ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" OR + ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--version-script=${CMAKE_CURRENT_LIST_DIR}/VersionScriptPlugins.map") +elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -exported_symbols_list ${CMAKE_CURRENT_LIST_DIR}/ExportedSymbolsPlugins.list") +endif() diff -r ae2049a3616a -r 52b56343d268 Resources/SyncOrthancFolder.py --- a/Resources/SyncOrthancFolder.py Wed Jul 01 11:30:23 2020 +0200 +++ b/Resources/SyncOrthancFolder.py Mon Jul 06 08:57:14 2020 +0200 @@ -25,10 +25,12 @@ ('OrthancFramework/Resources/Toolchains/MinGW-W64-Toolchain32.cmake', 'Toolchains'), ('OrthancFramework/Resources/Toolchains/MinGW-W64-Toolchain64.cmake', 'Toolchains'), ('OrthancFramework/Resources/Toolchains/MinGWToolchain.cmake', 'Toolchains'), - ('OrthancFramework/Resources/VersionScriptPlugins.map', 'Plugins'), + ('OrthancServer/Plugins/Samples/Common/ExportedSymbolsPlugins.list', 'Plugins'), ('OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp', 'Plugins'), ('OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.h', 'Plugins'), ('OrthancServer/Plugins/Samples/Common/OrthancPluginException.h', 'Plugins'), + ('OrthancServer/Plugins/Samples/Common/OrthancPluginsExports.cmake', 'Plugins'), + ('OrthancServer/Plugins/Samples/Common/VersionScriptPlugins.map', 'Plugins'), ] SDK = [