From 3ecda6dbba4f8f8de89e7e1efd8ee40d00e5bb87 Mon Sep 17 00:00:00 2001 From: eroen Date: Wed, 24 Oct 2012 12:20:26 +0200 Subject: Compile static dependency libraries as PIC. Otherwise, we get position dependent textrels in the shared libraries that link against them, which is slightly bad for performance (and very bad for portability). Cross-platform support for handling this was added in cmake 2.8.9. --- CMakeLists.txt | 2 +- depends/md5/CMakeLists.txt | 3 ++- depends/tinyxml/CMakeLists.txt | 3 ++- depends/tthread/CMakeLists.txt | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 14436dcf..31f63cd3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ else(CMAKE_CONFIGURATION_TYPES) endif(CMAKE_CONFIGURATION_TYPES) ## some generic CMake magic -cmake_minimum_required(VERSION 2.8 FATAL_ERROR) +cmake_minimum_required(VERSION 2.8.9 FATAL_ERROR) project(dfhack) if(MSVC) diff --git a/depends/md5/CMakeLists.txt b/depends/md5/CMakeLists.txt index 69e0cf0b..df14e3c5 100644 --- a/depends/md5/CMakeLists.txt +++ b/depends/md5/CMakeLists.txt @@ -1,3 +1,4 @@ project(dfhack-md5) ADD_LIBRARY(dfhack-md5 STATIC EXCLUDE_FROM_ALL md5.cpp md5wrapper.cpp) -IDE_FOLDER(dfhack-md5 "Depends") \ No newline at end of file +set_target_properties(dfhack-md5 PROPERTIES POSITION_INDEPENDENT_CODE True) +IDE_FOLDER(dfhack-md5 "Depends") diff --git a/depends/tinyxml/CMakeLists.txt b/depends/tinyxml/CMakeLists.txt index 7d924924..f97f4bc0 100644 --- a/depends/tinyxml/CMakeLists.txt +++ b/depends/tinyxml/CMakeLists.txt @@ -1,3 +1,4 @@ project(dfhack-tinyxml) ADD_LIBRARY(dfhack-tinyxml STATIC EXCLUDE_FROM_ALL tinystr.cpp tinyxml.cpp tinyxmlerror.cpp tinyxmlparser.cpp) -IDE_FOLDER(dfhack-tinyxml "Depends") \ No newline at end of file +set_target_properties(dfhack-tinyxml PROPERTIES POSITION_INDEPENDENT_CODE True) +IDE_FOLDER(dfhack-tinyxml "Depends") diff --git a/depends/tthread/CMakeLists.txt b/depends/tthread/CMakeLists.txt index d34c19c8..2757a6ed 100644 --- a/depends/tthread/CMakeLists.txt +++ b/depends/tthread/CMakeLists.txt @@ -1,6 +1,7 @@ PROJECT(dfhack-tinythread) ADD_LIBRARY(dfhack-tinythread STATIC EXCLUDE_FROM_ALL tinythread.cpp) +set_target_properties(dfhack-tinythread PROPERTIES POSITION_INDEPENDENT_CODE True) if(UNIX) target_link_libraries(dfhack-tinythread pthread) endif() -IDE_FOLDER(dfhack-tinythread "Depends") \ No newline at end of file +IDE_FOLDER(dfhack-tinythread "Depends") -- cgit v1.2.1