From 97828a4be04adec5b35133ca16c0c975ce51d929 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 3 Jul 2018 17:23:03 -0700 Subject: [vcpkg] Use -fPIC in all builds to enable mixing static libs with shared objects. --- scripts/toolchains/freebsd.cmake | 14 ++++++++++++++ scripts/toolchains/linux.cmake | 4 ++-- scripts/toolchains/osx.cmake | 14 ++++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) (limited to 'scripts/toolchains') diff --git a/scripts/toolchains/freebsd.cmake b/scripts/toolchains/freebsd.cmake index bfeabe18b..9edbb8394 100644 --- a/scripts/toolchains/freebsd.cmake +++ b/scripts/toolchains/freebsd.cmake @@ -2,3 +2,17 @@ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "FreeBSD") set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") endif() set(CMAKE_SYSTEM_NAME FreeBSD CACHE STRING "") + +get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) +if(NOT _CMAKE_IN_TRY_COMPILE) + set(CMAKE_CXX_FLAGS "${VCPKG_CXX_FLAGS} -fPIC" CACHE STRING "") + set(CMAKE_C_FLAGS "${VCPKG_C_FLAGS} -fPIC" CACHE STRING "") + + set(CMAKE_CXX_FLAGS_DEBUG "${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "") + set(CMAKE_C_FLAGS_DEBUG "${VCPKG_C_FLAGS_DEBUG}" CACHE STRING "") + set(CMAKE_CXX_FLAGS_RELEASE "${VCPKG_CXX_FLAGS_RELEASE}" CACHE STRING "") + set(CMAKE_C_FLAGS_RELEASE "${VCPKG_C_FLAGS_RELEASE}" CACHE STRING "") + + set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${VCPKG_LINKER_FLAGS}" CACHE STRING "") + set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${VCPKG_LINKER_FLAGS}" CACHE STRING "") +endif() diff --git a/scripts/toolchains/linux.cmake b/scripts/toolchains/linux.cmake index 54f80c6a2..524d745cf 100644 --- a/scripts/toolchains/linux.cmake +++ b/scripts/toolchains/linux.cmake @@ -5,8 +5,8 @@ set(CMAKE_SYSTEM_NAME Linux CACHE STRING "") get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) if(NOT _CMAKE_IN_TRY_COMPILE) - set(CMAKE_CXX_FLAGS "${VCPKG_CXX_FLAGS}" CACHE STRING "") - set(CMAKE_C_FLAGS "${VCPKG_C_FLAGS}" CACHE STRING "") + set(CMAKE_CXX_FLAGS "${VCPKG_CXX_FLAGS} -fPIC" CACHE STRING "") + set(CMAKE_C_FLAGS "${VCPKG_C_FLAGS} -fPIC" CACHE STRING "") set(CMAKE_CXX_FLAGS_DEBUG "${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "") set(CMAKE_C_FLAGS_DEBUG "${VCPKG_C_FLAGS_DEBUG}" CACHE STRING "") diff --git a/scripts/toolchains/osx.cmake b/scripts/toolchains/osx.cmake index dd21f5264..b8f261d09 100644 --- a/scripts/toolchains/osx.cmake +++ b/scripts/toolchains/osx.cmake @@ -2,3 +2,17 @@ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") endif() set(CMAKE_SYSTEM_NAME Darwin CACHE STRING "") + +get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) +if(NOT _CMAKE_IN_TRY_COMPILE) + set(CMAKE_CXX_FLAGS "${VCPKG_CXX_FLAGS} -fPIC" CACHE STRING "") + set(CMAKE_C_FLAGS "${VCPKG_C_FLAGS} -fPIC" CACHE STRING "") + + set(CMAKE_CXX_FLAGS_DEBUG "${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "") + set(CMAKE_C_FLAGS_DEBUG "${VCPKG_C_FLAGS_DEBUG}" CACHE STRING "") + set(CMAKE_CXX_FLAGS_RELEASE "${VCPKG_CXX_FLAGS_RELEASE}" CACHE STRING "") + set(CMAKE_C_FLAGS_RELEASE "${VCPKG_C_FLAGS_RELEASE}" CACHE STRING "") + + set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${VCPKG_LINKER_FLAGS}" CACHE STRING "") + set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${VCPKG_LINKER_FLAGS}" CACHE STRING "") +endif() -- cgit v1.2.3