diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt index dfda9efc50ffd91fee5daa2626f41dec0b25a53f..b2474313344aa152b684188db00b5829878cf481 100644 --- a/test/unit/CMakeLists.txt +++ b/test/unit/CMakeLists.txt @@ -174,16 +174,6 @@ set(unit_sources unit_test_catalogue.cpp ) - -# for unit testing -make_catalogue( - NAME dummy - SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/dummy" - OUTPUT "CAT_DUMMY_SOURCES" - MECHS dummy - ARBOR "${PROJECT_SOURCE_DIR}" - STANDALONE ON) - if(ARB_WITH_GPU) list(APPEND unit_sources test_intrin.cu @@ -215,7 +205,18 @@ endif() add_executable(unit EXCLUDE_FROM_ALL ${unit_sources} ${test_mech_sources}) add_dependencies(unit build_test_mods) add_dependencies(tests unit) -add_dependencies(unit dummy-catalogue) + +if(${CMAKE_POSITION_INDEPENDENT_CODE}) + make_catalogue( + NAME dummy + SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/dummy" + OUTPUT "CAT_DUMMY_SOURCES" + MECHS dummy + ARBOR "${PROJECT_SOURCE_DIR}" + STANDALONE ON) + target_compile_definitions(unit PRIVATE USE_DYNAMIC_CATALOGUES) + add_dependencies(unit dummy-catalogue) +endif() if(ARB_WITH_NVCC) target_compile_options(unit PRIVATE -DARB_CUDA) diff --git a/test/unit/test_mechcat.cpp b/test/unit/test_mechcat.cpp index 2b6b1a6465f0ac85559e8c809ed3be3daa19e51d..2809b31d8342230ee249f5004cd300a4484f9556 100644 --- a/test/unit/test_mechcat.cpp +++ b/test/unit/test_mechcat.cpp @@ -291,6 +291,7 @@ TEST(mechcat, names) { } } +#ifdef USE_DYNAMIC_CATALOGUES TEST(mechcat, loading) { EXPECT_THROW(load_catalogue(LIBDIR "/does-not-exist-catalogue.so"), file_not_found_error); EXPECT_THROW(load_catalogue(LIBDIR "/libarbor.a"), bad_catalogue_error); @@ -298,7 +299,9 @@ TEST(mechcat, loading) { EXPECT_NO_THROW(cat = &load_catalogue(LIBDIR "/dummy-catalogue.so")); ASSERT_NE(cat, nullptr); EXPECT_EQ(std::vector<std::string>{"dummy"}, cat->mechanism_names()); + } +#endif TEST(mechcat, derived_info) { auto cat = build_fake_catalogue();