| # Test runner infrastructure for Flang. This configures the Flang test trees |
| # for use by Lit, and delegates to LLVM's lit test handlers. |
| |
| llvm_canonicalize_cmake_booleans( |
| FLANG_BUILD_EXAMPLES |
| FLANG_STANDALONE_BUILD |
| LLVM_ENABLE_PLUGINS |
| ) |
| |
| set(FLANG_TOOLS_DIR ${FLANG_BINARY_DIR}/bin) |
| |
| # FIXME In out-of-tree builds, "SHLIBDIR" is undefined and passing it to |
| # `configure_lit_site_cfg` leads to a configuration error. This is currently |
| # only required by plugins/examples, which are not supported in out-of-tree |
| # builds. |
| if (FLANG_STANDALONE_BUILD) |
| set(PATHS_FOR_PLUGINS "") |
| else () |
| set(PATHS_FOR_PLUGINS "SHLIBDIR") |
| endif () |
| |
| configure_lit_site_cfg( |
| ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in |
| ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py |
| MAIN_CONFIG |
| ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py |
| PATHS |
| ${PATHS_FOR_PLUGINS} |
| ) |
| |
| configure_lit_site_cfg( |
| ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.py.in |
| ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg.py |
| MAIN_CONFIG |
| ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.cfg.py |
| ) |
| |
| configure_lit_site_cfg( |
| ${CMAKE_CURRENT_SOURCE_DIR}/NonGtestUnit/lit.site.cfg.py.in |
| ${CMAKE_CURRENT_BINARY_DIR}/NonGtestUnit/lit.site.cfg.py |
| MAIN_CONFIG |
| ${CMAKE_CURRENT_SOURCE_DIR}/NonGtestUnit/lit.cfg.py |
| ) |
| |
| set(FLANG_TEST_PARAMS |
| flang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py) |
| |
| set(FLANG_TEST_DEPENDS |
| flang-new FileCheck count not module_files fir-opt tco |
| ) |
| |
| if (FLANG_INCLUDE_TESTS) |
| if (FLANG_GTEST_AVAIL) |
| list(APPEND FLANG_TEST_DEPENDS FlangUnitTests) |
| endif() |
| endif() |
| |
| if (FLANG_BUILD_EXAMPLES) |
| list(APPEND FLANG_TEST_DEPENDS |
| flangPrintFunctionNames |
| flangOmpReport |
| ) |
| endif () |
| |
| add_custom_target(flang-test-depends DEPENDS ${FLANG_TEST_DEPENDS}) |
| |
| add_lit_testsuite(check-flang "Running the Flang regression tests" |
| ${CMAKE_CURRENT_BINARY_DIR} |
| PARAMS ${FLANG_TEST_PARAMS} |
| DEPENDS ${FLANG_TEST_DEPENDS} |
| ) |
| set_target_properties(check-flang PROPERTIES FOLDER "Tests") |
| |
| # In case of standalone builds. |
| if (FLANG_STANDALONE_BUILD) |
| add_lit_testsuites(FLANG ${CMAKE_CURRENT_BINARY_DIR} |
| PARAMS ${FLANG_TEST_PARAMS} |
| DEPENDS ${FLANG_TEST_DEPENDS}) |
| else() |
| add_lit_testsuites(FLANG ${CMAKE_CURRENT_SOURCE_DIR} |
| PARAMS ${FLANG_TEST_PARAMS} |
| DEPENDS ${FLANG_TEST_DEPENDS}) |
| endif() |