build: fix erroneous overwriting of flags

Always use list(APPEND) as it will perform the desired action even if the list
is empty or previously unset.  The first set is harmless, however, the
subsequent set was overwriting the previous flag setup resulting in an improper
compilation command being generated.  This manifested as a build failure on
Linux when using cmake + ninja.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203638 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Saleem Abdulrasool 2014-03-12 04:11:31 +00:00
parent 89a52ffd54
commit eb547816ea

View File

@ -180,7 +180,7 @@ if (MSVC)
# headers. # headers.
else() else()
if (LIBCXX_HAS_NOSTDINCXX_FLAG) if (LIBCXX_HAS_NOSTDINCXX_FLAG)
set(LIBCXX_CXX_REQUIRED_FLAGS -nostdinc++) list(APPEND LIBCXX_CXX_REQUIRED_FLAGS -nostdinc++)
endif() endif()
if (LIBCXX_ENABLE_CXX0X AND LIBCXX_HAS_STDCXX0X_FLAG) if (LIBCXX_ENABLE_CXX0X AND LIBCXX_HAS_STDCXX0X_FLAG)
list(APPEND LIBCXX_CXX_REQUIRED_FLAGS -std=c++0x) list(APPEND LIBCXX_CXX_REQUIRED_FLAGS -std=c++0x)
@ -196,7 +196,7 @@ endmacro()
# Get warning flags # Get warning flags
if (NOT MSVC) if (NOT MSVC)
append_if(LIBCXX_CXX_WARNING_FLAGS LIBCXX_HAS_WALL_FLAG -Wall) append_if(LIBCXX_CXX_WARNING_FLAGS LIBCXX_HAS_WALL_FLAG -Wall)
set(LIBCXX_CXX_REQUIRED_FLAGS -Werror=return-type) list(APPEND LIBCXX_CXX_REQUIRED_FLAGS -Werror=return-type)
endif() endif()
append_if(LIBCXX_CXX_WARNING_FLAGS LIBCXX_HAS_W_FLAG -W) append_if(LIBCXX_CXX_WARNING_FLAGS LIBCXX_HAS_W_FLAG -W)