From 542711f862c127dfc3a1180d9489505ce514288f Mon Sep 17 00:00:00 2001 From: leper Date: Wed, 9 Jan 2019 00:55:19 +0100 Subject: [PATCH 1/2] Link with -fPIC when using Clang. Remove the need for a few workarounds by handling this in just one place. --- cmake/OptimalOptions.cmake | 4 +++- src/bc6h/CMakeLists.txt | 6 ------ src/bc7/CMakeLists.txt | 6 ------ src/nvtt/squish/CMakeLists.txt | 12 ------------ 4 files changed, 3 insertions(+), 25 deletions(-) diff --git a/cmake/OptimalOptions.cmake b/cmake/OptimalOptions.cmake index ac450c9..c9ff881 100644 --- a/cmake/OptimalOptions.cmake +++ b/cmake/OptimalOptions.cmake @@ -43,9 +43,11 @@ IF(CMAKE_COMPILER_IS_GNUCXX) IF(CMAKE_BUILD_TYPE STREQUAL "debug") ADD_DEFINITIONS(-D_DEBUG) ENDIF(CMAKE_BUILD_TYPE STREQUAL "debug") +ENDIF(CMAKE_COMPILER_IS_GNUCXX) +if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") -ENDIF(CMAKE_COMPILER_IS_GNUCXX) +ENDIF() IF(MSVC) # @@ Some of these might only be available in VC8. diff --git a/src/bc6h/CMakeLists.txt b/src/bc6h/CMakeLists.txt index 5c01c6c..fd75e74 100644 --- a/src/bc6h/CMakeLists.txt +++ b/src/bc6h/CMakeLists.txt @@ -15,9 +15,3 @@ SET(BC6H_SRCS ADD_LIBRARY(bc6h STATIC ${BC6H_SRCS}) TARGET_LINK_LIBRARIES(bc6h nvcore nvmath) - -IF(NOT WIN32) - IF(CMAKE_COMPILER_IS_GNUCXX) - SET_TARGET_PROPERTIES(bc6h PROPERTIES COMPILE_FLAGS -fPIC) - ENDIF(CMAKE_COMPILER_IS_GNUCXX) -ENDIF(NOT WIN32) diff --git a/src/bc7/CMakeLists.txt b/src/bc7/CMakeLists.txt index 99df434..db7d4f9 100644 --- a/src/bc7/CMakeLists.txt +++ b/src/bc7/CMakeLists.txt @@ -25,9 +25,3 @@ ADD_LIBRARY(bc7 STATIC ${BC7_SRCS}) TARGET_LINK_LIBRARIES(bc7 nvcore nvmath) TARGET_LINK_LIBRARIES(bc7 nvmath) - -IF(NOT WIN32) - IF(CMAKE_COMPILER_IS_GNUCXX) - SET_TARGET_PROPERTIES(bc7 PROPERTIES COMPILE_FLAGS -fPIC) - ENDIF(CMAKE_COMPILER_IS_GNUCXX) -ENDIF(NOT WIN32) diff --git a/src/nvtt/squish/CMakeLists.txt b/src/nvtt/squish/CMakeLists.txt index 832013e..f7b0ad7 100644 --- a/src/nvtt/squish/CMakeLists.txt +++ b/src/nvtt/squish/CMakeLists.txt @@ -21,15 +21,3 @@ SET(SQUISH_SRCS simd_ve.h) ADD_LIBRARY(squish STATIC ${SQUISH_SRCS}) - -IF(NOT WIN32) - - IF("${CMAKE_CXX_COMPILER}" MATCHES "clang(\\+\\+)?$" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - SET(CMAKE_COMPILER_IS_CLANGXX 1) - ENDIF() - - IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX) - SET_TARGET_PROPERTIES(squish PROPERTIES COMPILE_FLAGS -fPIC) - ENDIF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX) -ENDIF(NOT WIN32) - From 2ac75fc932c3cf0df33903516e04ee4502986fc5 Mon Sep 17 00:00:00 2001 From: leper Date: Wed, 9 Jan 2019 00:55:49 +0100 Subject: [PATCH 2/2] Remove duplicate link instruction. --- src/bc7/CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/bc7/CMakeLists.txt b/src/bc7/CMakeLists.txt index db7d4f9..566fe1f 100644 --- a/src/bc7/CMakeLists.txt +++ b/src/bc7/CMakeLists.txt @@ -23,5 +23,3 @@ SET(BC7_SRCS ADD_LIBRARY(bc7 STATIC ${BC7_SRCS}) TARGET_LINK_LIBRARIES(bc7 nvcore nvmath) - -TARGET_LINK_LIBRARIES(bc7 nvmath)