[PATCH] CMake: optionaly enable LLVM to be compile with -std=c++11 (default: OFF)

Eric Christopher echristo at gmail.com
Thu Nov 21 15:26:24 PST 2013


On Thu, Nov 21, 2013 at 2:25 PM, Meador Inge <meadori at codesourcery.com> wrote:
> On 11/21/2013 04:04 PM, Arnaud Allard de Grandmaison wrote:
>
>> In some cases, like when building llvm+lldb with cmake, llvm has to be built in
>> c++11 mode. This patch adds the handling of this option. The default is OFF for
>> now, but I suspect it will move to ON pretty soon given the discussions on the
>> move to c++11 for the llvm codebase.
>
> I am not sure why this is any better than -DCMAKE_CXX_FLAGS=-std=c++11, but
> maybe someone else can argue that point.  Also, if/when we switch it seems like
> the option is no longer useful since disabling means LLVM won't build after
> folks start using C++11 features.
>

*shrug* We can remove the option at that point. I've had one in the
autoconf side for the last few years.

-eric

>> diff --git a/CMakeLists.txt b/CMakeLists.txt
>> index f43204f..40cc7b6 100644
>> --- a/CMakeLists.txt
>> +++ b/CMakeLists.txt
>> @@ -179,6 +179,7 @@ else( MSVC )
>>    option(LLVM_ENABLE_WARNINGS "Enable compiler warnings." ON)
>>  endif()
>>
>> +option(LLVM_ENABLE_CXX11 "Compile with C++11 enabled." OFF)
>
> Should this be documented: http://llvm.org/docs/CMake.html ?
>
>>  option(LLVM_ENABLE_PEDANTIC "Compile with pedantic enabled." ON)
>>  option(LLVM_ENABLE_WERROR "Fail and stop if a warning is triggered." OFF)
>>
>> diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
>> index bb41a58..71a5d25 100644
>> --- a/cmake/modules/HandleLLVMOptions.cmake
>> +++ b/cmake/modules/HandleLLVMOptions.cmake
>> @@ -246,6 +246,10 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
>>    if (LLVM_ENABLE_WERROR)
>>      add_llvm_definitions( -Werror )
>>    endif (LLVM_ENABLE_WERROR)
>> +  if (LLVM_ENABLE_CXX11)
>> +    check_cxx_compiler_flag("-Werror -std=c++11" CXX_SUPPORTS_CXX11)
>
> Why do you need to check for "-Werror" too?
>
>> +    append_if(CXX_SUPPORTS_CXX11 "-std=c++11" CMAKE_CXX_FLAGS)
>> +  endif (LLVM_ENABLE_CXX11)
>>  endif( MSVC )
>>
>>  macro(append_common_sanitizer_flags)
>> -- 1.8.3.2
>
>
> --
> Meador Inge
> CodeSourcery / Mentor Embedded
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list