xref: /llvm-project/polly/unittests/CMakeLists.txt (revision c16538feb15ec1d8125192c782210d1a7eac63d7)
1add_custom_target(PollyUnitTests)
2set_target_properties(PollyUnitTests PROPERTIES FOLDER "Polly/Tests")
3
4# add_polly_unittest(test_dirname file1.cpp file2.cpp)
5#
6# Will compile the list of files together and link against Polly and its dependences.
7function(add_polly_unittest test_name)
8  if(COMMAND add_unittest)
9    add_unittest(PollyUnitTests ${test_name} ${ARGN})
10  else()
11    add_executable(${test_name} EXCLUDE_FROM_ALL ${ARGN})
12    set_target_properties(${test_name} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
13
14    target_link_libraries(${test_name} PRIVATE gtest_main gtest)
15    add_dependencies(PollyUnitTests ${test_name})
16  endif()
17  set_property(TARGET ${test_name} PROPERTY FOLDER "Polly/Tests/Unit")
18
19  if(LLVM_LINK_LLVM_DYLIB AND LLVM_POLLY_LINK_INTO_TOOLS)
20    # In this case Polly is already present in libLLVM,
21    # no need to link it again.
22  else()
23    target_link_libraries(${test_name} PRIVATE Polly)
24  endif()
25endfunction()
26
27add_subdirectory(Isl)
28add_subdirectory(Flatten)
29add_subdirectory(DeLICM)
30add_subdirectory(ScopPassManager)
31add_subdirectory(ScheduleOptimizer)
32add_subdirectory(Support)
33