From 291f28fcceabe83d3ba4c49b4a5700fc9e90af48 Mon Sep 17 00:00:00 2001 From: redfish Date: Sun, 8 Oct 2017 18:32:15 -0400 Subject: [PATCH] cmake: add stdlib args for clang build on Linux Otherwise linking fails with undefined symbol ... basic_string ... and libstdc++: DSO not on included in link command. --- build/CMakeLists.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt index 6b0c0cf3..03e4c450 100644 --- a/build/CMakeLists.txt +++ b/build/CMakeLists.txt @@ -178,6 +178,9 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") endif () elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") # more tweaks + if (NOT (MSVC OR MSYS OR APPLE)) + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++" ) + endif() endif () if (WITH_HARDENING AND MSVC) @@ -457,6 +460,12 @@ if (WITH_BINARY) fixup_bundle(\"${APPS}\" \"\" \"${DIRS}\") " COMPONENT Runtime) endif () + + if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + if (NOT (MSVC OR MSYS OR APPLE)) # for Clang build on Linux + target_link_libraries("${PROJECT_NAME}" stdc++) + endif() + endif() endif () install(FILES ../LICENSE