Browse Source

Move setting of PIC code to a central location


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4648 3789f03b-4d11-0410-bbf8-ca57d06f2519
tags/v1.1.90
DRC 12 years ago
parent
commit
ce82f4bbcd

+ 13
- 0
common/CMakeLists.txt View File

@@ -14,3 +14,16 @@ add_subdirectory(rdr)
add_subdirectory(network)
add_subdirectory(Xregion)
add_subdirectory(rfb)

# For any convenience libraries that are linked into libvnc.so, we need to
# explicitly build their corresponding sources using PIC. WIN32 is excluded
# because PIC code does not exist on that platform and MinGW complains if -fPIC
# is passed (additionally, libvnc is not used on Windows.)

if(CMAKE_COMPILER_IS_GNUCXX AND (CMAKE_SIZEOF_VOID_P MATCHES 8) AND NOT WIN32)
set_target_properties(os rdr network Xregion rfb
PROPERTIES COMPILE_FLAGS -fPIC)
if(USE_INCLUDED_ZLIB)
set_target_properties(zlib PROPERTIES COMPILE_FLAGS -fPIC)
endif()
endif()

+ 0
- 8
common/Xregion/CMakeLists.txt View File

@@ -1,14 +1,6 @@
add_library(Xregion STATIC
Region.c)

# This code goes into libvnc.so, so it needs to be PIC on x86_64.
# (It should be on archs as well, but we prefer performance over memory
# efficiency. Win64 is excluded because PIC is always on there and it
# complains when you give it the explicit flag.)
if(CMAKE_COMPILER_IS_GNUCXX AND (CMAKE_SIZEOF_VOID_P MATCHES 8) AND NOT WIN32)
set_target_properties(Xregion PROPERTIES COMPILE_FLAGS -fPIC)
endif()

if(UNIX)
libtool_create_control_file(Xregion)
endif()

+ 0
- 8
common/network/CMakeLists.txt View File

@@ -3,14 +3,6 @@ include_directories(${CMAKE_SOURCE_DIR}/common)
add_library(network STATIC
TcpSocket.cxx)

# This code goes into libvnc.so, so it needs to be PIC on x86_64.
# (It should be on archs as well, but we prefer performance over memory
# efficiency. Win64 is excluded because PIC is always on there and it
# complains when you give it the explicit flag.)
if(CMAKE_COMPILER_IS_GNUCXX AND (CMAKE_SIZEOF_VOID_P MATCHES 8) AND NOT WIN32)
set_target_properties(network PROPERTIES COMPILE_FLAGS -fPIC)
endif()

if(UNIX)
libtool_create_control_file(network)
endif()

+ 0
- 8
common/os/CMakeLists.txt View File

@@ -5,11 +5,3 @@ add_library(os STATIC
net.c
os.cxx
tls.cxx)

# This code goes into libvnc.so, so it needs to be PIC on x86_64.
# (It should be on archs as well, but we prefer performance over memory
# efficiency. Win64 is excluded because PIC is always on there and it
# complains when you give it the explicit flag.)
if(CMAKE_COMPILER_IS_GNUCXX AND (CMAKE_SIZEOF_VOID_P MATCHES 8) AND NOT WIN32)
set_target_properties(os PROPERTIES COMPILE_FLAGS -fPIC)
endif()

+ 0
- 8
common/rdr/CMakeLists.txt View File

@@ -24,14 +24,6 @@ endif()

target_link_libraries(rdr ${RDR_LIBRARIES})

# This code goes into libvnc.so, so it needs to be PIC on x86_64.
# (It should be on archs as well, but we prefer performance over memory
# efficiency. Win64 is excluded because PIC is always on there and it
# complains when you give it the explicit flag.)
if(CMAKE_COMPILER_IS_GNUCXX AND (CMAKE_SIZEOF_VOID_P MATCHES 8) AND NOT WIN32)
set_target_properties(rdr PROPERTIES COMPILE_FLAGS -fPIC)
endif()

if(UNIX)
libtool_create_control_file(rdr)
endif()

+ 0
- 8
common/rfb/CMakeLists.txt View File

@@ -95,14 +95,6 @@ add_library(rfb STATIC ${RFB_SOURCES})

target_link_libraries(rfb ${RFB_LIBRARIES})

# This code goes into libvnc.so, so it needs to be PIC on x86_64.
# (It should be on archs as well, but we prefer performance over memory
# efficiency. Win64 is excluded because PIC is always on there and it
# complains when you give it the explicit flag.)
if(CMAKE_COMPILER_IS_GNUCXX AND (CMAKE_SIZEOF_VOID_P MATCHES 8) AND NOT WIN32)
set_target_properties(rfb PROPERTIES COMPILE_FLAGS -fPIC)
endif()

if(UNIX)
libtool_create_control_file(rfb)
endif()

+ 0
- 8
common/zlib/CMakeLists.txt View File

@@ -20,11 +20,3 @@ add_library(zlib STATIC
trees.c
uncompr.c
zutil.c)

# This code goes into libvnc.so, so it needs to be PIC on x86_64.
# (It should be on other archs as well, but we prefer performance over memory
# efficiency. Win64 is excluded because PIC is always on there and it
# complains when you give it the explicit flag.)
if(CMAKE_COMPILER_IS_GNUCXX AND (CMAKE_SIZEOF_VOID_P MATCHES 8) AND NOT WIN32)
set_target_properties(zlib PROPERTIES COMPILE_FLAGS -fPIC)
endif()

Loading…
Cancel
Save