| macro(pythonize_bool var) |
| if (${var}) |
| set(${var} True) |
| else() |
| set(${var} False) |
| endif() |
| endmacro() |
| |
| include(FindPythonInterp) |
| if(PYTHONINTERP_FOUND) |
| set(LIT_EXECUTABLE "" CACHE FILEPATH "Path to LLVM's lit.py.") |
| 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_SOURCE_DIR}) |
| set(LIBCXX_BINARY_DIR ${CMAKE_BINARY_DIR}) |
| set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE}) |
| pythonize_bool(LIBCXX_ENABLE_SHARED) |
| pythonize_bool(LIBCXX_HAS_STDCXX0X_FLAG) |
| |
| 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 |
| COMMENT "Running libcxx tests") |
| else() |
| message(WARNING "Could not find Python, no check target will be available!") |
| endif() |