Welcome to mirror list, hosted at ThFree Co, Russian Federation.

CMakeLists.txt « test « polly - github.com/llvm/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 4075f0aab7e7ea0655175faf2f14c622bf17ea69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
set(POLLY_TEST_DIRECTORIES
  "AffineIterator"
  "ScopInfo"
  "ScheduleOptimizer"
  "CodeGen"
  "OpenMP"
  "polybench"
  "vect")


set(POLLY_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..")
set(POLLY_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/..")
set(LLVM_SHLIBEXT "${CMAKE_SHARED_MODULE_SUFFIX}")

if (NOT DEFINED LLVM_MAIN_SRC_DIR)

  # We are building polly out of tree, adjust the settings.
  # FIXME: FileCheck is not available in llvm install directory at the moment.
  set(LLVM_LIT ${LLVM_INSTALL_ROOT}/bin/llvm-lit)
  set(POLLY_TEST_DEPS LLVMPolly)

  set(LLVM_BINARY_DIR "${LLVM_INSTALL_ROOT}")
  set(LLVM_TOOLS_DIR "${LLVM_INSTALL_ROOT}/bin")
  set(LLVM_LIBS_DIR "${LLVM_INSTALL_ROOT}/lib")
  set(POLLY_LIB_DIR "${POLLY_BINARY_DIR}/lib")

  include(FindPythonInterp)
  if(PYTHONINTERP_FOUND)
    option(POLLY_TEST_DISABLE_BAR "Run Polly tests with --no-progress-bar" OFF)
    set(POLLY_TEST_EXTRA_ARGS)
    if (MSVC OR XCODE OR POLLY_TEST_DISABLE_BAR)
      set(POLLY_TEST_EXTRA_ARGS "--no-progress-bar")
    endif()

    option(POLLY_TEST_USE_VG "Run Polly tests under Valgrind" OFF)
    if(POLLY_TEST_USE_VG)
      set(POLLY_TEST_EXTRA_ARGS ${POLLY_TEST_EXTRA_ARGS} "--vg")
    endif ()

    foreach(testdir ${POLLY_TEST_DIRECTORIES})
      add_custom_target(polly-test-${testdir}
        COMMAND ${LLVM_LIT}
                    --param polly_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
                    --param build_config=${CMAKE_CFG_INTDIR}
                    -sv ${POLLY_TEST_EXTRA_ARGS}
                    ${CMAKE_CURRENT_BINARY_DIR}/${testdir}
                    DEPENDS ${POLLY_TEST_DEPS}
                    COMMENT "Running Polly regression tests in ${testdir}")
    endforeach()

    add_custom_target(check-polly
      COMMAND ${LLVM_LIT}
                  --param polly_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
                  --param build_config=${CMAKE_CFG_INTDIR}
                  -sv ${POLLY_TEST_EXTRA_ARGS}
                  ${CMAKE_CURRENT_BINARY_DIR}
                  DEPENDS ${POLLY_TEST_DEPS}
                  COMMENT "Running Polly regression tests")
  endif()

else (NOT DEFINED LLVM_MAIN_SRC_DIR)

  set(LLVM_LIT ${LLVM_TOOLS_BINARY_DIR}/llvm-lit)
  set(POLLY_TEST_DEPS llvm-config opt LLVMPolly FileCheck not)

  set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}")
  set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}")
  set(LLVM_LIBS_DIR "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}")
  set(POLLY_LIB_DIR "${LLVM_LIBS_DIR}")

  add_lit_testsuite(check-polly "Running polly regression tests"
    ${CMAKE_CURRENT_BINARY_DIR}
    PARAMS polly_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
    DEPENDS ${POLLY_TEST_DEPS}
    )

  set_target_properties(check-polly PROPERTIES FOLDER "polly tests")

endif (NOT DEFINED LLVM_MAIN_SRC_DIR)

configure_file(
  ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
  ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg)

# Add a legacy target spelling: polly-test
add_custom_target(polly-test)
add_dependencies(polly-test check-polly)