xref: /minix3/external/bsd/libc++/dist/libcxx/test/CMakeLists.txt (revision 4684ddb6aab0b36791c8099bc705d6140b3d05d0)
1*4684ddb6SLionel Sambucmacro(pythonize_bool var)
2*4684ddb6SLionel Sambuc  if (${var})
3*4684ddb6SLionel Sambuc    set(${var} True)
4*4684ddb6SLionel Sambuc  else()
5*4684ddb6SLionel Sambuc    set(${var} False)
6*4684ddb6SLionel Sambuc  endif()
7*4684ddb6SLionel Sambucendmacro()
8*4684ddb6SLionel Sambuc
9*4684ddb6SLionel Sambucinclude(FindPythonInterp)
10*4684ddb6SLionel Sambucif(PYTHONINTERP_FOUND)
11*4684ddb6SLionel Sambuc  if(LIBCXX_BUILT_STANDALONE)
12*4684ddb6SLionel Sambuc    set(LIT_EXECUTABLE "" CACHE FILEPATH "Path to LLVM's lit.py.")
13*4684ddb6SLionel Sambuc  else()
14*4684ddb6SLionel Sambuc    set(LIT_EXECUTABLE "${CMAKE_SOURCE_DIR}/utils/lit/lit.py")
15*4684ddb6SLionel Sambuc  endif()
16*4684ddb6SLionel Sambuc
17*4684ddb6SLionel Sambuc  set(LIT_ARGS_DEFAULT "-sv")
18*4684ddb6SLionel Sambuc  if (MSVC OR XCODE)
19*4684ddb6SLionel Sambuc    set(LIT_ARGS_DEFAULT "${LIT_ARGS_DEFAULT} --no-progress-bar")
20*4684ddb6SLionel Sambuc  endif()
21*4684ddb6SLionel Sambuc  set(LLVM_LIT_ARGS "${LIT_ARGS_DEFAULT}"
22*4684ddb6SLionel Sambuc      CACHE STRING "Default options for lit")
23*4684ddb6SLionel Sambuc  set(LIT_ARGS "${LLVM_LIT_ARGS}")
24*4684ddb6SLionel Sambuc  separate_arguments(LIT_ARGS)
25*4684ddb6SLionel Sambuc
26*4684ddb6SLionel Sambuc  set(LIBCXX_COMPILER ${CMAKE_CXX_COMPILER})
27*4684ddb6SLionel Sambuc  set(LIBCXX_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/..)
28*4684ddb6SLionel Sambuc  set(LIBCXX_BINARY_DIR ${CMAKE_BINARY_DIR})
29*4684ddb6SLionel Sambuc  set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
30*4684ddb6SLionel Sambuc  pythonize_bool(LIBCXX_ENABLE_SHARED)
31*4684ddb6SLionel Sambuc  pythonize_bool(LIBCXX_HAS_STDCXX0X_FLAG)
32*4684ddb6SLionel Sambuc
33*4684ddb6SLionel Sambuc  set(AUTO_GEN_COMMENT "## Autogenerated by libcxx configuration.\n# Do not edit!")
34*4684ddb6SLionel Sambuc
35*4684ddb6SLionel Sambuc  configure_file(
36*4684ddb6SLionel Sambuc    ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
37*4684ddb6SLionel Sambuc    ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
38*4684ddb6SLionel Sambuc    @ONLY)
39*4684ddb6SLionel Sambuc
40*4684ddb6SLionel Sambuc  add_custom_target(check-libcxx
41*4684ddb6SLionel Sambuc    COMMAND ${PYTHON_EXECUTABLE}
42*4684ddb6SLionel Sambuc            ${LIT_EXECUTABLE}
43*4684ddb6SLionel Sambuc            ${LIT_ARGS}
44*4684ddb6SLionel Sambuc            ${CMAKE_CURRENT_BINARY_DIR}
45*4684ddb6SLionel Sambuc    DEPENDS cxx
46*4684ddb6SLionel Sambuc    COMMENT "Running libcxx tests")
47*4684ddb6SLionel Sambucelse()
48*4684ddb6SLionel Sambuc  message(WARNING "Could not find Python, no check target will be available!")
49*4684ddb6SLionel Sambucendif()
50