// -*- c++ -*- // Distributed under the BSD 2-Clause License. // See accompanying file LICENSE for details. #include namespace { ctor::build_configurations ctorConfigs(const ctor::settings& settings) { return { { .system = ctor::output_system::build, .target = "libctor.a", .sources = { "src/build.cc", "src/configure.cc", "src/deps.cc", "src/execute.cc", "src/externals_manual.cc", "src/libctor.cc", "src/rebuild.cc", "src/task.cc", "src/task_ar.cc", "src/task_fn.cc", "src/task_cc.cc", "src/task_ld.cc", "src/task_so.cc", "src/tasks.cc", "src/tools.cc", "src/util.cc", "src/unittest.cc", {ctor::toolchain::msvc, "getopt-for-windows/getopt.c"}, }, .flags = { .cflags = { "-O3", // "-g", // "-Wall", // "-Wconversion", // "-Wextra", //"-Werror", "-Isrc", {ctor::toolchain::msvc, ctor::c_opt::custom, "/Igetopt-for-windows"}, {ctor::toolchain::msvc, ctor::c_opt::custom, "/D_X86_"}, {ctor::toolchain::msvc, ctor::c_opt::custom, "/EHsc"}, {ctor::toolchain::msvc, ctor::c_opt::custom, "/external:W0"}, {ctor::toolchain::msvc, ctor::c_opt::custom, "/D_CRT_SECURE_NO_WARNINGS"}, }, .cxxflags = { "-std=c++20", "-O3", "-g", "-Wall", "-Werror", "-Wextra", "-Wshadow", "-Wconversion", // "-Wnrvo", "-Isrc", "-Ijson/include", {ctor::toolchain::msvc, ctor::cxx_opt::custom, "/Igetopt-for-windows"}, {ctor::toolchain::msvc, ctor::cxx_opt::custom, "/D_X86_"}, {ctor::toolchain::msvc, ctor::cxx_opt::custom, "/EHsc"}, {ctor::toolchain::msvc, ctor::cxx_opt::custom, "/external:W0"}, {ctor::toolchain::msvc, ctor::cxx_opt::custom, "/D_CRT_SECURE_NO_WARNINGS"}, {ctor::toolchain::msvc, ctor::cxx_opt::custom, "/Dstrdup=_strdup"}, }, }, } }; } } // Convenience macro REG(ctorConfigs);