annotate Plugins/Samples/Common/OrthancPlugins.cmake @ 1647:fe458dde986e

hide symbols in plugins
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 25 Sep 2015 11:02:26 +0200
parents 97268448bdfc
children a412ad57f0f9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1425
97268448bdfc refactoring of samples
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1405
diff changeset
1 include(CheckIncludeFiles)
1395
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
2 include(CheckLibraryExists)
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
3
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
4
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
5 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
6 link_libraries(uuid)
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
7 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pthread")
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
8 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -pthread")
1647
fe458dde986e hide symbols in plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1425
diff changeset
9
1395
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
10 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
11 link_libraries(rpcrt4 ws2_32 secur32)
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
12 if (CMAKE_COMPILER_IS_GNUCXX)
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
13 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static-libgcc -static-libstdc++")
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
14 endif()
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
15
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
16 CHECK_LIBRARY_EXISTS(winpthread pthread_create "" HAVE_WIN_PTHREAD)
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
17 if (HAVE_WIN_PTHREAD)
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
18 # This line is necessary to compile with recent versions of MinGW,
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
19 # otherwise "libwinpthread-1.dll" is not statically linked.
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
20 SET(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -Wl,-Bstatic -lstdc++ -lpthread -Wl,-Bdynamic")
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
21 endif()
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
22 endif ()
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
23
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
24
1647
fe458dde986e hide symbols in plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1425
diff changeset
25 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR
fe458dde986e hide symbols in plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1425
diff changeset
26 ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD" OR
fe458dde986e hide symbols in plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1425
diff changeset
27 ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
fe458dde986e hide symbols in plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1425
diff changeset
28 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--version-script=${SAMPLES_ROOT}/Common/VersionScript.map -Wl,--no-undefined")
fe458dde986e hide symbols in plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1425
diff changeset
29 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
fe458dde986e hide symbols in plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1425
diff changeset
30 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -exported_symbols_list ${CMAKE_SOURCE_DIR}/Plugins/Samples/Common/ExportedSymbols.list")
fe458dde986e hide symbols in plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1425
diff changeset
31 endif()
fe458dde986e hide symbols in plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1425
diff changeset
32
fe458dde986e hide symbols in plugins
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1425
diff changeset
33
1395
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
34 if (CMAKE_COMPILER_IS_GNUCXX)
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
35 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -pedantic")
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
36 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic")
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
37 endif()
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
38
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
39
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
40 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
41 # Linking with "pthread" is necessary, otherwise the software crashes
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
42 # http://sourceware.org/bugzilla/show_bug.cgi?id=10652#c17
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
43 link_libraries(dl rt)
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
44 endif()
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
45
1425
97268448bdfc refactoring of samples
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1405
diff changeset
46 include_directories(${SAMPLES_ROOT}/../Include/)
1395
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
47
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
48 if (MSVC)
1425
97268448bdfc refactoring of samples
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1405
diff changeset
49 include_directories(${SAMPLES_ROOT}/../../Resources/ThirdParty/VisualStudio/)
1395
785e01da36a1 fix visual studio
jodogne
parents: 1390
diff changeset
50 endif()