// -*- c++ -*- // Distributed under the BSD 2-Clause License. // See accompanying file LICENSE for details. #include namespace { ctor::build_configurations ctorTestConfigs(const ctor::settings& settings) { return { { ctor::target_type::unit_test, ctor::output_system::build, ctor::target("argparser_test"), ctor::sources{ "argparser_test.cc", "testmain.cc", }, ctor::cxx_flags{ "-std=c++20", "-O3", "-Wall", "-I../src", "-Iuunit", "-DOUTPUT=\"argparser\"", "-fexceptions", }, }, { ctor::target_type::unit_test, ctor::output_system::build, ctor::target("generated_sources_test"), ctor::sources{ "generated_sources_test.cc", "testmain.cc", {"../configuration.cc", ctor::nodist{}} }, ctor::depends({"libctor_nomain.a"}), ctor::cxx_flags{ "-std=c++20", "-O3", "-Wall", "-I../src", "-Iuunit", "-DOUTPUT=\"generated_sources\"", "-fexceptions", }, }, { ctor::target_type::unit_test, ctor::output_system::build, ctor::target("argsplit_test"), ctor::sources{ "argsplit_test.cc", "testmain.cc", "../src/util.cc", }, ctor::cxx_flags{ "-std=c++20", "-O3", "-Wall", "-I../src", "-Iuunit", "-DOUTPUT=\"argsplit\"", "-fexceptions", }, }, { ctor::target_type::unit_test, ctor::output_system::build, ctor::target("pointerlist_test"), ctor::sources{ "pointerlist_test.cc", "testmain.cc", "../src/pointerlist.cc", }, ctor::cxx_flags{ "-std=c++20", "-O3", "-Wall", "-I../src", "-Iuunit", "-DOUTPUT=\"pointerlist\"", "-fexceptions", }, }, { ctor::target_type::unit_test, ctor::output_system::build, ctor::target("deps_test"), ctor::sources{ "deps_test.cc", "testmain.cc", "../src/deps.cc", "../src/util.cc", }, ctor::depends({"testprog"}), ctor::cxx_flags{ "-std=c++20", "-O3", "-Wall", "-I../src", "-Iuunit", "-DOUTPUT=\"deps\"", "-fexceptions", }, ctor::extra_dist{ "deps_test_data/empty.d", "deps_test_data/missing_colon.d", "deps_test_data/multiline.d", "deps_test_data/no_deps.d", "deps_test_data/no_newline.d", "deps_test_data/spaces.d", "deps_test_data/trivial.d", }, }, { ctor::target_type::unit_test, ctor::output_system::build, ctor::target("testprog"), ctor::sources{ "testprog.cc", }, ctor::cxx_flags{ "-std=c++20", "-O3", "-Wall", "-fexceptions", }, }, { ctor::target_type::unit_test, ctor::output_system::build, ctor::target("execute_test"), ctor::sources{ "execute_test.cc", "testmain.cc", "../src/execute.cc", "../src/pointerlist.cc", "../src/util.cc", }, ctor::depends({"testprog"}), ctor::cxx_flags{ "-std=c++20", "-O3", "-Wall", "-I../src", "-Iuunit", "-DOUTPUT=\"execute\"", "-fexceptions", }, ctor::ld_flags{ "-pthread" }, }, { ctor::target_type::unit_test, ctor::output_system::build, ctor::target("tasks_test"), ctor::sources{ "tasks_test.cc", "testmain.cc", }, ctor::depends({"libctor_nomain.a"}), ctor::cxx_flags{ "-std=c++20", "-O3", "-Wall", "-I../src", "-Iuunit", "-DOUTPUT=\"tasks\"", "-fexceptions", }, ctor::ld_flags{ "-pthread" }, }, { ctor::target_type::unit_test, ctor::output_system::build, ctor::target("cycle_test"), ctor::sources{ "cycle_test.cc", "testmain.cc", {"../configuration.cc", ctor::nodist{}} }, ctor::depends({"libctor_nomain.a"}), ctor::cxx_flags{ "-std=c++20", "-O3", "-Wall", "-I../src", "-Iuunit", "-DOUTPUT=\"cycle\"", "-fexceptions", }, ctor::ld_flags{ "-pthread" }, }, { ctor::target_type::unit_test, ctor::output_system::build, ctor::target("source_type_test"), ctor::sources{ "source_type_test.cc", "testmain.cc", {"../configuration.cc", ctor::nodist{}} }, ctor::depends({"libctor_nomain.a"}), ctor::cxx_flags{ "-std=c++20", "-O3", "-Wall", "-I../src", "-Iuunit", "-DOUTPUT=\"source_type\"", "-fexceptions", }, ctor::ld_flags{ "-pthread" }, }, { ctor::target_type::unit_test, ctor::output_system::build, ctor::target("tools_test"), ctor::sources{ "tools_test.cc", "testmain.cc", {"../configuration.cc", ctor::nodist{}} }, ctor::depends({"libctor_nomain.a"}), ctor::cxx_flags{ "-std=c++20", "-O3", "-Wall", "-I../src", "-Iuunit", "-DOUTPUT=\"tools\"", "-fexceptions", }, }, { ctor::target_type::unit_test_library, ctor::output_system::build, ctor::target("libctor_nomain.a"), ctor::sources{ "../src/build.cc", "../src/configure.cc", "../src/deps.cc", "../src/execute.cc", "../src/pointerlist.cc", "../src/rebuild.cc", "../src/tasks.cc", "../src/task.cc", "../src/task_ar.cc", "../src/task_cc.cc", "../src/task_fn.cc", "../src/task_ld.cc", "../src/task_so.cc", "../src/tools.cc", "../src/util.cc", "../src/externals_manual.cc", }, ctor::headers{ "paths.h", "tmpfile.h", "uunit/uunit.h", }, ctor::cxx_flags{ "-std=c++20", "-O3", "-Wall", "-I../src", "-fexceptions", }, ctor::ld_flags{ "-pthread" }, ctor::extra_dist{ "uunit/README", "uunit/CC0-1.0", "uunit/uunit.cc", "uunit/examples/ExampleTest.cc", "uunit/examples/Makefile", "uunit/examples/getbaud.cc", "uunit/examples/getbaud.h", }, }, }; } } // Convenience macro REG(ctorTestConfigs);