summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDane Springmeyer <springmeyer@users.noreply.github.com>2018-04-30 12:46:17 -0700
committerian29 <ian.villeda@gmail.com>2018-05-08 17:30:24 -0400
commit1cb32d32eedd0521e3c0b3d0326e188dbbbfa0c1 (patch)
treeb1bf7f5bf66277fe538ce95add4af460b5f92fae
parent44d76b4f5c97a233078f2e8564f9a5a22f676b89 (diff)
downloadqtlocation-mapboxgl-1cb32d32eedd0521e3c0b3d0326e188dbbbfa0c1.tar.gz
Fix CXX11ABI builds with clang++
The intention of the `WITH_CXX11ABI` option is to allow the user to control toggle whether to compile against the CXX11ABI in libstdc++ (and whether to download a few specific CXX11ABI compatible mason packages as well). This option is important if you are building binaries (like the node binaries) and you want to support a platform that is older and does not have a recent enough libstdc++ to support the CXX11ABI (like ubuntu:precise, centos6, etc). But this was broken for clang++ builds due to the use of `MAKE_COMPILER_IS_GNUCXX`. That was preventing the correct flags from being set when using clang++ effectively making the option useless and resulting in the build defaulting to whatever the libstdc++-dev headers default is on the system (which varies per linux distribution based on how libstdc++-dev is packaged). This fixes the problem by ensuring that clang++ builds still support toggling control over this option. Note: clang++ > 3.9 supports targeting both the new CXX11ABI in libstdc++ (with `-D_GLIBCXX_USE_CXX11_ABI=1`) and targeting the old one (with `-D_GLIBCXX_USE_CXX11_ABI=0`).
-rw-r--r--CMakeLists.txt8
1 files changed, 2 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8307191a3f..46aea73356 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,13 +15,9 @@ include(cmake/xcode.cmake)
if(WITH_CXX11ABI)
set(MASON_CXXABI_SUFFIX -cxx11abi)
- if(CMAKE_COMPILER_IS_GNUCXX)
- add_definitions(-D_GLIBCXX_USE_CXX11_ABI=1)
- endif()
+ add_definitions(-D_GLIBCXX_USE_CXX11_ABI=1)
else()
- if(CMAKE_COMPILER_IS_GNUCXX)
- add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
- endif()
+ add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
endif()
if(WITH_OSMESA AND WITH_EGL)