dfe5e72ed3
Summary: This patch does two things: CMake Update: - Add compiler flag checks for -std=c++11 and -std=c++1y and remove check for -std=c++0x. - Add configuration option LIBCXX_ENABLE_CXX1Y to prevent/allow -std=c++1y from being chosen as the std version. LIBCXX_ENABLE_CXX1Y is set to OFF by default. - if LIBCXX_ENABLE_CXX1Y is enabled then set LIBCXX_STD_VERSION to c++1y and fail if the compiler does not support -std=c++1y - If c++1y is not enabled then use c++11 and fail if the compiler does not support c++11. Lit Update: - Update lit.site.cfg.in to capture LIBCXX_STD_VERSION information as config.std. - Remove mentions of has_cxx0X configuration option. - Check for `--param std=X' passed to lit on the command line. - Choose the std for the tests either from command line parameter or (if it doesn't exist) the lit.site.cfg. Reviewers: mclow.lists, danalbert Reviewed By: danalbert Subscribers: emaste, rnk, ajwong, danalbert, cfe-commits Differential Revision: http://reviews.llvm.org/D4329 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@215802 91177308-0d34-0410-b5e6-96231b3b80d8
49 lines
1.3 KiB
CMake
49 lines
1.3 KiB
CMake
macro(pythonize_bool var)
|
|
if (${var})
|
|
set(${var} True)
|
|
else()
|
|
set(${var} False)
|
|
endif()
|
|
endmacro()
|
|
|
|
include(FindPythonInterp)
|
|
if(PYTHONINTERP_FOUND)
|
|
if(LIBCXX_BUILT_STANDALONE)
|
|
set(LIT_EXECUTABLE "" CACHE FILEPATH "Path to LLVM's lit.py.")
|
|
else()
|
|
set(LIT_EXECUTABLE "${CMAKE_SOURCE_DIR}/utils/lit/lit.py")
|
|
endif()
|
|
|
|
set(LIT_ARGS_DEFAULT "-sv")
|
|
if (MSVC OR XCODE)
|
|
set(LIT_ARGS_DEFAULT "${LIT_ARGS_DEFAULT} --no-progress-bar")
|
|
endif()
|
|
set(LLVM_LIT_ARGS "${LIT_ARGS_DEFAULT}"
|
|
CACHE STRING "Default options for lit")
|
|
set(LIT_ARGS "${LLVM_LIT_ARGS}")
|
|
separate_arguments(LIT_ARGS)
|
|
|
|
set(LIBCXX_COMPILER ${CMAKE_CXX_COMPILER})
|
|
set(LIBCXX_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/..)
|
|
set(LIBCXX_BINARY_DIR ${CMAKE_BINARY_DIR})
|
|
set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
|
|
pythonize_bool(LIBCXX_ENABLE_SHARED)
|
|
|
|
set(AUTO_GEN_COMMENT "## Autogenerated by libcxx configuration.\n# Do not edit!")
|
|
|
|
configure_file(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
|
|
${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
|
|
@ONLY)
|
|
|
|
add_custom_target(check-libcxx
|
|
COMMAND ${PYTHON_EXECUTABLE}
|
|
${LIT_EXECUTABLE}
|
|
${LIT_ARGS}
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
DEPENDS cxx
|
|
COMMENT "Running libcxx tests")
|
|
else()
|
|
message(WARNING "Could not find Python, no check target will be available!")
|
|
endif()
|