فهرست منبع

Merge pull request #651 from abma/master

fix #634, remove -fPIC for static builds / 32 bit
Kim Kulling 10 سال پیش
والد
کامیت
bd6a069fa8
1فایلهای تغییر یافته به همراه5 افزوده شده و 1 حذف شده
  1. 5 1
      CMakeLists.txt

+ 5 - 1
CMakeLists.txt

@@ -27,6 +27,7 @@ execute_process(
   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
   OUTPUT_VARIABLE GIT_BRANCH
   OUTPUT_VARIABLE GIT_BRANCH
   OUTPUT_STRIP_TRAILING_WHITESPACE
   OUTPUT_STRIP_TRAILING_WHITESPACE
+  ERROR_QUIET
 )
 )
 
 
 # Get the latest abbreviated commit hash of the working branch
 # Get the latest abbreviated commit hash of the working branch
@@ -35,6 +36,7 @@ execute_process(
   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
   OUTPUT_VARIABLE GIT_COMMIT_HASH
   OUTPUT_VARIABLE GIT_COMMIT_HASH
   OUTPUT_STRIP_TRAILING_WHITESPACE
   OUTPUT_STRIP_TRAILING_WHITESPACE
+  ERROR_QUIET
 )
 )
 
 
 if(NOT GIT_COMMIT_HASH)
 if(NOT GIT_COMMIT_HASH)
@@ -63,7 +65,9 @@ if( CMAKE_COMPILER_IS_MINGW )
 endif()
 endif()
 
 
 if((CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) AND NOT CMAKE_COMPILER_IS_MINGW)
 if((CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) AND NOT CMAKE_COMPILER_IS_MINGW)
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") # this is a very important switch and some libraries seem now to have it....
+  if (BUILD_SHARED_LIBS AND CMAKE_SIZEOF_VOID_P EQUAL 8) # -fPIC is only required for shared libs on 64 bit
+     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
+  endif()
   # hide all not-exported symbols
   # hide all not-exported symbols
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -Wall" )
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -Wall" )
 elseif(MSVC)
 elseif(MSVC)