From d7fc2267656e0352afce1ea1b4b0a1ad934931b3 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 16 Jan 2022 12:27:08 -0800 Subject: [PATCH 01/40] Removed toolchain from namespace buildcc::base and added it to buildcc --- buildcc/lib/args/src/args.cpp | 17 ++++++----- buildcc/lib/args/test/test_args.cpp | 12 ++++---- buildcc/lib/args/test/test_register.cpp | 28 +++++++++---------- .../target/test/target/test_base_target.cpp | 5 ++-- .../test/target/test_compile_object.cpp | 4 +-- .../test/target/test_target_external_lib.cpp | 5 ++-- .../target/test_target_failure_states.cpp | 4 +-- .../target/test/target/test_target_flags.cpp | 5 ++-- .../test/target/test_target_include_dir.cpp | 5 ++-- .../test/target/test_target_lib_dep.cpp | 5 ++-- .../target/test/target/test_target_lock.cpp | 5 ++-- .../target/test/target/test_target_pch.cpp | 5 ++-- .../target/test/target/test_target_source.cpp | 5 ++-- .../target/test_target_source_out_of_root.cpp | 5 ++-- .../target/test/target/test_target_sync.cpp | 2 +- .../test/target/test_target_user_deps.cpp | 5 ++-- .../include/toolchain/api/toolchain_verify.h | 14 ++-------- .../toolchain/include/toolchain/toolchain.h | 10 ++----- .../toolchain/src/api/toolchain_verify.cpp | 28 +++++++++---------- .../include/toolchains/toolchain_gcc.h | 2 +- .../include/toolchains/toolchain_msvc.h | 2 +- 21 files changed, 75 insertions(+), 98 deletions(-) diff --git a/buildcc/lib/args/src/args.cpp b/buildcc/lib/args/src/args.cpp index 9bccd157..ad1605b0 100644 --- a/buildcc/lib/args/src/args.cpp +++ b/buildcc/lib/args/src/args.cpp @@ -75,15 +75,14 @@ const std::unordered_map kLogLevelMap{ {"critical", buildcc::env::LogLevel::Critical}, }; -const std::unordered_map - kToolchainIdMap{ - {"gcc", buildcc::ToolchainId::Gcc}, - {"msvc", buildcc::ToolchainId::Msvc}, - {"mingw", buildcc::ToolchainId::MinGW}, - {"clang", buildcc::ToolchainId::Clang}, - {"custom", buildcc::ToolchainId::Custom}, - {"undefined", buildcc::ToolchainId::Undefined}, - }; +const std::unordered_map kToolchainIdMap{ + {"gcc", buildcc::ToolchainId::Gcc}, + {"msvc", buildcc::ToolchainId::Msvc}, + {"mingw", buildcc::ToolchainId::MinGW}, + {"clang", buildcc::ToolchainId::Clang}, + {"custom", buildcc::ToolchainId::Custom}, + {"undefined", buildcc::ToolchainId::Undefined}, +}; } // namespace diff --git a/buildcc/lib/args/test/test_args.cpp b/buildcc/lib/args/test/test_args.cpp index 0aca8c67..21bf1a75 100644 --- a/buildcc/lib/args/test/test_args.cpp +++ b/buildcc/lib/args/test/test_args.cpp @@ -66,7 +66,7 @@ TEST(ArgsTestGroup, Args_CustomToolchain) { // Toolchain CHECK_TRUE(gcc_toolchain.state.build); CHECK_FALSE(gcc_toolchain.state.test); - CHECK(gcc_toolchain.id == buildcc::base::Toolchain::Id::Gcc); + CHECK(gcc_toolchain.id == buildcc::Toolchain::Id::Gcc); STRCMP_EQUAL(gcc_toolchain.name.c_str(), "gcc"); STRCMP_EQUAL(gcc_toolchain.asm_compiler.c_str(), "as"); STRCMP_EQUAL(gcc_toolchain.c_compiler.c_str(), "gcc"); @@ -104,7 +104,7 @@ TEST(ArgsTestGroup, Args_MultipleCustomToolchain) { // GCC CHECK_TRUE(gcc_toolchain.state.build); CHECK_FALSE(gcc_toolchain.state.test); - CHECK(gcc_toolchain.id == buildcc::base::Toolchain::Id::Gcc); + CHECK(gcc_toolchain.id == buildcc::Toolchain::Id::Gcc); STRCMP_EQUAL(gcc_toolchain.name.c_str(), "gcc"); STRCMP_EQUAL(gcc_toolchain.asm_compiler.c_str(), "as"); STRCMP_EQUAL(gcc_toolchain.c_compiler.c_str(), "gcc"); @@ -115,7 +115,7 @@ TEST(ArgsTestGroup, Args_MultipleCustomToolchain) { // MSVC CHECK_TRUE(msvc_toolchain.state.build); CHECK_TRUE(msvc_toolchain.state.test); - CHECK(msvc_toolchain.id == buildcc::base::Toolchain::Id::Msvc); + CHECK(msvc_toolchain.id == buildcc::Toolchain::Id::Msvc); STRCMP_EQUAL(msvc_toolchain.name.c_str(), "msvc"); STRCMP_EQUAL(msvc_toolchain.asm_compiler.c_str(), "cl"); STRCMP_EQUAL(msvc_toolchain.c_compiler.c_str(), "cl"); @@ -165,7 +165,7 @@ TEST(ArgsTestGroup, Args_CustomTarget) { // Toolchain CHECK_TRUE(gcc_toolchain.state.build); CHECK_FALSE(gcc_toolchain.state.test); - CHECK(gcc_toolchain.id == buildcc::base::Toolchain::Id::Gcc); + CHECK(gcc_toolchain.id == buildcc::Toolchain::Id::Gcc); STRCMP_EQUAL(gcc_toolchain.name.c_str(), "gcc"); STRCMP_EQUAL(gcc_toolchain.asm_compiler.c_str(), "as"); STRCMP_EQUAL(gcc_toolchain.c_compiler.c_str(), "gcc"); @@ -219,7 +219,7 @@ TEST(ArgsTestGroup, Args_MultipleCustomTarget) { // Toolchain CHECK_TRUE(gcc_toolchain.state.build); CHECK_FALSE(gcc_toolchain.state.test); - CHECK(gcc_toolchain.id == buildcc::base::Toolchain::Id::Gcc); + CHECK(gcc_toolchain.id == buildcc::Toolchain::Id::Gcc); STRCMP_EQUAL(gcc_toolchain.name.c_str(), "gcc"); STRCMP_EQUAL(gcc_toolchain.asm_compiler.c_str(), "as"); STRCMP_EQUAL(gcc_toolchain.c_compiler.c_str(), "gcc"); @@ -240,7 +240,7 @@ TEST(ArgsTestGroup, Args_MultipleCustomTarget) { // Toolchain CHECK_TRUE(msvc_toolchain.state.build); CHECK_TRUE(msvc_toolchain.state.test); - CHECK(msvc_toolchain.id == buildcc::base::Toolchain::Id::Msvc); + CHECK(msvc_toolchain.id == buildcc::Toolchain::Id::Msvc); STRCMP_EQUAL(msvc_toolchain.name.c_str(), "msvc"); STRCMP_EQUAL(msvc_toolchain.asm_compiler.c_str(), "cl"); STRCMP_EQUAL(msvc_toolchain.c_compiler.c_str(), "cl"); diff --git a/buildcc/lib/args/test/test_register.cpp b/buildcc/lib/args/test/test_register.cpp index e68d7fa6..11cf56aa 100644 --- a/buildcc/lib/args/test/test_register.cpp +++ b/buildcc/lib/args/test/test_register.cpp @@ -100,8 +100,8 @@ TEST(RegisterTestGroup, Register_Build) { // Make dummy toolchain and target buildcc::env::init(fs::current_path(), fs::current_path()); - buildcc::base::Toolchain toolchain(buildcc::base::Toolchain::Id::Gcc, "", "", - "", "", "", ""); + buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", + ""); buildcc::base::Target target("dummyT", buildcc::base::TargetType::Executable, toolchain, ""); @@ -148,8 +148,8 @@ TEST(RegisterTestGroup, Register_NoBuildAndDep) { // Make dummy toolchain and target buildcc::env::init(fs::current_path(), fs::current_path()); - buildcc::base::Toolchain toolchain(buildcc::base::Toolchain::Id::Gcc, "", "", - "", "", "", ""); + buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", + ""); buildcc::base::Target target("dummyT", buildcc::base::TargetType::Executable, toolchain, ""); buildcc::base::Target dependency( @@ -232,8 +232,8 @@ TEST(RegisterTestGroup, Register_BuildAndDep) { // Make dummy toolchain and target buildcc::env::init(fs::current_path(), fs::current_path()); - buildcc::base::Toolchain toolchain(buildcc::base::Toolchain::Id::Gcc, "", "", - "", "", "", ""); + buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", + ""); buildcc::base::Target target("dummyT", buildcc::base::TargetType::Executable, toolchain, ""); buildcc::base::Target dependency( @@ -329,8 +329,8 @@ TEST(RegisterTestGroup, Register_DepDuplicate) { // Make dummy toolchain and target buildcc::env::init(fs::current_path(), fs::current_path()); - buildcc::base::Toolchain toolchain(buildcc::base::Toolchain::Id::Gcc, "", "", - "", "", "", ""); + buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", + ""); buildcc::base::Target target("dummyT", buildcc::base::TargetType::Executable, toolchain, ""); buildcc::base::Target dependency( @@ -405,8 +405,8 @@ TEST(RegisterTestGroup, Register_DepCyclic) { // Make dummy toolchain and target buildcc::env::init(fs::current_path(), fs::current_path()); - buildcc::base::Toolchain toolchain(buildcc::base::Toolchain::Id::Gcc, "", "", - "", "", "", ""); + buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", + ""); buildcc::base::Target target("dummyT", buildcc::base::TargetType::Executable, toolchain, ""); buildcc::base::Target dependency( @@ -481,8 +481,8 @@ TEST(RegisterTestGroup, Register_Test) { // Make dummy toolchain and target buildcc::env::init(fs::current_path(), fs::current_path()); - buildcc::base::Toolchain toolchain(buildcc::base::Toolchain::Id::Gcc, "", "", - "", "", "", ""); + buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", + ""); buildcc::base::Target target("dummyT", buildcc::base::TargetType::Executable, toolchain, ""); buildcc::base::Target dependency( @@ -566,8 +566,8 @@ TEST(RegisterTestGroup, Register_TestWithOutput) { // Make dummy toolchain and target buildcc::env::init(fs::current_path(), fs::current_path()); - buildcc::base::Toolchain toolchain(buildcc::base::Toolchain::Id::Gcc, "", "", - "", "", "", ""); + buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", + ""); buildcc::base::Target target("dummyT", buildcc::base::TargetType::Executable, toolchain, ""); buildcc::base::Target dependency( diff --git a/buildcc/lib/target/test/target/test_base_target.cpp b/buildcc/lib/target/test/target/test_base_target.cpp index 7228e000..795fdfdd 100644 --- a/buildcc/lib/target/test/target/test_base_target.cpp +++ b/buildcc/lib/target/test/target/test_base_target.cpp @@ -21,9 +21,8 @@ TEST_GROUP(TargetBaseTestGroup) } }; // clang-format on -static const buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, - "gcc", "as", "gcc", "g++", "ar", - "ld"); +static const buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", + "gcc", "g++", "ar", "ld"); TEST(TargetBaseTestGroup, InvalidTargetType) { constexpr const char *const INVALID_NAME = "Invalid.random"; diff --git a/buildcc/lib/target/test/target/test_compile_object.cpp b/buildcc/lib/target/test/target/test_compile_object.cpp index 54194b3a..caa92b31 100644 --- a/buildcc/lib/target/test/target/test_compile_object.cpp +++ b/buildcc/lib/target/test/target/test_compile_object.cpp @@ -15,8 +15,8 @@ TEST_GROUP(TargetCompileObjectTestGroup) }; // clang-format on -static buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, "gcc", - "as", "gcc", "g++", "ar", "ld"); +static buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", + "g++", "ar", "ld"); TEST(TargetCompileObjectTestGroup, CacheCompileCommand_Invalid) { buildcc::base::Target target("CacheCompileCommand_Invalid", diff --git a/buildcc/lib/target/test/target/test_target_external_lib.cpp b/buildcc/lib/target/test/target/test_target_external_lib.cpp index d98010fe..da7127af 100644 --- a/buildcc/lib/target/test/target/test_target_external_lib.cpp +++ b/buildcc/lib/target/test/target/test_target_external_lib.cpp @@ -28,9 +28,8 @@ TEST_GROUP(TargetTestExternalLib) }; // clang-format on -static const buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, - "gcc", "as", "gcc", "g++", "ar", - "ld"); +static const buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", + "gcc", "g++", "ar", "ld"); static const fs::path intermediate_path = fs::path(BUILD_TARGET_EXTERNAL_LIB_INTERMEDIATE_DIR) / gcc.GetName(); diff --git a/buildcc/lib/target/test/target/test_target_failure_states.cpp b/buildcc/lib/target/test/target/test_target_failure_states.cpp index 42f06eb6..920c9f39 100644 --- a/buildcc/lib/target/test/target/test_target_failure_states.cpp +++ b/buildcc/lib/target/test/target/test_target_failure_states.cpp @@ -25,8 +25,8 @@ TEST_GROUP(TargetTestFailureStates) }; // clang-format on -buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, "gcc", "as", - "gcc", "g++", "ar", "ld"); +buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", + "ar", "ld"); TEST(TargetTestFailureStates, StartTaskEnvFailure) { buildcc::env::set_task_state(buildcc::env::TaskState::FAILURE); diff --git a/buildcc/lib/target/test/target/test_target_flags.cpp b/buildcc/lib/target/test/target/test_target_flags.cpp index 7120f3dc..a85dbaa2 100644 --- a/buildcc/lib/target/test/target/test_target_flags.cpp +++ b/buildcc/lib/target/test/target/test_target_flags.cpp @@ -21,9 +21,8 @@ // Constants -static const buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, - "gcc", "as", "gcc", "g++", "ar", - "ld"); +static const buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", + "gcc", "g++", "ar", "ld"); // ------------- PREPROCESSOR FLAGS --------------- diff --git a/buildcc/lib/target/test/target/test_target_include_dir.cpp b/buildcc/lib/target/test/target/test_target_include_dir.cpp index 93838ff3..a2aad7d8 100644 --- a/buildcc/lib/target/test/target/test_target_include_dir.cpp +++ b/buildcc/lib/target/test/target/test_target_include_dir.cpp @@ -26,9 +26,8 @@ TEST_GROUP(TargetTestIncludeDirGroup) }; // clang-format on -static const buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, - "gcc", "as", "gcc", "g++", "ar", - "ld"); +static const buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", + "gcc", "g++", "ar", "ld"); static const fs::path target_include_dir_intermediate_path = fs::path(BUILD_TARGET_INCLUDE_DIR_INTERMEDIATE_DIR) / gcc.GetName(); diff --git a/buildcc/lib/target/test/target/test_target_lib_dep.cpp b/buildcc/lib/target/test/target/test_target_lib_dep.cpp index 593e56e0..955b5216 100644 --- a/buildcc/lib/target/test/target/test_target_lib_dep.cpp +++ b/buildcc/lib/target/test/target/test_target_lib_dep.cpp @@ -30,9 +30,8 @@ TEST_GROUP(TargetTestLibDep) }; // clang-format on -static const buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, - "gcc", "as", "gcc", "g++", "ar", - "ld"); +static const buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", + "gcc", "g++", "ar", "ld"); static const fs::path intermediate_path = fs::path(BUILD_TARGET_LIB_DEP_INTERMEDIATE_DIR) / gcc.GetName(); diff --git a/buildcc/lib/target/test/target/test_target_lock.cpp b/buildcc/lib/target/test/target/test_target_lock.cpp index 7e24fae3..cc04ef41 100644 --- a/buildcc/lib/target/test/target/test_target_lock.cpp +++ b/buildcc/lib/target/test/target/test_target_lock.cpp @@ -25,9 +25,8 @@ TEST_GROUP(TargetTestLock) }; // clang-format on -static const buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, - "gcc", "as", "gcc", "g++", "ar", - "ld"); +static const buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", + "gcc", "g++", "ar", "ld"); TEST(TargetTestLock, LockState) { constexpr const char *const NAME = "LockState.exe"; diff --git a/buildcc/lib/target/test/target/test_target_pch.cpp b/buildcc/lib/target/test/target/test_target_pch.cpp index 351404d3..378fb00d 100644 --- a/buildcc/lib/target/test/target/test_target_pch.cpp +++ b/buildcc/lib/target/test/target/test_target_pch.cpp @@ -31,9 +31,8 @@ TEST_GROUP(TargetPchTestGroup) }; // clang-format on -static const buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, - "gcc", "as", "gcc", "g++", "ar", - "ld"); +static const buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", + "gcc", "g++", "ar", "ld"); TEST(TargetPchTestGroup, Target_AddPch) { constexpr const char *const NAME = "AddPch.exe"; diff --git a/buildcc/lib/target/test/target/test_target_source.cpp b/buildcc/lib/target/test/target/test_target_source.cpp index a1963e41..c867e69c 100644 --- a/buildcc/lib/target/test/target/test_target_source.cpp +++ b/buildcc/lib/target/test/target/test_target_source.cpp @@ -28,9 +28,8 @@ TEST_GROUP(TargetTestSourceGroup) }; // clang-format on -static const buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, - "gcc", "as", "gcc", "g++", "ar", - "ld"); +static const buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", + "gcc", "g++", "ar", "ld"); static const fs::path target_source_intermediate_path = fs::path(BUILD_TARGET_SOURCE_INTERMEDIATE_DIR) / gcc.GetName(); diff --git a/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp b/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp index e6ac37a1..027113d5 100644 --- a/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp +++ b/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp @@ -26,9 +26,8 @@ TEST_GROUP(TargetTestSourceOutOfRootGroup) }; // clang-format on -static const buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, - "gcc", "as", "gcc", "g++", "ar", - "ld"); +static const buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", + "gcc", "g++", "ar", "ld"); static const fs::path target_source_intermediate_path = fs::path(BUILD_TARGET_SOURCE_OUT_OF_ROOT_INTERMEDIATE_DIR) / gcc.GetName(); diff --git a/buildcc/lib/target/test/target/test_target_sync.cpp b/buildcc/lib/target/test/target/test_target_sync.cpp index ad92680a..b5ff1b1e 100644 --- a/buildcc/lib/target/test/target/test_target_sync.cpp +++ b/buildcc/lib/target/test/target/test_target_sync.cpp @@ -19,7 +19,7 @@ TEST_GROUP(TargetTestSyncGroup) }; // clang-format on -buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, "gcc", "as", +buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", "ar", "ldd"); TEST(TargetTestSyncGroup, CopyByConstRef) { diff --git a/buildcc/lib/target/test/target/test_target_user_deps.cpp b/buildcc/lib/target/test/target/test_target_user_deps.cpp index 3e57f382..b4a9b848 100644 --- a/buildcc/lib/target/test/target/test_target_user_deps.cpp +++ b/buildcc/lib/target/test/target/test_target_user_deps.cpp @@ -28,9 +28,8 @@ TEST_GROUP(TargetTestUserDepsGroup) }; // clang-format on -static const buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, - "gcc", "as", "gcc", "g++", "ar", - "ld"); +static const buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", + "gcc", "g++", "ar", "ld"); static const fs::path target_source_intermediate_path = fs::path(BUILD_TARGET_USER_DEPS_INTERMEDIATE_DIR) / gcc.GetName(); diff --git a/buildcc/lib/toolchain/include/toolchain/api/toolchain_verify.h b/buildcc/lib/toolchain/include/toolchain/api/toolchain_verify.h index 684618e1..66fc48b1 100644 --- a/buildcc/lib/toolchain/include/toolchain/api/toolchain_verify.h +++ b/buildcc/lib/toolchain/include/toolchain/api/toolchain_verify.h @@ -27,7 +27,7 @@ namespace fs = std::filesystem; -namespace buildcc::base { +namespace buildcc { /** * @param absolute_search_paths absolute_search_paths expect directories that @@ -85,13 +85,6 @@ template class ToolchainVerify { VerifiedToolchain verified_toolchain_; }; -} // namespace buildcc::base - -namespace buildcc { - -typedef base::VerifyToolchainConfig VerifyToolchainConfig; -typedef base::VerifiedToolchain VerifiedToolchain; - } // namespace buildcc constexpr const char *const kVerifiedToolchainFormat = R"({{ @@ -101,10 +94,9 @@ constexpr const char *const kVerifiedToolchainFormat = R"({{ }})"; template <> -struct fmt::formatter - : formatter { +struct fmt::formatter : formatter { template - auto format(const buildcc::base::VerifiedToolchain &vt, FormatContext &ctx) { + auto format(const buildcc::VerifiedToolchain &vt, FormatContext &ctx) { std::string verified_toolchain_info = fmt::format(kVerifiedToolchainFormat, vt.path.string(), vt.compiler_version, vt.target_arch); diff --git a/buildcc/lib/toolchain/include/toolchain/toolchain.h b/buildcc/lib/toolchain/include/toolchain/toolchain.h index 5a82db7a..509a38cc 100644 --- a/buildcc/lib/toolchain/include/toolchain/toolchain.h +++ b/buildcc/lib/toolchain/include/toolchain/toolchain.h @@ -23,7 +23,7 @@ #include "api/toolchain_verify.h" -namespace buildcc::base { +namespace buildcc { // Base toolchain class class Toolchain : public ToolchainVerify { @@ -71,12 +71,8 @@ class Toolchain : public ToolchainVerify { std::string linker_; }; -} // namespace buildcc::base - -namespace buildcc { - -typedef base::Toolchain::Id ToolchainId; -typedef base::Toolchain BaseToolchain; +typedef Toolchain::Id ToolchainId; +typedef Toolchain BaseToolchain; } // namespace buildcc diff --git a/buildcc/lib/toolchain/src/api/toolchain_verify.cpp b/buildcc/lib/toolchain/src/api/toolchain_verify.cpp index d1c7bee2..44ce6021 100644 --- a/buildcc/lib/toolchain/src/api/toolchain_verify.cpp +++ b/buildcc/lib/toolchain/src/api/toolchain_verify.cpp @@ -70,7 +70,7 @@ std::string GetMsvcCompilerVersion() { std::optional GetCompilerVersion(const fs::path &absolute_path, - const buildcc::base::Toolchain &toolchain) { + const buildcc::Toolchain &toolchain) { buildcc::env::Command command; command.AddDefaultArgument( "compiler", @@ -78,12 +78,12 @@ GetCompilerVersion(const fs::path &absolute_path, std::optional compiler_version; switch (toolchain.GetId()) { - case buildcc::base::Toolchain::Id::Gcc: - case buildcc::base::Toolchain::Id::MinGW: - case buildcc::base::Toolchain::Id::Clang: + case buildcc::Toolchain::Id::Gcc: + case buildcc::Toolchain::Id::MinGW: + case buildcc::Toolchain::Id::Clang: compiler_version = GetGccCompilerVersion(command); break; - case buildcc::base::Toolchain::Id::Msvc: + case buildcc::Toolchain::Id::Msvc: compiler_version = GetMsvcCompilerVersion(); break; default: @@ -120,19 +120,19 @@ std::string GetMsvcTargetArchitecture() { std::optional GetCompilerArchitecture(const fs::path &absolute_path, - const buildcc::base::Toolchain &toolchain) { + const buildcc::Toolchain &toolchain) { buildcc::env::Command command; command.AddDefaultArgument( "compiler", (absolute_path / toolchain.GetCppCompiler()).make_preferred().string()); std::optional target_arch; switch (toolchain.GetId()) { - case buildcc::base::Toolchain::Id::Gcc: - case buildcc::base::Toolchain::Id::MinGW: - case buildcc::base::Toolchain::Id::Clang: + case buildcc::Toolchain::Id::Gcc: + case buildcc::Toolchain::Id::MinGW: + case buildcc::Toolchain::Id::Clang: target_arch = GetGccTargetArchitecture(command); break; - case buildcc::base::Toolchain::Id::Msvc: + case buildcc::Toolchain::Id::Msvc: target_arch = GetMsvcTargetArchitecture(); break; default: @@ -146,7 +146,7 @@ GetCompilerArchitecture(const fs::path &absolute_path, class ToolchainMatcher { public: - explicit ToolchainMatcher(const buildcc::base::Toolchain &toolchain) + explicit ToolchainMatcher(const buildcc::Toolchain &toolchain) : toolchain_(toolchain) {} void FillWithToolchainFilenames() { @@ -172,14 +172,14 @@ class ToolchainMatcher { bool Found() { return matcher_.empty(); } private: - const buildcc::base::Toolchain &toolchain_; + const buildcc::Toolchain &toolchain_; std::unordered_set matcher_; }; } // namespace -namespace buildcc::base { +namespace buildcc { template std::vector @@ -285,4 +285,4 @@ ToolchainVerify::Verify(const VerifyToolchainConfig &config) { template class ToolchainVerify; -} // namespace buildcc::base +} // namespace buildcc diff --git a/buildcc/toolchains/include/toolchains/toolchain_gcc.h b/buildcc/toolchains/include/toolchains/toolchain_gcc.h index b61ed52f..b3e322a9 100644 --- a/buildcc/toolchains/include/toolchains/toolchain_gcc.h +++ b/buildcc/toolchains/include/toolchains/toolchain_gcc.h @@ -21,7 +21,7 @@ namespace buildcc { -class Toolchain_gcc : public base::Toolchain { +class Toolchain_gcc : public Toolchain { public: Toolchain_gcc() : Toolchain(Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", "ar", "ld") {} diff --git a/buildcc/toolchains/include/toolchains/toolchain_msvc.h b/buildcc/toolchains/include/toolchains/toolchain_msvc.h index 3a16f3e8..f4ddab8f 100644 --- a/buildcc/toolchains/include/toolchains/toolchain_msvc.h +++ b/buildcc/toolchains/include/toolchains/toolchain_msvc.h @@ -21,7 +21,7 @@ namespace buildcc { -class Toolchain_msvc : public base::Toolchain { +class Toolchain_msvc : public Toolchain { public: Toolchain_msvc() : Toolchain(Toolchain::Id::Msvc, "msvc", "cl", "cl", "cl", "lib", From 9750ee8123665322d3a69d2dc02ff2f69ef4f60c Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 16 Jan 2022 13:10:18 -0800 Subject: [PATCH 02/40] Update test_toolchain_verify.cpp --- .../toolchain/test/test_toolchain_verify.cpp | 105 +++++++++--------- 1 file changed, 52 insertions(+), 53 deletions(-) diff --git a/buildcc/lib/toolchain/test/test_toolchain_verify.cpp b/buildcc/lib/toolchain/test/test_toolchain_verify.cpp index d6b26da5..ad9a15f1 100644 --- a/buildcc/lib/toolchain/test/test_toolchain_verify.cpp +++ b/buildcc/lib/toolchain/test/test_toolchain_verify.cpp @@ -27,8 +27,8 @@ TEST_GROUP(ToolchainTestGroup) // NOTE, We are mocking the environment instead of actually querying it TEST(ToolchainTestGroup, VerifyToolchain_Gcc) { - buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, "gcc", "as", - "gcc", "g++", "ar", "ld"); + buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", + "ar", "ld"); std::vector version_stdout_data{"version"}; std::vector arch_stdout_data{"arch"}; @@ -43,11 +43,11 @@ TEST(ToolchainTestGroup, VerifyToolchain_Gcc) { CHECK_TRUE(custom_buildcc_path != nullptr); UT_PRINT(custom_buildcc_path); - buildcc::base::VerifyToolchainConfig config; + buildcc::VerifyToolchainConfig config; config.env_vars.clear(); config.env_vars.push_back("CUSTOM_BUILDCC_PATH"); - std::vector verified_toolchains = + std::vector verified_toolchains = gcc.Verify(config); UT_PRINT(std::to_string(verified_toolchains.size()).c_str()); CHECK_TRUE(!verified_toolchains.empty()); @@ -56,9 +56,8 @@ TEST(ToolchainTestGroup, VerifyToolchain_Gcc) { } TEST(ToolchainTestGroup, VerifyToolchain_Clang) { - buildcc::base::Toolchain clang(buildcc::base::Toolchain::Id::Clang, "clang", - "llvm-as", "clang", "clang++", "llvm-ar", - "lld"); + buildcc::Toolchain clang(buildcc::Toolchain::Id::Clang, "clang", "llvm-as", + "clang", "clang++", "llvm-ar", "lld"); std::vector version_stdout_data{"version"}; std::vector arch_stdout_data{"arch"}; @@ -73,11 +72,11 @@ TEST(ToolchainTestGroup, VerifyToolchain_Clang) { CHECK_TRUE(custom_buildcc_path != nullptr); UT_PRINT(custom_buildcc_path); - buildcc::base::VerifyToolchainConfig config; + buildcc::VerifyToolchainConfig config; config.env_vars.clear(); config.env_vars.push_back("CUSTOM_BUILDCC_PATH"); - std::vector verified_toolchains = + std::vector verified_toolchains = clang.Verify(config); UT_PRINT(std::to_string(verified_toolchains.size()).c_str()); CHECK_TRUE(!verified_toolchains.empty()); @@ -86,8 +85,8 @@ TEST(ToolchainTestGroup, VerifyToolchain_Clang) { } TEST(ToolchainTestGroup, VerifyToolchain_Msvc) { - buildcc::base::Toolchain msvc(buildcc::base::Toolchain::Id::Msvc, "msvc", - "cl", "cl", "cl", "lib", "link"); + buildcc::Toolchain msvc(buildcc::Toolchain::Id::Msvc, "msvc", "cl", "cl", + "cl", "lib", "link"); // Setup ENV // VSCMD_VER std::string vscmd_ver = std::string("VSCMD_VER=version"); @@ -109,11 +108,11 @@ TEST(ToolchainTestGroup, VerifyToolchain_Msvc) { CHECK_TRUE(custom_buildcc_path != nullptr); UT_PRINT(custom_buildcc_path); - buildcc::base::VerifyToolchainConfig config; + buildcc::VerifyToolchainConfig config; config.env_vars.clear(); config.env_vars.push_back("CUSTOM_BUILDCC_PATH"); - std::vector verified_toolchains = + std::vector verified_toolchains = msvc.Verify(config); UT_PRINT(std::to_string(verified_toolchains.size()).c_str()); CHECK_TRUE(!verified_toolchains.empty()); @@ -123,8 +122,8 @@ TEST(ToolchainTestGroup, VerifyToolchain_Msvc) { } TEST(ToolchainTestGroup, VerifyToolchain_BadCompilerId) { - buildcc::base::Toolchain gcc((buildcc::base::Toolchain::Id)65535, "gcc", "as", - "gcc", "g++", "ar", "ld"); + buildcc::Toolchain gcc((buildcc::Toolchain::Id)65535, "gcc", "as", "gcc", + "g++", "ar", "ld"); std::string putenv_str = fmt::format("CUSTOM_BUILDCC_PATH={}/toolchains/gcc", fs::current_path().string()); @@ -134,11 +133,11 @@ TEST(ToolchainTestGroup, VerifyToolchain_BadCompilerId) { CHECK_TRUE(custom_buildcc_path != nullptr); UT_PRINT(custom_buildcc_path); - buildcc::base::VerifyToolchainConfig config; + buildcc::VerifyToolchainConfig config; config.env_vars.clear(); config.env_vars.push_back("CUSTOM_BUILDCC_PATH"); - std::vector verified_toolchains = + std::vector verified_toolchains = gcc.Verify(config); UT_PRINT(std::to_string(verified_toolchains.size()).c_str()); CHECK_TRUE(!verified_toolchains.empty()); @@ -147,30 +146,30 @@ TEST(ToolchainTestGroup, VerifyToolchain_BadCompilerId) { } TEST(ToolchainTestGroup, VerifyToolchain_BadAbsolutePath) { - buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, "gcc", "as", - "gcc", "g++", "ar", "ld"); + buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", + "ar", "ld"); - buildcc::base::VerifyToolchainConfig config; + buildcc::VerifyToolchainConfig config; config.env_vars.clear(); config.absolute_search_paths.push_back( (fs::current_path() / "does_not_exist").string()); - std::vector verified_toolchains = + std::vector verified_toolchains = gcc.Verify(config); UT_PRINT(std::to_string(verified_toolchains.size()).c_str()); CHECK_TRUE(verified_toolchains.empty()); } TEST(ToolchainTestGroup, VerifyToolchain_PathContainsDir) { - buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, "gcc", "as", - "gcc", "g++", "ar", "ld"); + buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", + "ar", "ld"); - buildcc::base::VerifyToolchainConfig config; + buildcc::VerifyToolchainConfig config; config.env_vars.clear(); config.absolute_search_paths.push_back( (fs::current_path() / "toolchains").string()); - std::vector verified_toolchains = + std::vector verified_toolchains = gcc.Verify(config); UT_PRINT(std::to_string(verified_toolchains.size()).c_str()); CHECK_TRUE(verified_toolchains.empty()); @@ -184,15 +183,15 @@ TEST(ToolchainTestGroup, VerifyToolchain_LockedFolder) { FAIL_TEST("Could not set file permissions"); } - buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, "gcc", "as", - "gcc", "g++", "ar", "ld"); + buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", + "ar", "ld"); - buildcc::base::VerifyToolchainConfig config; + buildcc::VerifyToolchainConfig config; config.env_vars.clear(); config.absolute_search_paths.push_back( (fs::current_path() / "toolchains" / "gcc").string()); - std::vector verified_toolchains = + std::vector verified_toolchains = gcc.Verify(config); UT_PRINT(std::to_string(verified_toolchains.size()).c_str()); CHECK_TRUE(verified_toolchains.empty()); @@ -205,10 +204,10 @@ TEST(ToolchainTestGroup, VerifyToolchain_LockedFolder) { } TEST(ToolchainTestGroup, VerifyToolchain_ConditionalAdd_CompilerVersion) { - buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, "gcc", "as", - "gcc", "g++", "ar", "ld"); + buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", + "ar", "ld"); - buildcc::base::VerifyToolchainConfig config; + buildcc::VerifyToolchainConfig config; config.env_vars.clear(); config.absolute_search_paths.push_back( (fs::current_path() / "toolchains" / "gcc").string()); @@ -219,7 +218,7 @@ TEST(ToolchainTestGroup, VerifyToolchain_ConditionalAdd_CompilerVersion) { buildcc::env::m::CommandExpect_Execute(1, true, &compiler_version, nullptr); buildcc::env::m::CommandExpect_Execute(1, true, &arch, nullptr); - std::vector verified_toolchains = + std::vector verified_toolchains = gcc.Verify(config); UT_PRINT(std::to_string(verified_toolchains.size()).c_str()); CHECK_EQUAL(verified_toolchains.size(), 1); @@ -227,10 +226,10 @@ TEST(ToolchainTestGroup, VerifyToolchain_ConditionalAdd_CompilerVersion) { TEST(ToolchainTestGroup, VerifyToolchain_ConditionalAdd_CompilerVersionFailure) { - buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, "gcc", "as", - "gcc", "g++", "ar", "ld"); + buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", + "ar", "ld"); - buildcc::base::VerifyToolchainConfig config; + buildcc::VerifyToolchainConfig config; config.env_vars.clear(); config.absolute_search_paths.push_back( (fs::current_path() / "toolchains" / "gcc").string()); @@ -241,17 +240,17 @@ TEST(ToolchainTestGroup, buildcc::env::m::CommandExpect_Execute(1, true, &compiler_version, nullptr); buildcc::env::m::CommandExpect_Execute(1, true, &arch, nullptr); - std::vector verified_toolchains = + std::vector verified_toolchains = gcc.Verify(config); UT_PRINT(std::to_string(verified_toolchains.size()).c_str()); CHECK_EQUAL(verified_toolchains.size(), 0); } TEST(ToolchainTestGroup, VerifyToolchain_ConditionalAdd_TargetArch) { - buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, "gcc", "as", - "gcc", "g++", "ar", "ld"); + buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", + "ar", "ld"); - buildcc::base::VerifyToolchainConfig config; + buildcc::VerifyToolchainConfig config; config.env_vars.clear(); config.absolute_search_paths.push_back( (fs::current_path() / "toolchains" / "gcc").string()); @@ -262,17 +261,17 @@ TEST(ToolchainTestGroup, VerifyToolchain_ConditionalAdd_TargetArch) { buildcc::env::m::CommandExpect_Execute(1, true, &compiler_version, nullptr); buildcc::env::m::CommandExpect_Execute(1, true, &arch, nullptr); - std::vector verified_toolchains = + std::vector verified_toolchains = gcc.Verify(config); UT_PRINT(std::to_string(verified_toolchains.size()).c_str()); CHECK_EQUAL(verified_toolchains.size(), 1); } TEST(ToolchainTestGroup, VerifyToolchain_ConditionalAdd_TargetArchFailure) { - buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, "gcc", "as", - "gcc", "g++", "ar", "ld"); + buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", + "ar", "ld"); - buildcc::base::VerifyToolchainConfig config; + buildcc::VerifyToolchainConfig config; config.env_vars.clear(); config.absolute_search_paths.push_back( (fs::current_path() / "toolchains" / "gcc").string()); @@ -283,17 +282,17 @@ TEST(ToolchainTestGroup, VerifyToolchain_ConditionalAdd_TargetArchFailure) { buildcc::env::m::CommandExpect_Execute(1, true, &compiler_version, nullptr); buildcc::env::m::CommandExpect_Execute(1, true, &arch, nullptr); - std::vector verified_toolchains = + std::vector verified_toolchains = gcc.Verify(config); UT_PRINT(std::to_string(verified_toolchains.size()).c_str()); CHECK_EQUAL(verified_toolchains.size(), 0); } TEST(ToolchainTestGroup, VerifyToolchain_ConditionalAdd_BothFailure) { - buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, "gcc", "as", - "gcc", "g++", "ar", "ld"); + buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", + "ar", "ld"); - buildcc::base::VerifyToolchainConfig config; + buildcc::VerifyToolchainConfig config; config.env_vars.clear(); config.absolute_search_paths.push_back( (fs::current_path() / "toolchains" / "gcc").string()); @@ -305,17 +304,17 @@ TEST(ToolchainTestGroup, VerifyToolchain_ConditionalAdd_BothFailure) { buildcc::env::m::CommandExpect_Execute(1, true, &compiler_version, nullptr); buildcc::env::m::CommandExpect_Execute(1, true, &arch, nullptr); - std::vector verified_toolchains = + std::vector verified_toolchains = gcc.Verify(config); UT_PRINT(std::to_string(verified_toolchains.size()).c_str()); CHECK_EQUAL(verified_toolchains.size(), 0); } TEST(ToolchainTestGroup, VerifyToolchain_UpdateFalse) { - buildcc::base::Toolchain gcc(buildcc::base::Toolchain::Id::Gcc, "gcc", "as", - "gcc", "g++", "ar", "ld"); + buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", + "ar", "ld"); - buildcc::base::VerifyToolchainConfig config; + buildcc::VerifyToolchainConfig config; config.env_vars.clear(); config.absolute_search_paths.push_back( (fs::current_path() / "toolchains" / "gcc").string()); @@ -328,7 +327,7 @@ TEST(ToolchainTestGroup, VerifyToolchain_UpdateFalse) { buildcc::env::m::CommandExpect_Execute(1, true, &compiler_version, nullptr); buildcc::env::m::CommandExpect_Execute(1, true, &arch, nullptr); - std::vector verified_toolchains = + std::vector verified_toolchains = gcc.Verify(config); UT_PRINT(std::to_string(verified_toolchains.size()).c_str()); CHECK_EQUAL(verified_toolchains.size(), 1); From 596515df16d464cf4a4ed748628d03691471e9b9 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 16 Jan 2022 18:31:43 -0800 Subject: [PATCH 03/40] Changed TargetEnv namespace from buildcc::base to buildcc --- buildcc/lib/target/include/target/common/target_env.h | 4 ++-- buildcc/lib/target/include/target/target.h | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/buildcc/lib/target/include/target/common/target_env.h b/buildcc/lib/target/include/target/common/target_env.h index f1f003cd..8040d7ae 100644 --- a/buildcc/lib/target/include/target/common/target_env.h +++ b/buildcc/lib/target/include/target/common/target_env.h @@ -23,7 +23,7 @@ namespace fs = std::filesystem; -namespace buildcc::base { +namespace buildcc { class TargetEnv { public: @@ -53,6 +53,6 @@ class TargetEnv { bool relative_{false}; }; -} // namespace buildcc::base +} // namespace buildcc #endif diff --git a/buildcc/lib/target/include/target/target.h b/buildcc/lib/target/include/target/target.h index 99435cc4..73c65fbf 100644 --- a/buildcc/lib/target/include/target/target.h +++ b/buildcc/lib/target/include/target/target.h @@ -173,7 +173,6 @@ namespace buildcc { typedef base::TargetType TargetType; typedef base::TargetState TargetState; typedef base::TargetConfig TargetConfig; -typedef base::TargetEnv TargetEnv; typedef base::Target BaseTarget; From 3a0abe23cbac52ecb1746f5291610ec3010eea6b Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 16 Jan 2022 18:51:10 -0800 Subject: [PATCH 04/40] Updated TargetConfig and TargetFileExt namespace from buildcc::base to buildcc --- .../target/include/target/common/target_config.h | 4 ++-- .../include/target/common/target_file_ext.h | 2 +- buildcc/lib/target/include/target/target.h | 1 - buildcc/lib/target/src/common/target_config.cpp | 4 ++-- .../lib/target/test/target/test_base_target.cpp | 4 ++-- .../target/test/target/test_target_config.cpp | 16 ++++++++-------- .../lib/target/test/target/test_target_state.cpp | 10 +++++----- 7 files changed, 20 insertions(+), 21 deletions(-) diff --git a/buildcc/lib/target/include/target/common/target_config.h b/buildcc/lib/target/include/target/common/target_config.h index 6f735fa7..dc506c6d 100644 --- a/buildcc/lib/target/include/target/common/target_config.h +++ b/buildcc/lib/target/include/target/common/target_config.h @@ -25,7 +25,7 @@ namespace fs = std::filesystem; -namespace buildcc::base { +namespace buildcc { struct TargetConfig { TargetConfig() {} @@ -61,6 +61,6 @@ struct TargetConfig { std::unordered_set valid_header_ext{".h", ".hpp"}; }; -} // namespace buildcc::base +} // namespace buildcc #endif diff --git a/buildcc/lib/target/include/target/common/target_file_ext.h b/buildcc/lib/target/include/target/common/target_file_ext.h index 0aadabd3..9652e76c 100644 --- a/buildcc/lib/target/include/target/common/target_file_ext.h +++ b/buildcc/lib/target/include/target/common/target_file_ext.h @@ -17,7 +17,7 @@ #ifndef TARGET_COMMON_TARGET_FILE_EXT_H_ #define TARGET_COMMON_TARGET_FILE_EXT_H_ -namespace buildcc::base { +namespace buildcc { enum class TargetFileExt { Asm, diff --git a/buildcc/lib/target/include/target/target.h b/buildcc/lib/target/include/target/target.h index 73c65fbf..4e917e72 100644 --- a/buildcc/lib/target/include/target/target.h +++ b/buildcc/lib/target/include/target/target.h @@ -172,7 +172,6 @@ namespace buildcc { typedef base::TargetType TargetType; typedef base::TargetState TargetState; -typedef base::TargetConfig TargetConfig; typedef base::Target BaseTarget; diff --git a/buildcc/lib/target/src/common/target_config.cpp b/buildcc/lib/target/src/common/target_config.cpp index fa0d0a4a..2b67f290 100644 --- a/buildcc/lib/target/src/common/target_config.cpp +++ b/buildcc/lib/target/src/common/target_config.cpp @@ -22,7 +22,7 @@ #include "fmt/format.h" -namespace buildcc::base { +namespace buildcc { TargetFileExt TargetConfig::GetFileExt(const fs::path &filepath) const { if (!filepath.has_extension()) { @@ -85,4 +85,4 @@ void TargetConfig::ExpectsValidHeader(const fs::path &filepath) const { fmt::format("{} does not have a valid header extension", filepath)); } -} // namespace buildcc::base +} // namespace buildcc diff --git a/buildcc/lib/target/test/target/test_base_target.cpp b/buildcc/lib/target/test/target/test_base_target.cpp index 795fdfdd..d0037e9a 100644 --- a/buildcc/lib/target/test/target/test_base_target.cpp +++ b/buildcc/lib/target/test/target/test_base_target.cpp @@ -59,7 +59,7 @@ TEST(TargetBaseTestGroup, TargetConfig_BadCompileCommand) { // Delete fs::remove_all(intermediate_path); { - buildcc::base::TargetConfig config; + buildcc::TargetConfig config; config.compile_command = "{invalid_compile_string}"; buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, gcc, "data", config); @@ -82,7 +82,7 @@ TEST(TargetBaseTestGroup, TargetConfig_BadLinkCommand) { // Delete fs::remove_all(intermediate_path); { - buildcc::base::TargetConfig config; + buildcc::TargetConfig config; config.link_command = "{invalid_link_string}"; buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, gcc, "data", config); diff --git a/buildcc/lib/target/test/target/test_target_config.cpp b/buildcc/lib/target/test/target/test_target_config.cpp index 9bc8b146..e0fcfcf0 100644 --- a/buildcc/lib/target/test/target/test_target_config.cpp +++ b/buildcc/lib/target/test/target/test_target_config.cpp @@ -13,27 +13,27 @@ TEST_GROUP(TargetConfigTestGroup) // clang-format on TEST(TargetConfigTestGroup, GetFileExt) { - buildcc::base::TargetConfig target_config; + buildcc::TargetConfig target_config; - buildcc::base::TargetFileExt ext; + buildcc::TargetFileExt ext; ext = target_config.GetFileExt("file.asm"); - CHECK(ext == buildcc::base::TargetFileExt::Asm); + CHECK(ext == buildcc::TargetFileExt::Asm); ext = target_config.GetFileExt("file.c"); - CHECK(ext == buildcc::base::TargetFileExt::C); + CHECK(ext == buildcc::TargetFileExt::C); ext = target_config.GetFileExt("file.cpp"); - CHECK(ext == buildcc::base::TargetFileExt::Cpp); + CHECK(ext == buildcc::TargetFileExt::Cpp); ext = target_config.GetFileExt("file.h"); - CHECK(ext == buildcc::base::TargetFileExt::Header); + CHECK(ext == buildcc::TargetFileExt::Header); ext = target_config.GetFileExt("file.invalid"); - CHECK(ext == buildcc::base::TargetFileExt::Invalid); + CHECK(ext == buildcc::TargetFileExt::Invalid); ext = target_config.GetFileExt("random/directory"); - CHECK(ext == buildcc::base::TargetFileExt::Invalid); + CHECK(ext == buildcc::TargetFileExt::Invalid); } int main(int ac, char **av) { diff --git a/buildcc/lib/target/test/target/test_target_state.cpp b/buildcc/lib/target/test/target/test_target_state.cpp index d49d5c58..8f4fefdf 100644 --- a/buildcc/lib/target/test/target/test_target_state.cpp +++ b/buildcc/lib/target/test/target/test_target_state.cpp @@ -17,20 +17,20 @@ TEST(TargetStateTestGroup, SetSourceState) { buildcc::base::TargetState target_state; CHECK_FALSE(target_state.contains_c); - target_state.SetSourceState(buildcc::base::TargetFileExt::C); + target_state.SetSourceState(buildcc::TargetFileExt::C); CHECK_TRUE(target_state.contains_c); CHECK_FALSE(target_state.contains_cpp); - target_state.SetSourceState(buildcc::base::TargetFileExt::Cpp); + target_state.SetSourceState(buildcc::TargetFileExt::Cpp); CHECK_TRUE(target_state.contains_cpp); CHECK_FALSE(target_state.contains_asm); - target_state.SetSourceState(buildcc::base::TargetFileExt::Asm); + target_state.SetSourceState(buildcc::TargetFileExt::Asm); CHECK_TRUE(target_state.contains_asm); // Ignored - target_state.SetSourceState(buildcc::base::TargetFileExt::Header); - target_state.SetSourceState(buildcc::base::TargetFileExt::Invalid); + target_state.SetSourceState(buildcc::TargetFileExt::Header); + target_state.SetSourceState(buildcc::TargetFileExt::Invalid); } int main(int ac, char **av) { From 427d38445176d0e9d6b269fb1ceb217cc8cbe18b Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 16 Jan 2022 19:10:21 -0800 Subject: [PATCH 05/40] Shifted TargetType from namespace buildcc::base to buildcc --- buildcc/lib/args/test/test_register.cpp | 46 +++++----- .../include/target/common/target_type.h | 2 +- buildcc/lib/target/include/target/target.h | 1 - buildcc/lib/target/src/target/target.cpp | 8 +- .../lib/target/src/target/target_storer.cpp | 2 +- .../target/test/target/test_base_target.cpp | 20 ++-- .../test/target/test_compile_object.cpp | 3 +- .../test/target/test_target_external_lib.cpp | 20 ++-- .../target/test_target_failure_states.cpp | 44 ++++----- .../target/test/target/test_target_flags.cpp | 92 +++++++++---------- .../test/target/test_target_include_dir.cpp | 38 ++++---- .../test/target/test_target_lib_dep.cpp | 44 ++++----- .../target/test/target/test_target_lock.cpp | 12 +-- .../target/test/target/test_target_pch.cpp | 48 +++++----- .../target/test/target/test_target_source.cpp | 24 ++--- .../target/test_target_source_out_of_root.cpp | 12 +-- .../target/test/target/test_target_sync.cpp | 40 ++++---- .../test/target/test_target_user_deps.cpp | 12 +-- 18 files changed, 231 insertions(+), 237 deletions(-) diff --git a/buildcc/lib/args/test/test_register.cpp b/buildcc/lib/args/test/test_register.cpp index 11cf56aa..5b051927 100644 --- a/buildcc/lib/args/test/test_register.cpp +++ b/buildcc/lib/args/test/test_register.cpp @@ -102,7 +102,7 @@ TEST(RegisterTestGroup, Register_Build) { buildcc::env::init(fs::current_path(), fs::current_path()); buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", ""); - buildcc::base::Target target("dummyT", buildcc::base::TargetType::Executable, + buildcc::base::Target target("dummyT", buildcc::TargetType::Executable, toolchain, ""); { @@ -150,10 +150,10 @@ TEST(RegisterTestGroup, Register_NoBuildAndDep) { buildcc::env::init(fs::current_path(), fs::current_path()); buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", ""); - buildcc::base::Target target("dummyT", buildcc::base::TargetType::Executable, + buildcc::base::Target target("dummyT", buildcc::TargetType::Executable, toolchain, ""); - buildcc::base::Target dependency( - "depT", buildcc::base::TargetType::Executable, toolchain, ""); + buildcc::base::Target dependency("depT", buildcc::TargetType::Executable, + toolchain, ""); // 4 options // T -> Target @@ -234,10 +234,10 @@ TEST(RegisterTestGroup, Register_BuildAndDep) { buildcc::env::init(fs::current_path(), fs::current_path()); buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", ""); - buildcc::base::Target target("dummyT", buildcc::base::TargetType::Executable, + buildcc::base::Target target("dummyT", buildcc::TargetType::Executable, toolchain, ""); - buildcc::base::Target dependency( - "depT", buildcc::base::TargetType::Executable, toolchain, ""); + buildcc::base::Target dependency("depT", buildcc::TargetType::Executable, + toolchain, ""); // 4 options // T -> Target @@ -331,12 +331,12 @@ TEST(RegisterTestGroup, Register_DepDuplicate) { buildcc::env::init(fs::current_path(), fs::current_path()); buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", ""); - buildcc::base::Target target("dummyT", buildcc::base::TargetType::Executable, + buildcc::base::Target target("dummyT", buildcc::TargetType::Executable, toolchain, ""); - buildcc::base::Target dependency( - "depT", buildcc::base::TargetType::Executable, toolchain, ""); - buildcc::base::Target dependency2( - "dep2T", buildcc::base::TargetType::Executable, toolchain, ""); + buildcc::base::Target dependency("depT", buildcc::TargetType::Executable, + toolchain, ""); + buildcc::base::Target dependency2("dep2T", buildcc::TargetType::Executable, + toolchain, ""); buildcc::ArgToolchainState trueState{true, true}; @@ -407,12 +407,12 @@ TEST(RegisterTestGroup, Register_DepCyclic) { buildcc::env::init(fs::current_path(), fs::current_path()); buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", ""); - buildcc::base::Target target("dummyT", buildcc::base::TargetType::Executable, + buildcc::base::Target target("dummyT", buildcc::TargetType::Executable, toolchain, ""); - buildcc::base::Target dependency( - "depT", buildcc::base::TargetType::Executable, toolchain, ""); - buildcc::base::Target dependency2( - "dep2T", buildcc::base::TargetType::Executable, toolchain, ""); + buildcc::base::Target dependency("depT", buildcc::TargetType::Executable, + toolchain, ""); + buildcc::base::Target dependency2("dep2T", buildcc::TargetType::Executable, + toolchain, ""); buildcc::ArgToolchainState trueState{true, true}; @@ -483,10 +483,10 @@ TEST(RegisterTestGroup, Register_Test) { buildcc::env::init(fs::current_path(), fs::current_path()); buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", ""); - buildcc::base::Target target("dummyT", buildcc::base::TargetType::Executable, + buildcc::base::Target target("dummyT", buildcc::TargetType::Executable, toolchain, ""); - buildcc::base::Target dependency( - "depT", buildcc::base::TargetType::Executable, toolchain, ""); + buildcc::base::Target dependency("depT", buildcc::TargetType::Executable, + toolchain, ""); // 4 states between build and test // FF @@ -568,10 +568,10 @@ TEST(RegisterTestGroup, Register_TestWithOutput) { buildcc::env::init(fs::current_path(), fs::current_path()); buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", ""); - buildcc::base::Target target("dummyT", buildcc::base::TargetType::Executable, + buildcc::base::Target target("dummyT", buildcc::TargetType::Executable, toolchain, ""); - buildcc::base::Target dependency( - "depT", buildcc::base::TargetType::Executable, toolchain, ""); + buildcc::base::Target dependency("depT", buildcc::TargetType::Executable, + toolchain, ""); buildcc::ArgToolchainState stateSuccess{true, true}; diff --git a/buildcc/lib/target/include/target/common/target_type.h b/buildcc/lib/target/include/target/common/target_type.h index 375e6107..88bd5140 100644 --- a/buildcc/lib/target/include/target/common/target_type.h +++ b/buildcc/lib/target/include/target/common/target_type.h @@ -17,7 +17,7 @@ #ifndef TARGET_COMMON_TARGET_TYPE_H_ #define TARGET_COMMON_TARGET_TYPE_H_ -namespace buildcc::base { +namespace buildcc { enum class TargetType { Executable, diff --git a/buildcc/lib/target/include/target/target.h b/buildcc/lib/target/include/target/target.h index 4e917e72..befeb47d 100644 --- a/buildcc/lib/target/include/target/target.h +++ b/buildcc/lib/target/include/target/target.h @@ -170,7 +170,6 @@ class Target : public BuilderInterface, // TODO, Make all of these external and remove this namespace namespace buildcc { -typedef base::TargetType TargetType; typedef base::TargetState TargetState; typedef base::Target BaseTarget; diff --git a/buildcc/lib/target/src/target/target.cpp b/buildcc/lib/target/src/target/target.cpp index aba3b0a6..84629725 100644 --- a/buildcc/lib/target/src/target/target.cpp +++ b/buildcc/lib/target/src/target/target.cpp @@ -29,11 +29,11 @@ namespace fs = std::filesystem; namespace { -bool IsValidTargetType(buildcc::base::TargetType type) { +bool IsValidTargetType(buildcc::TargetType type) { switch (type) { - case buildcc::base::TargetType::Executable: - case buildcc::base::TargetType::StaticLibrary: - case buildcc::base::TargetType::DynamicLibrary: + case buildcc::TargetType::Executable: + case buildcc::TargetType::StaticLibrary: + case buildcc::TargetType::DynamicLibrary: return true; break; default: diff --git a/buildcc/lib/target/src/target/target_storer.cpp b/buildcc/lib/target/src/target/target_storer.cpp index 26d17985..2e73b252 100644 --- a/buildcc/lib/target/src/target/target_storer.cpp +++ b/buildcc/lib/target/src/target/target_storer.cpp @@ -29,7 +29,7 @@ namespace fbs = schema::internal; namespace { -fbs::TargetType CreateFbsTargetType(buildcc::base::TargetType type) { +fbs::TargetType CreateFbsTargetType(buildcc::TargetType type) { return (fbs::TargetType)type; } diff --git a/buildcc/lib/target/test/target/test_base_target.cpp b/buildcc/lib/target/test/target/test_base_target.cpp index d0037e9a..fdfa5827 100644 --- a/buildcc/lib/target/test/target/test_base_target.cpp +++ b/buildcc/lib/target/test/target/test_base_target.cpp @@ -33,9 +33,9 @@ TEST(TargetBaseTestGroup, InvalidTargetType) { fs::remove_all(intermediate_path / INVALID_NAME); - CHECK_THROWS(std::exception, - buildcc::base::Target(INVALID_NAME, (buildcc::base::TargetType)3, - gcc, "")); + CHECK_THROWS( + std::exception, + buildcc::base::Target(INVALID_NAME, (buildcc::TargetType)3, gcc, "")); buildcc::env::deinit(); } @@ -44,8 +44,8 @@ TEST(TargetBaseTestGroup, NoEnvInit) { constexpr const char *const NAME = "Init.exe"; CHECK_THROWS(std::exception, - buildcc::base::Target( - NAME, buildcc::base::TargetType::Executable, gcc, "data")); + buildcc::base::Target(NAME, buildcc::TargetType::Executable, gcc, + "data")); } TEST(TargetBaseTestGroup, TargetConfig_BadCompileCommand) { @@ -61,9 +61,9 @@ TEST(TargetBaseTestGroup, TargetConfig_BadCompileCommand) { { buildcc::TargetConfig config; config.compile_command = "{invalid_compile_string}"; - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data", config); - CHECK(simple.GetType() == buildcc::base::TargetType::Executable); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data", config); + CHECK(simple.GetType() == buildcc::TargetType::Executable); simple.AddSource("dummy_main.c"); CHECK_THROWS(std::exception, simple.Build()); } @@ -84,8 +84,8 @@ TEST(TargetBaseTestGroup, TargetConfig_BadLinkCommand) { { buildcc::TargetConfig config; config.link_command = "{invalid_link_string}"; - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data", config); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data", config); simple.AddSource("dummy_main.c"); CHECK_THROWS(std::exception, simple.Build()); } diff --git a/buildcc/lib/target/test/target/test_compile_object.cpp b/buildcc/lib/target/test/target/test_compile_object.cpp index caa92b31..8b57e65e 100644 --- a/buildcc/lib/target/test/target/test_compile_object.cpp +++ b/buildcc/lib/target/test/target/test_compile_object.cpp @@ -20,8 +20,7 @@ static buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", TEST(TargetCompileObjectTestGroup, CacheCompileCommand_Invalid) { buildcc::base::Target target("CacheCompileCommand_Invalid", - buildcc::base::TargetType::Executable, gcc, - "data"); + buildcc::TargetType::Executable, gcc, "data"); buildcc::base::CompileObject object(target); object.AddObjectData("random.invalid"); diff --git a/buildcc/lib/target/test/target/test_target_external_lib.cpp b/buildcc/lib/target/test/target/test_target_external_lib.cpp index da7127af..861e3823 100644 --- a/buildcc/lib/target/test/target/test_target_external_lib.cpp +++ b/buildcc/lib/target/test/target/test_target_external_lib.cpp @@ -39,8 +39,8 @@ TEST(TargetTestExternalLib, TestAddLibDir) { fs::remove_all(intermediate_path / EXENAME); - buildcc::base::Target exe(EXENAME, buildcc::base::TargetType::StaticLibrary, - gcc, "data"); + buildcc::base::Target exe(EXENAME, buildcc::TargetType::StaticLibrary, gcc, + "data"); exe.AddSource("foo_main.cpp"); exe.AddLibDir(exe.GetTargetPath().parent_path()); @@ -66,8 +66,8 @@ TEST(TargetTestExternalLib, TestAddExternalLibDep_Simple) { fs::remove_all(intermediate_path / EXENAME); - buildcc::base::Target exe(EXENAME, buildcc::base::TargetType::StaticLibrary, - gcc, "data"); + buildcc::base::Target exe(EXENAME, buildcc::TargetType::StaticLibrary, gcc, + "data"); exe.AddSource("foo_main.cpp"); exe.AddLibDir(exe.GetTargetPath().parent_path()); exe.AddLibDep("-lfoo"); @@ -96,8 +96,8 @@ TEST(TargetTestExternalLib, TestAddExternalLibDep_RebuildChanged) { // First build { - buildcc::base::Target exe(EXENAME, buildcc::base::TargetType::StaticLibrary, - gcc, "data"); + buildcc::base::Target exe(EXENAME, buildcc::TargetType::StaticLibrary, gcc, + "data"); exe.AddSource("foo_main.cpp"); exe.AddLibDir(exe.GetTargetPath().parent_path()); @@ -110,8 +110,8 @@ TEST(TargetTestExternalLib, TestAddExternalLibDep_RebuildChanged) { // Add { - buildcc::base::Target exe(EXENAME, buildcc::base::TargetType::StaticLibrary, - gcc, "data"); + buildcc::base::Target exe(EXENAME, buildcc::TargetType::StaticLibrary, gcc, + "data"); exe.AddSource("foo_main.cpp"); exe.AddLibDir(exe.GetTargetPath().parent_path()); exe.AddLibDep("-lfoo"); @@ -125,8 +125,8 @@ TEST(TargetTestExternalLib, TestAddExternalLibDep_RebuildChanged) { // Remove { - buildcc::base::Target exe(EXENAME, buildcc::base::TargetType::StaticLibrary, - gcc, "data"); + buildcc::base::Target exe(EXENAME, buildcc::TargetType::StaticLibrary, gcc, + "data"); exe.AddSource("foo_main.cpp"); exe.AddLibDir(exe.GetTargetPath().parent_path()); diff --git a/buildcc/lib/target/test/target/test_target_failure_states.cpp b/buildcc/lib/target/test/target/test_target_failure_states.cpp index 920c9f39..8cebf6d7 100644 --- a/buildcc/lib/target/test/target/test_target_failure_states.cpp +++ b/buildcc/lib/target/test/target/test_target_failure_states.cpp @@ -32,7 +32,7 @@ TEST(TargetTestFailureStates, StartTaskEnvFailure) { buildcc::env::set_task_state(buildcc::env::TaskState::FAILURE); constexpr const char *const NAME = "StartTaskEnvFailure.exe"; - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, "data"); target.AddSource("dummy_main.cpp"); @@ -44,7 +44,7 @@ TEST(TargetTestFailureStates, StartTaskEnvFailure) { TEST(TargetTestFailureStates, CompilePchFailure) { constexpr const char *const NAME = "CompilePchFailure.exe"; - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, "data"); target.AddSource("dummy_main.cpp"); @@ -60,7 +60,7 @@ TEST(TargetTestFailureStates, CompilePchFailure) { TEST(TargetTestFailureStates, CompileObjectFailure) { constexpr const char *const NAME = "CompileObjectFailure.exe"; - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, "data"); target.AddSource("dummy_main.cpp"); @@ -77,7 +77,7 @@ TEST(TargetTestFailureStates, CompileObjectFailure) { TEST(TargetTestFailureStates, CompileObject_FileNotFoundFailure) { constexpr const char *const NAME = "CompileObject_FileNotFoundFailure.exe"; - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, "data"); target.AddSource("file_not_present.cpp"); @@ -90,7 +90,7 @@ TEST(TargetTestFailureStates, CompileObject_FileNotFoundFailure) { TEST(TargetTestFailureStates, LinkTargetFailure) { constexpr const char *const NAME = "LinkTargetFailure.exe"; - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, "data"); target.AddSource("dummy_main.cpp"); @@ -106,7 +106,7 @@ TEST(TargetTestFailureStates, LinkTargetFailure) { TEST(TargetTestFailureStates, EndTaskStoreFailure) { constexpr const char *const NAME = "EndTaskStoreFailure.exe"; - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, "data"); target.AddSource("dummy_main.cpp"); @@ -130,8 +130,8 @@ TEST(TargetTestFailureStates, StartTaskEnvFailure_Rebuild) { constexpr const char *const NAME = "StartTaskEnvFailure_Rebuild.exe"; { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.Build(); @@ -146,8 +146,8 @@ TEST(TargetTestFailureStates, StartTaskEnvFailure_Rebuild) { // during rebuild, this target must run! { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.Build(); @@ -166,8 +166,8 @@ TEST(TargetTestFailureStates, CompilePchFailure_Rebuild) { constexpr const char *const NAME = "CompilePchFailure_Rebuild.exe"; { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.AddPch("include/include_header.h"); @@ -186,8 +186,8 @@ TEST(TargetTestFailureStates, CompilePchFailure_Rebuild) { // must move to compile object stage // must move to link target stage { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.AddPch("include/include_header.h"); @@ -209,8 +209,8 @@ TEST(TargetTestFailureStates, CompileObjectFailure_Rebuild) { constexpr const char *const NAME = "CompileObjectFailure_Rebuild.exe"; { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.AddSource("dummy_main.c"); @@ -237,8 +237,8 @@ TEST(TargetTestFailureStates, CompileObjectFailure_Rebuild) { // must move to link target stage { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.AddSource("dummy_main.c"); @@ -260,8 +260,8 @@ TEST(TargetTestFailureStates, LinkTargetFailure_Rebuild) { constexpr const char *const NAME = "LinkTargetFailure_Rebuild.exe"; { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.Build(); @@ -278,8 +278,8 @@ TEST(TargetTestFailureStates, LinkTargetFailure_Rebuild) { // during rebuild this must try to relink! { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.Build(); diff --git a/buildcc/lib/target/test/target/test_target_flags.cpp b/buildcc/lib/target/test/target/test_target_flags.cpp index a85dbaa2..b9e8a7f3 100644 --- a/buildcc/lib/target/test/target/test_target_flags.cpp +++ b/buildcc/lib/target/test/target/test_target_flags.cpp @@ -48,7 +48,7 @@ TEST(TargetTestPreprocessorFlagGroup, Target_AddPreprocessorFlag) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource(DUMMY_MAIN); simple.AddPreprocessorFlag("-DCOMPILE=1"); @@ -80,8 +80,8 @@ TEST(TargetTestPreprocessorFlagGroup, Target_ChangedPreprocessorFlag) { fs::remove_all(intermediate_path); { - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddPreprocessorFlag("-DCOMPILE=1"); @@ -93,8 +93,8 @@ TEST(TargetTestPreprocessorFlagGroup, Target_ChangedPreprocessorFlag) { } { // * Remove flag - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); @@ -106,8 +106,8 @@ TEST(TargetTestPreprocessorFlagGroup, Target_ChangedPreprocessorFlag) { { // * Add flag - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddPreprocessorFlag("-DRANDOM=1"); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); @@ -145,7 +145,7 @@ TEST(TargetTestCommonCompileFlagsGroup, Target_AddCommonCompileFlag) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource(DUMMY_MAIN); simple.AddCommonCompileFlag("-O0"); @@ -178,8 +178,8 @@ TEST(TargetTestCommonCompileFlagsGroup, Target_ChangedCommonCompileFlag) { fs::remove_all(intermediate_path); { - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCommonCompileFlag("-O0"); simple.AddCommonCompileFlag("-g"); @@ -191,8 +191,8 @@ TEST(TargetTestCommonCompileFlagsGroup, Target_ChangedCommonCompileFlag) { CHECK_TRUE(simple.IsBuilt()); } { - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCommonCompileFlag("-O0"); simple.AddCommonCompileFlag("-g"); @@ -203,8 +203,8 @@ TEST(TargetTestCommonCompileFlagsGroup, Target_ChangedCommonCompileFlag) { } { // * Remove flag - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCommonCompileFlag("-O0"); @@ -218,8 +218,8 @@ TEST(TargetTestCommonCompileFlagsGroup, Target_ChangedCommonCompileFlag) { { // * Add flag - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCommonCompileFlag("-O0"); simple.AddCommonCompileFlag("-g"); @@ -259,7 +259,7 @@ TEST(TargetTestAsmCompileFlagGroup, Target_AddCompileFlag) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource(EMPTY_ASM); simple.AddAsmCompileFlag("-O0"); @@ -292,8 +292,8 @@ TEST(TargetTestAsmCompileFlagGroup, Target_ChangedCompileFlag) { fs::remove_all(intermediate_path); { - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(EMPTY_ASM); simple.AddAsmCompileFlag("-O0"); simple.AddAsmCompileFlag("-g"); @@ -306,8 +306,8 @@ TEST(TargetTestAsmCompileFlagGroup, Target_ChangedCompileFlag) { } { // * No Change - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(EMPTY_ASM); simple.AddAsmCompileFlag("-O0"); simple.AddAsmCompileFlag("-g"); @@ -318,8 +318,8 @@ TEST(TargetTestAsmCompileFlagGroup, Target_ChangedCompileFlag) { } { // * Remove flag - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(EMPTY_ASM); simple.AddAsmCompileFlag("-O0"); @@ -333,8 +333,8 @@ TEST(TargetTestAsmCompileFlagGroup, Target_ChangedCompileFlag) { { // * Add flag - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(EMPTY_ASM); simple.AddAsmCompileFlag("-O0"); simple.AddAsmCompileFlag("-g"); @@ -374,7 +374,7 @@ TEST(TargetTestCCompileFlagsGroup, Target_AddCompileFlag) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource(DUMMY_MAIN); simple.AddCCompileFlag("-std=c11"); @@ -406,8 +406,8 @@ TEST(TargetTestCCompileFlagsGroup, Target_ChangedCompileFlag) { fs::remove_all(intermediate_path); { - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCCompileFlag("-std=c11"); @@ -419,8 +419,8 @@ TEST(TargetTestCCompileFlagsGroup, Target_ChangedCompileFlag) { } { // * Remove flag - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); @@ -432,8 +432,8 @@ TEST(TargetTestCCompileFlagsGroup, Target_ChangedCompileFlag) { { // * Add flag - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCCompileFlag("-std=c11"); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); @@ -471,7 +471,7 @@ TEST(TargetTestCppCompileFlagsGroup, Target_AddCompileFlag) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource(DUMMY_MAIN); simple.AddCppCompileFlag("-std=c++17"); @@ -503,8 +503,8 @@ TEST(TargetTestCppCompileFlagsGroup, Target_ChangedCompileFlag) { fs::remove_all(intermediate_path); { - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCCompileFlag("-std=c++17"); @@ -516,8 +516,8 @@ TEST(TargetTestCppCompileFlagsGroup, Target_ChangedCompileFlag) { } { // * Remove flag - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); @@ -529,8 +529,8 @@ TEST(TargetTestCppCompileFlagsGroup, Target_ChangedCompileFlag) { { // * Add flag - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCCompileFlag("-std=c++17"); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); @@ -568,7 +568,7 @@ TEST(TargetTestLinkFlagsGroup, Target_AddLinkFlag) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource(DUMMY_MAIN); simple.AddLinkFlag("-lm"); @@ -600,8 +600,8 @@ TEST(TargetTestLinkFlagsGroup, Target_ChangedLinkFlag) { fs::remove_all(intermediate_path); { - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddLinkFlag("-lm"); @@ -613,8 +613,8 @@ TEST(TargetTestLinkFlagsGroup, Target_ChangedLinkFlag) { } { // * Remove flag - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); @@ -625,8 +625,8 @@ TEST(TargetTestLinkFlagsGroup, Target_ChangedLinkFlag) { { // * Add flag - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddLinkFlag("-lm"); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); diff --git a/buildcc/lib/target/test/target/test_target_include_dir.cpp b/buildcc/lib/target/test/target/test_target_include_dir.cpp index a2aad7d8..e073e84f 100644 --- a/buildcc/lib/target/test/target/test_target_include_dir.cpp +++ b/buildcc/lib/target/test/target/test_target_include_dir.cpp @@ -35,7 +35,7 @@ static const fs::path target_include_dir_intermediate_path = TEST(TargetTestIncludeDirGroup, Target_HeaderTypes) { constexpr const char *const NAME = "HeaderTypes.exe"; auto intermediate_path = target_include_dir_intermediate_path / NAME; - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddHeader("fileext/header_file1.h"); @@ -60,8 +60,8 @@ TEST(TargetTestIncludeDirGroup, TargetGlobHeader) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target globHeader(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target globHeader(NAME, buildcc::TargetType::Executable, gcc, + "data"); globHeader.GlobHeaders("include"); globHeader.GlobHeaders(""); CHECK_EQUAL(globHeader.GetHeaderFiles().size(), 1); @@ -73,8 +73,8 @@ TEST(TargetTestIncludeDirGroup, TargetGlobThroughIncludeDir) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target globIncludeDir( - NAME, buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target globIncludeDir(NAME, buildcc::TargetType::Executable, + gcc, "data"); globIncludeDir.AddIncludeDir("include", true); globIncludeDir.AddIncludeDir("", true); CHECK_EQUAL(globIncludeDir.GetHeaderFiles().size(), 1); @@ -101,8 +101,8 @@ TEST(TargetTestIncludeDirGroup, TargetBuildIncludeDir) { (source_path / RELATIVE_INCLUDE_DIR).make_preferred(); { - buildcc::base::Target include_compile( - NAME, buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target include_compile(NAME, buildcc::TargetType::Executable, + gcc, "data"); include_compile.AddSource(DUMMY_MAIN_C); include_compile.AddSource(INCLUDE_HEADER_SOURCE); include_compile.AddIncludeDir(RELATIVE_INCLUDE_DIR); @@ -132,8 +132,8 @@ TEST(TargetTestIncludeDirGroup, TargetBuildIncludeDir) { } { // * 1 Adding new include directory - buildcc::base::Target include_compile( - NAME, buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target include_compile(NAME, buildcc::TargetType::Executable, + gcc, "data"); include_compile.AddSource(DUMMY_MAIN_C); include_compile.AddSource(INCLUDE_HEADER_SOURCE); include_compile.AddIncludeDir(RELATIVE_INCLUDE_DIR); @@ -163,8 +163,8 @@ TEST(TargetTestIncludeDirGroup, TargetBuildIncludeDir) { } { // * Remove include directory - buildcc::base::Target include_compile( - NAME, buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target include_compile(NAME, buildcc::TargetType::Executable, + gcc, "data"); include_compile.AddSource(DUMMY_MAIN_C); include_compile.AddSource(INCLUDE_HEADER_SOURCE); include_compile.AddIncludeDir(RELATIVE_INCLUDE_DIR); @@ -217,8 +217,8 @@ TEST(TargetTestIncludeDirGroup, TargetBuildHeaderFile) { // Initial build { - buildcc::base::Target add_header( - NAME, buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target add_header(NAME, buildcc::TargetType::Executable, gcc, + "data"); add_header.AddSource(DUMMY_MAIN_C); add_header.AddSource(INCLUDE_HEADER_SOURCE); add_header.AddIncludeDir(RELATIVE_INCLUDE_DIR); @@ -238,8 +238,8 @@ TEST(TargetTestIncludeDirGroup, TargetBuildHeaderFile) { // Add header { - buildcc::base::Target add_header( - NAME, buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target add_header(NAME, buildcc::TargetType::Executable, gcc, + "data"); add_header.AddSource(DUMMY_MAIN_C); add_header.AddSource(INCLUDE_HEADER_SOURCE); add_header.AddHeader(RELATIVE_HEADER_FILE); @@ -267,8 +267,8 @@ TEST(TargetTestIncludeDirGroup, TargetBuildHeaderFile) { buildcc::env::save_file(absolute_header_path.string().c_str(), std::string{""}, false); - buildcc::base::Target add_header( - NAME, buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target add_header(NAME, buildcc::TargetType::Executable, gcc, + "data"); add_header.AddSource(DUMMY_MAIN_C); add_header.AddSource(INCLUDE_HEADER_SOURCE); add_header.AddHeader(RELATIVE_HEADER_FILE); @@ -290,8 +290,8 @@ TEST(TargetTestIncludeDirGroup, TargetBuildHeaderFile) { // Remove header { - buildcc::base::Target add_header( - NAME, buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target add_header(NAME, buildcc::TargetType::Executable, gcc, + "data"); add_header.AddSource(DUMMY_MAIN_C); add_header.AddSource(INCLUDE_HEADER_SOURCE); add_header.AddIncludeDir(RELATIVE_INCLUDE_DIR); diff --git a/buildcc/lib/target/test/target/test_target_lib_dep.cpp b/buildcc/lib/target/test/target/test_target_lib_dep.cpp index 955b5216..e70bc80d 100644 --- a/buildcc/lib/target/test/target/test_target_lib_dep.cpp +++ b/buildcc/lib/target/test/target/test_target_lib_dep.cpp @@ -41,8 +41,8 @@ TEST(TargetTestLibDep, StaticLibrary_SimpleBuildTest) { fs::remove_all(intermediate_path / STATIC_NAME); - buildcc::base::Target foolib( - STATIC_NAME, buildcc::base::TargetType::StaticLibrary, gcc, "data"); + buildcc::base::Target foolib(STATIC_NAME, buildcc::TargetType::StaticLibrary, + gcc, "data"); foolib.AddSource("foo.cpp", "foo"); foolib.AddIncludeDir("foo"); @@ -72,7 +72,7 @@ TEST(TargetTestLibDep, TargetDep_RebuildTest) { { buildcc::base::Target foolib( - STATIC_FOO_LIB, buildcc::base::TargetType::StaticLibrary, gcc, "data"); + STATIC_FOO_LIB, buildcc::TargetType::StaticLibrary, gcc, "data"); foolib.AddSource("foo/foo.cpp"); foolib.AddIncludeDir("foo"); @@ -84,8 +84,8 @@ TEST(TargetTestLibDep, TargetDep_RebuildTest) { std::string{""}, false); // Executable for static - buildcc::base::Target exe_target( - EXE_NAME, buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target exe_target(EXE_NAME, buildcc::TargetType::Executable, + gcc, "data"); exe_target.AddSource("foo_main.cpp"); exe_target.AddIncludeDir("foo"); exe_target.AddLibDep(foolib); @@ -98,7 +98,7 @@ TEST(TargetTestLibDep, TargetDep_RebuildTest) { { buildcc::base::Target foolib( - STATIC_FOO_LIB, buildcc::base::TargetType::StaticLibrary, gcc, "data"); + STATIC_FOO_LIB, buildcc::TargetType::StaticLibrary, gcc, "data"); foolib.AddSource("foo/foo.cpp"); foolib.AddIncludeDir("foo"); foolib.Build(); @@ -106,8 +106,8 @@ TEST(TargetTestLibDep, TargetDep_RebuildTest) { CHECK_FALSE(foolib.IsBuilt()); // Executable for static - buildcc::base::Target exe_target( - EXE_NAME, buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target exe_target(EXE_NAME, buildcc::TargetType::Executable, + gcc, "data"); exe_target.AddSource("foo_main.cpp"); exe_target.AddIncludeDir("foo"); exe_target.AddLibDep(foolib); @@ -126,8 +126,8 @@ TEST(TargetTestLibDep, TargetDep_AddRemoveTest) { fs::remove_all(intermediate_path / STATIC_NAME); fs::remove_all(intermediate_path / EXE_NAME); - buildcc::base::Target foolib( - STATIC_NAME, buildcc::base::TargetType::StaticLibrary, gcc, "data"); + buildcc::base::Target foolib(STATIC_NAME, buildcc::TargetType::StaticLibrary, + gcc, "data"); foolib.AddSource("foo/foo.cpp"); foolib.AddIncludeDir("foo"); @@ -142,8 +142,8 @@ TEST(TargetTestLibDep, TargetDep_AddRemoveTest) { // * Initial executable // Executable for static { - buildcc::base::Target exe_target( - EXE_NAME, buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target exe_target(EXE_NAME, buildcc::TargetType::Executable, + gcc, "data"); exe_target.AddSource("empty_main.cpp"); exe_target.AddIncludeDir("foo"); @@ -156,8 +156,8 @@ TEST(TargetTestLibDep, TargetDep_AddRemoveTest) { // * Add new library // Build { - buildcc::base::Target exe_target( - EXE_NAME, buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target exe_target(EXE_NAME, buildcc::TargetType::Executable, + gcc, "data"); exe_target.AddSource("empty_main.cpp"); exe_target.AddIncludeDir("foo"); exe_target.AddLibDep(foolib); @@ -170,8 +170,8 @@ TEST(TargetTestLibDep, TargetDep_AddRemoveTest) { // * Remove library { - buildcc::base::Target exe_target( - EXE_NAME, buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target exe_target(EXE_NAME, buildcc::TargetType::Executable, + gcc, "data"); exe_target.AddSource("empty_main.cpp"); exe_target.AddIncludeDir("foo"); @@ -194,7 +194,7 @@ TEST(TargetTestLibDep, TargetDep_UpdateExistingLibraryTest) { // Build initial { buildcc::base::Target foolib( - STATIC_NAME, buildcc::base::TargetType::StaticLibrary, gcc, "data"); + STATIC_NAME, buildcc::TargetType::StaticLibrary, gcc, "data"); foolib.AddSource("foo/foo.cpp"); foolib.AddIncludeDir("foo"); @@ -207,8 +207,8 @@ TEST(TargetTestLibDep, TargetDep_UpdateExistingLibraryTest) { foolib.GetTargetPath().string().c_str(), std::string{""}, false); CHECK_TRUE(saved); - buildcc::base::Target exe_target( - EXE_NAME, buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target exe_target(EXE_NAME, buildcc::TargetType::Executable, + gcc, "data"); exe_target.AddSource("foo_main.cpp"); exe_target.AddIncludeDir("foo"); exe_target.AddLibDep(foolib); @@ -222,7 +222,7 @@ TEST(TargetTestLibDep, TargetDep_UpdateExistingLibraryTest) { // * Update static library { buildcc::base::Target foolib( - STATIC_NAME, buildcc::base::TargetType::StaticLibrary, gcc, "data"); + STATIC_NAME, buildcc::TargetType::StaticLibrary, gcc, "data"); foolib.AddSource("foo/foo.cpp"); foolib.AddIncludeDir("foo"); foolib.AddIncludeDir(""); @@ -239,8 +239,8 @@ TEST(TargetTestLibDep, TargetDep_UpdateExistingLibraryTest) { foolib.GetTargetPath().string().c_str(), std::string{""}, false); CHECK_TRUE(saved); - buildcc::base::Target exe_target( - EXE_NAME, buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target exe_target(EXE_NAME, buildcc::TargetType::Executable, + gcc, "data"); exe_target.AddSource("foo_main.cpp"); exe_target.AddIncludeDir("foo"); exe_target.AddLibDep(foolib); diff --git a/buildcc/lib/target/test/target/test_target_lock.cpp b/buildcc/lib/target/test/target/test_target_lock.cpp index cc04ef41..111400af 100644 --- a/buildcc/lib/target/test/target/test_target_lock.cpp +++ b/buildcc/lib/target/test/target/test_target_lock.cpp @@ -30,8 +30,7 @@ static const buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", TEST(TargetTestLock, LockState) { constexpr const char *const NAME = "LockState.exe"; - buildcc::base::Target exe(NAME, buildcc::base::TargetType::Executable, gcc, - "data"); + buildcc::base::Target exe(NAME, buildcc::TargetType::Executable, gcc, "data"); CHECK_FALSE(exe.IsLocked()); @@ -46,8 +45,7 @@ TEST(TargetTestLock, LockState) { TEST(TargetTestLock, Lock_Build) { constexpr const char *const NAME = "Lock_Build.exe"; - buildcc::base::Target exe(NAME, buildcc::base::TargetType::Executable, gcc, - "data"); + buildcc::base::Target exe(NAME, buildcc::TargetType::Executable, gcc, "data"); buildcc::env::m::CommandExpect_Execute(1, true); exe.Build(); @@ -60,8 +58,7 @@ TEST(TargetTestLock, Lock_Build) { TEST(TargetTestLock, Lock_APIs) { constexpr const char *const NAME = "Lock_APIs.exe"; - buildcc::base::Target exe(NAME, buildcc::base::TargetType::Executable, gcc, - "data"); + buildcc::base::Target exe(NAME, buildcc::TargetType::Executable, gcc, "data"); buildcc::env::m::CommandExpect_Execute(1, true); exe.Build(); @@ -98,8 +95,7 @@ TEST(TargetTestLock, Lock_APIs) { TEST(TargetTestLock, Unlock_APIs) { constexpr const char *const NAME = "Unlock_APIs.exe"; - buildcc::base::Target exe(NAME, buildcc::base::TargetType::Executable, gcc, - "data"); + buildcc::base::Target exe(NAME, buildcc::TargetType::Executable, gcc, "data"); CHECK_THROWS(std::exception, exe.GetCompileCommand(exe.GetTargetRootDir() / "dummy_main.c")); diff --git a/buildcc/lib/target/test/target/test_target_pch.cpp b/buildcc/lib/target/test/target/test_target_pch.cpp index 378fb00d..d528bab0 100644 --- a/buildcc/lib/target/test/target/test_target_pch.cpp +++ b/buildcc/lib/target/test/target/test_target_pch.cpp @@ -36,7 +36,7 @@ static const buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", TEST(TargetPchTestGroup, Target_AddPch) { constexpr const char *const NAME = "AddPch.exe"; - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); @@ -44,7 +44,7 @@ TEST(TargetPchTestGroup, Target_AddPch) { TEST(TargetPchTestGroup, Target_AddPch_Build) { constexpr const char *const NAME = "AddPch_Build.exe"; - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); @@ -69,8 +69,8 @@ TEST(TargetPchTestGroup, Target_AddPch_Rebuild) { constexpr const char *const NAME = "AddPch_Rebuild.exe"; { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); @@ -84,8 +84,8 @@ TEST(TargetPchTestGroup, Target_AddPch_Rebuild) { // Rebuild: No change { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); @@ -97,8 +97,8 @@ TEST(TargetPchTestGroup, Target_AddPch_Rebuild) { // Rebuild: Removed { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); buildcc::base::m::TargetExpect_PathRemoved(1, &target); @@ -112,8 +112,8 @@ TEST(TargetPchTestGroup, Target_AddPch_Rebuild) { // Rebuild: Added { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); @@ -134,8 +134,8 @@ TEST(TargetPchTestGroup, Target_AddPch_Rebuild) { bool save = buildcc::env::save_file(filename.string().c_str(), "", false); CHECK_TRUE(save); - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); @@ -155,8 +155,8 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { constexpr const char *const NAME = "AddPch_CppRebuild.exe"; { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); target.AddSource("dummy_main.cpp"); @@ -172,8 +172,8 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { // Rebuild: No change { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); target.AddSource("dummy_main.cpp"); @@ -186,8 +186,8 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { // Rebuild: Removed { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddSource("dummy_main.cpp"); @@ -203,8 +203,8 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { // Rebuild: Added { - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); target.AddSource("dummy_main.cpp"); @@ -227,8 +227,8 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { bool save = buildcc::env::save_file(filename.string().c_str(), "", false); CHECK_TRUE(save); - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); target.AddSource("dummy_main.cpp"); @@ -249,7 +249,7 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { TEST(TargetPchTestGroup, Target_AddPchCompileFlag_Build) { constexpr const char *const NAME = "AddPchCompileFlag_Build.exe"; - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, "data"); target.AddPchCompileFlag("-H"); target.AddPch("pch/pch_header_1.h"); @@ -269,7 +269,7 @@ TEST(TargetPchTestGroup, Target_AddPchCompileFlag_Build) { TEST(TargetPchTestGroup, Target_AddPchObjectFlag_Build) { constexpr const char *const NAME = "AddPchObjectFlag_Build.exe"; - buildcc::base::Target target(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, "data"); target.AddPchObjectFlag("-H"); target.AddPch("pch/pch_header_1.h"); diff --git a/buildcc/lib/target/test/target/test_target_source.cpp b/buildcc/lib/target/test/target/test_target_source.cpp index c867e69c..4b1d2ace 100644 --- a/buildcc/lib/target/test/target/test_target_source.cpp +++ b/buildcc/lib/target/test/target/test_target_source.cpp @@ -37,7 +37,7 @@ static const fs::path target_source_intermediate_path = TEST(TargetTestSourceGroup, Target_SourceTypes) { constexpr const char *const NAME = "SourceTypes.exe"; auto intermediate_path = target_source_intermediate_path / NAME; - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource("fileext/c_file.c"); @@ -65,7 +65,7 @@ TEST(TargetTestSourceGroup, Target_AddSource) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource(DUMMY_MAIN); } @@ -77,7 +77,7 @@ TEST(TargetTestSourceGroup, Target_GlobSource) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.GlobSources(""); CHECK_EQUAL(simple.GetSourceFiles().size(), 6); @@ -93,7 +93,7 @@ TEST(TargetTestSourceGroup, Target_Build_SourceCompile) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, gcc, + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource(DUMMY_MAIN); @@ -137,8 +137,8 @@ TEST(TargetTestSourceGroup, Target_Build_SourceRecompile) { (source_path / NEW_SOURCE).make_preferred().string()); { - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); // * Test C compile simple.AddSource(DUMMY_MAIN_C); @@ -161,8 +161,8 @@ TEST(TargetTestSourceGroup, Target_Build_SourceRecompile) { CHECK_FALSE(loaded_sources.find(new_source_file) == loaded_sources.end()); } { - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); // * Remove C source // * Add CPP source simple.AddSource(DUMMY_MAIN_CPP); @@ -198,8 +198,8 @@ TEST(TargetTestSourceGroup, Target_Build_SourceRecompile) { auto file_path = source_path / NEW_SOURCE; buildcc::env::save_file(file_path.string().c_str(), std::string{""}, false); - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN_CPP); simple.AddSource(NEW_SOURCE); // Run the second Build to test Recompile @@ -231,8 +231,8 @@ TEST(TargetTestSourceGroup, Target_CompileCommand_Throws) { // Delete fs::remove_all(intermediate_path); { - buildcc::base::Target simple(NAME, buildcc::base::TargetType::Executable, - gcc, "data"); + buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource("dummy_main.c"); auto p = simple.GetTargetRootDir() / "dummy_main.c"; diff --git a/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp b/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp index 027113d5..df6e35d0 100644 --- a/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp +++ b/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp @@ -37,8 +37,8 @@ TEST(TargetTestSourceOutOfRootGroup, Add_OutOfRootSource) { fs::remove_all(target_source_intermediate_path / OUTOFROOT); - buildcc::base::Target simple(OUTOFROOT, buildcc::base::TargetType::Executable, - gcc, ""); + buildcc::base::Target simple(OUTOFROOT, buildcc::TargetType::Executable, gcc, + ""); simple.AddSource("../dummy_main.cpp"); buildcc::env::m::CommandExpect_Execute(1, true); @@ -53,8 +53,8 @@ TEST(TargetTestSourceOutOfRootGroup, Glob_OutOfRootSource) { fs::remove_all(target_source_intermediate_path / OUTOFROOT); { - buildcc::base::Target simple( - OUTOFROOT, buildcc::base::TargetType::Executable, gcc, ""); + buildcc::base::Target simple(OUTOFROOT, buildcc::TargetType::Executable, + gcc, ""); simple.GlobSources(".."); // 6 files detected CHECK_EQUAL(6, simple.GetSourceFiles().size()); @@ -72,8 +72,8 @@ TEST(TargetTestSourceOutOfRootGroup, GlobAbsolute_OutOfRootSource) { fs::remove_all(target_source_intermediate_path / OUTOFROOT); { - buildcc::base::Target simple( - OUTOFROOT, buildcc::base::TargetType::Executable, gcc, ""); + buildcc::base::Target simple(OUTOFROOT, buildcc::TargetType::Executable, + gcc, ""); simple.GlobSourcesAbsolute(fs::path(BUILD_SCRIPT_SOURCE) / "data"); // 6 files detected buildcc::env::m::CommandExpect_Execute(6, true); diff --git a/buildcc/lib/target/test/target/test_target_sync.cpp b/buildcc/lib/target/test/target/test_target_sync.cpp index b5ff1b1e..c8a5de6e 100644 --- a/buildcc/lib/target/test/target/test_target_sync.cpp +++ b/buildcc/lib/target/test/target/test_target_sync.cpp @@ -19,14 +19,14 @@ TEST_GROUP(TargetTestSyncGroup) }; // clang-format on -buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", - "gcc", "g++", "ar", "ldd"); +buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", + "ar", "ldd"); TEST(TargetTestSyncGroup, CopyByConstRef) { - buildcc::base::Target srcTarget( - "srcTarget", buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target srcTarget("srcTarget", buildcc::TargetType::Executable, + gcc, "data"); buildcc::base::Target destTarget( - "destTarget", buildcc::base::TargetType::Executable, gcc, "data"); + "destTarget", buildcc::TargetType::Executable, gcc, "data"); srcTarget.AddSource("dummy_main.c"); srcTarget.AddIncludeDir("include", true); @@ -90,10 +90,10 @@ TEST(TargetTestSyncGroup, CopyByConstRef) { } TEST(TargetTestSyncGroup, CopyByMove) { - buildcc::base::Target srcTarget( - "srcTarget", buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target srcTarget("srcTarget", buildcc::TargetType::Executable, + gcc, "data"); buildcc::base::Target destTarget( - "destTarget", buildcc::base::TargetType::Executable, gcc, "data"); + "destTarget", buildcc::TargetType::Executable, gcc, "data"); srcTarget.AddSource("dummy_main.c"); srcTarget.AddIncludeDir("include", true); @@ -158,10 +158,10 @@ TEST(TargetTestSyncGroup, CopyByMove) { } TEST(TargetTestSyncGroup, CopyCrash) { - buildcc::base::Target srcTarget( - "srcTarget", buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target srcTarget("srcTarget", buildcc::TargetType::Executable, + gcc, "data"); buildcc::base::Target destTarget( - "destTarget", buildcc::base::TargetType::Executable, gcc, "data"); + "destTarget", buildcc::TargetType::Executable, gcc, "data"); CHECK_THROWS(std::exception, destTarget.Copy(srcTarget, { @@ -170,10 +170,10 @@ TEST(TargetTestSyncGroup, CopyCrash) { } TEST(TargetTestSyncGroup, InsertByConstRef) { - buildcc::base::Target srcTarget( - "srcTarget", buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target srcTarget("srcTarget", buildcc::TargetType::Executable, + gcc, "data"); buildcc::base::Target destTarget( - "destTarget", buildcc::base::TargetType::Executable, gcc, "data"); + "destTarget", buildcc::TargetType::Executable, gcc, "data"); srcTarget.AddSource("dummy_main.c"); srcTarget.AddIncludeDir("include", true); @@ -238,10 +238,10 @@ TEST(TargetTestSyncGroup, InsertByConstRef) { } TEST(TargetTestSyncGroup, InsertByMove) { - buildcc::base::Target srcTarget( - "srcTarget", buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target srcTarget("srcTarget", buildcc::TargetType::Executable, + gcc, "data"); buildcc::base::Target destTarget( - "destTarget", buildcc::base::TargetType::Executable, gcc, "data"); + "destTarget", buildcc::TargetType::Executable, gcc, "data"); srcTarget.AddSource("dummy_main.c"); srcTarget.AddIncludeDir("include", true); @@ -306,10 +306,10 @@ TEST(TargetTestSyncGroup, InsertByMove) { } TEST(TargetTestSyncGroup, InsertCrash) { - buildcc::base::Target srcTarget( - "srcTarget", buildcc::base::TargetType::Executable, gcc, "data"); + buildcc::base::Target srcTarget("srcTarget", buildcc::TargetType::Executable, + gcc, "data"); buildcc::base::Target destTarget( - "destTarget", buildcc::base::TargetType::Executable, gcc, "data"); + "destTarget", buildcc::TargetType::Executable, gcc, "data"); CHECK_THROWS( std::exception, diff --git a/buildcc/lib/target/test/target/test_target_user_deps.cpp b/buildcc/lib/target/test/target/test_target_user_deps.cpp index b4a9b848..14255c98 100644 --- a/buildcc/lib/target/test/target/test_target_user_deps.cpp +++ b/buildcc/lib/target/test/target/test_target_user_deps.cpp @@ -36,7 +36,7 @@ static const fs::path target_source_intermediate_path = TEST(TargetTestUserDepsGroup, Target_Build_CompileDeps_NoChange) { constexpr const char *NAME = "compileDep_NoChange.exe"; - buildcc::base::Target compileDep(NAME, buildcc::base::TargetType::Executable, + buildcc::base::Target compileDep(NAME, buildcc::TargetType::Executable, gcc, "data"); compileDep.AddSource("dummy_main.cpp"); compileDep.AddCompileDependency("new_source.cpp"); @@ -51,7 +51,7 @@ TEST(TargetTestUserDepsGroup, Target_Build_CompileDeps_NoChange) { TEST(TargetTestUserDepsGroup, Target_Build_LinkDeps_NoChange) { constexpr const char *NAME = "linkDep_NoChange.exe"; - buildcc::base::Target linkDep(NAME, buildcc::base::TargetType::Executable, + buildcc::base::Target linkDep(NAME, buildcc::TargetType::Executable, gcc, "data"); linkDep.AddSource("dummy_main.cpp"); linkDep.AddLinkDependency("new_source.cpp"); @@ -68,7 +68,7 @@ TEST(TargetTestUserDepsGroup, Target_Build_CompileDeps_Rebuild) { constexpr const char *NAME = "compileDep_Rebuild.exe"; { buildcc::base::Target compileDep( - NAME, buildcc::base::TargetType::Executable, gcc, "data"); + NAME, buildcc::TargetType::Executable, gcc, "data"); compileDep.AddSource("dummy_main.cpp"); compileDep.AddCompileDependency("new_source.cpp"); @@ -89,7 +89,7 @@ TEST(TargetTestUserDepsGroup, Target_Build_CompileDeps_Rebuild) { { buildcc::base::Target compileDep( - NAME, buildcc::base::TargetType::Executable, gcc, "data"); + NAME, buildcc::TargetType::Executable, gcc, "data"); compileDep.AddSource("dummy_main.cpp"); compileDep.AddCompileDependency("new_source.cpp"); @@ -106,7 +106,7 @@ TEST(TargetTestUserDepsGroup, Target_Build_CompileDeps_Rebuild) { TEST(TargetTestUserDepsGroup, Target_Build_LinkDeps_Rebuild) { constexpr const char *NAME = "linkDep_Rebuild.exe"; { - buildcc::base::Target linkDep(NAME, buildcc::base::TargetType::Executable, + buildcc::base::Target linkDep(NAME, buildcc::TargetType::Executable, gcc, "data"); linkDep.AddSource("dummy_main.cpp"); linkDep.AddLinkDependency("new_source.cpp"); @@ -127,7 +127,7 @@ TEST(TargetTestUserDepsGroup, Target_Build_LinkDeps_Rebuild) { } { - buildcc::base::Target linkDep(NAME, buildcc::base::TargetType::Executable, + buildcc::base::Target linkDep(NAME, buildcc::TargetType::Executable, gcc, "data"); linkDep.AddSource("dummy_main.cpp"); linkDep.AddLinkDependency("new_source.cpp"); From a3d0bdbed299cc574713cafa3202652a17763fae Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 16 Jan 2022 20:24:21 -0800 Subject: [PATCH 06/40] Shifted TargetState namespace from buildcc::base to buildcc --- buildcc/lib/target/include/target/common/target_state.h | 4 ++-- buildcc/lib/target/include/target/target.h | 2 -- buildcc/lib/target/src/common/target_state.cpp | 4 ++-- buildcc/lib/target/test/target/test_target_state.cpp | 2 +- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/buildcc/lib/target/include/target/common/target_state.h b/buildcc/lib/target/include/target/common/target_state.h index 23945d9f..cc7e06eb 100644 --- a/buildcc/lib/target/include/target/common/target_state.h +++ b/buildcc/lib/target/include/target/common/target_state.h @@ -19,7 +19,7 @@ #include "target/common/target_file_ext.h" -namespace buildcc::base { +namespace buildcc { // TODO, Seperate TargetState into lock_ and other internal boolean variables // NOTE, This is because apart from lock_ every other parameter is updated @@ -48,6 +48,6 @@ struct TargetState { bool contains_pch_{false}; }; -} // namespace buildcc::base +} // namespace buildcc #endif diff --git a/buildcc/lib/target/include/target/target.h b/buildcc/lib/target/include/target/target.h index befeb47d..28a74bdf 100644 --- a/buildcc/lib/target/include/target/target.h +++ b/buildcc/lib/target/include/target/target.h @@ -170,8 +170,6 @@ class Target : public BuilderInterface, // TODO, Make all of these external and remove this namespace namespace buildcc { -typedef base::TargetState TargetState; - typedef base::Target BaseTarget; } // namespace buildcc diff --git a/buildcc/lib/target/src/common/target_state.cpp b/buildcc/lib/target/src/common/target_state.cpp index baaa6d1c..d2740547 100644 --- a/buildcc/lib/target/src/common/target_state.cpp +++ b/buildcc/lib/target/src/common/target_state.cpp @@ -18,7 +18,7 @@ #include "env/assert_fatal.h" -namespace buildcc::base { +namespace buildcc { void TargetState::SetSourceState(TargetFileExt file_extension) { switch (file_extension) { @@ -50,4 +50,4 @@ void TargetState::ExpectsLock() const { env::assert_fatal(lock, "Cannot use this function when lock == false"); } -} // namespace buildcc::base +} // namespace buildcc diff --git a/buildcc/lib/target/test/target/test_target_state.cpp b/buildcc/lib/target/test/target/test_target_state.cpp index 8f4fefdf..33900732 100644 --- a/buildcc/lib/target/test/target/test_target_state.cpp +++ b/buildcc/lib/target/test/target/test_target_state.cpp @@ -14,7 +14,7 @@ TEST_GROUP(TargetStateTestGroup) // clang-format on TEST(TargetStateTestGroup, SetSourceState) { - buildcc::base::TargetState target_state; + buildcc::TargetState target_state; CHECK_FALSE(target_state.contains_c); target_state.SetSourceState(buildcc::TargetFileExt::C); From b9bb12a931130c62ddfdcf560139d8b4899ca018 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Sun, 16 Jan 2022 21:09:53 -0800 Subject: [PATCH 07/40] Shifted BuilderInterface from buildcc::base to buildcc::internal --- buildcc/lib/args/include/args/register.h | 4 ++-- buildcc/lib/args/src/register.cpp | 4 ++-- buildcc/lib/target/include/target/generator.h | 2 +- .../lib/target/include/target/interface/builder_interface.h | 4 ++-- buildcc/lib/target/include/target/target.h | 2 +- buildcc/lib/target/test/target/test_builder_interface.cpp | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/buildcc/lib/args/include/args/register.h b/buildcc/lib/args/include/args/register.h index b34b4ce1..04210789 100644 --- a/buildcc/lib/args/include/args/register.h +++ b/buildcc/lib/args/include/args/register.h @@ -107,8 +107,8 @@ class Register { * * Target runs after dependency is built */ - void Dep(const base::BuilderInterface &target, - const base::BuilderInterface &dependency); + void Dep(const internal::BuilderInterface &target, + const internal::BuilderInterface &dependency); /** * @brief Register the Target to be run diff --git a/buildcc/lib/args/src/register.cpp b/buildcc/lib/args/src/register.cpp index f7afb40d..176816a7 100644 --- a/buildcc/lib/args/src/register.cpp +++ b/buildcc/lib/args/src/register.cpp @@ -66,8 +66,8 @@ void Register::Clean(const std::function &clean_cb) { } } -void Register::Dep(const base::BuilderInterface &target, - const base::BuilderInterface &dependency) { +void Register::Dep(const internal::BuilderInterface &target, + const internal::BuilderInterface &dependency) { const auto target_iter = build_.find(target.GetUniqueId()); const auto dep_iter = build_.find(dependency.GetUniqueId()); env::assert_fatal(!(target_iter == build_.end() || dep_iter == build_.end()), diff --git a/buildcc/lib/target/include/target/generator.h b/buildcc/lib/target/include/target/generator.h index ce4e91a9..67ed7fde 100644 --- a/buildcc/lib/target/include/target/generator.h +++ b/buildcc/lib/target/include/target/generator.h @@ -39,7 +39,7 @@ namespace buildcc::base { -class Generator : public BuilderInterface { +class Generator : public internal::BuilderInterface { public: Generator(const std::string &name, const TargetEnv &env, bool parallel = false) diff --git a/buildcc/lib/target/include/target/interface/builder_interface.h b/buildcc/lib/target/include/target/interface/builder_interface.h index fd4abd43..d3ea59e9 100644 --- a/buildcc/lib/target/include/target/interface/builder_interface.h +++ b/buildcc/lib/target/include/target/interface/builder_interface.h @@ -26,7 +26,7 @@ #include "target/common/path.h" #include "target/common/util.h" -namespace buildcc::base { +namespace buildcc::internal { // TODO, 1. Consider updating Recheck* APIs - do not modify internal `dirty_` // flag @@ -114,6 +114,6 @@ class BuilderInterface { std::string unique_id_; }; -} // namespace buildcc::base +} // namespace buildcc::internal #endif diff --git a/buildcc/lib/target/include/target/target.h b/buildcc/lib/target/include/target/target.h index 28a74bdf..9ca02fec 100644 --- a/buildcc/lib/target/include/target/target.h +++ b/buildcc/lib/target/include/target/target.h @@ -62,7 +62,7 @@ namespace buildcc::base { // NOTE, base::Target is meant to be a blank slate which can be customized by // the specialized target-toolchain classes -class Target : public BuilderInterface, +class Target : public internal::BuilderInterface, public TargetInfo, public TargetGetter { diff --git a/buildcc/lib/target/test/target/test_builder_interface.cpp b/buildcc/lib/target/test/target/test_builder_interface.cpp index f2c22b04..8c832b36 100644 --- a/buildcc/lib/target/test/target/test_builder_interface.cpp +++ b/buildcc/lib/target/test/target/test_builder_interface.cpp @@ -10,7 +10,7 @@ // TestBuilderInterface -class TestBuilderInterface : public buildcc::base::BuilderInterface { +class TestBuilderInterface : public buildcc::internal::BuilderInterface { public: void Build() override {} From 3f31473f8eeee7e281ce0e869a5c27110a9a0ce7 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Mon, 17 Jan 2022 14:53:56 -0800 Subject: [PATCH 08/40] Shifted Generator from namespace buildcc::base to buildcc --- buildcc/lib/args/mock/tasks.cpp | 2 +- buildcc/lib/args/src/tasks.cpp | 2 +- buildcc/lib/target/include/target/generator.h | 12 +- buildcc/lib/target/mock/expect_generator.h | 4 +- .../target/mock/generator/recheck_states.cpp | 4 +- buildcc/lib/target/mock/generator/runner.cpp | 4 +- .../lib/target/src/generator/generator.cpp | 4 +- .../target/src/generator/generator_storer.cpp | 4 +- .../target/src/generator/recheck_states.cpp | 4 +- buildcc/lib/target/src/generator/task.cpp | 4 +- .../lib/target/test/target/test_generator.cpp | 108 +++++++++--------- docs/source/user_api/target.rst | 2 + 12 files changed, 79 insertions(+), 75 deletions(-) diff --git a/buildcc/lib/args/mock/tasks.cpp b/buildcc/lib/args/mock/tasks.cpp index 25b6baff..85c328c2 100644 --- a/buildcc/lib/args/mock/tasks.cpp +++ b/buildcc/lib/args/mock/tasks.cpp @@ -9,7 +9,7 @@ tf::Task Register::BuildTargetTask(base::Target &target) { return build_tf_.placeholder().name(target.GetUniqueId()); } -tf::Task Register::BuildGeneratorTask(base::Generator &generator) { +tf::Task Register::BuildGeneratorTask(BaseGenerator &generator) { mock().actualCall( fmt::format("BuildGeneratorTask_{}", generator.GetName()).c_str()); return build_tf_.placeholder().name(generator.GetUniqueId()); diff --git a/buildcc/lib/args/src/tasks.cpp b/buildcc/lib/args/src/tasks.cpp index e4c0653b..5557617d 100644 --- a/buildcc/lib/args/src/tasks.cpp +++ b/buildcc/lib/args/src/tasks.cpp @@ -24,7 +24,7 @@ tf::Task Register::BuildTargetTask(base::Target &target) { return build_tf_.composed_of(target.GetTaskflow()).name(target.GetUniqueId()); } -tf::Task Register::BuildGeneratorTask(base::Generator &generator) { +tf::Task Register::BuildGeneratorTask(BaseGenerator &generator) { return build_tf_.composed_of(generator.GetTaskflow()) .name(generator.GetUniqueId()); } diff --git a/buildcc/lib/target/include/target/generator.h b/buildcc/lib/target/include/target/generator.h index 67ed7fde..8d330a7c 100644 --- a/buildcc/lib/target/include/target/generator.h +++ b/buildcc/lib/target/include/target/generator.h @@ -37,7 +37,7 @@ #include "target/common/path.h" #include "target/common/target_env.h" -namespace buildcc::base { +namespace buildcc { class Generator : public internal::BuilderInterface { public: @@ -143,12 +143,14 @@ class Generator : public internal::BuilderInterface { tf::Taskflow tf_; }; -} // namespace buildcc::base +typedef Generator BaseGenerator; -namespace buildcc { +} // namespace buildcc + +// namespace buildcc { -typedef base::Generator BaseGenerator; +// typedef base::Generator BaseGenerator; -} +// } #endif diff --git a/buildcc/lib/target/mock/expect_generator.h b/buildcc/lib/target/mock/expect_generator.h index 3c611723..b41cd780 100644 --- a/buildcc/lib/target/mock/expect_generator.h +++ b/buildcc/lib/target/mock/expect_generator.h @@ -3,7 +3,7 @@ #include "target/generator.h" -namespace buildcc::base::m { +namespace buildcc::m { /** * @brief Runs the generator using Taskflow with 1 thread @@ -18,6 +18,6 @@ void GeneratorExpect_InputUpdated(unsigned int calls, Generator *generator); void GeneratorExpect_OutputChanged(unsigned int calls, Generator *generator); void GeneratorExpect_CommandChanged(unsigned int calls, Generator *generator); -} // namespace buildcc::base::m +} // namespace buildcc::m #endif diff --git a/buildcc/lib/target/mock/generator/recheck_states.cpp b/buildcc/lib/target/mock/generator/recheck_states.cpp index 1b4a0cf1..ba424dae 100644 --- a/buildcc/lib/target/mock/generator/recheck_states.cpp +++ b/buildcc/lib/target/mock/generator/recheck_states.cpp @@ -4,7 +4,7 @@ #include "CppUTestExt/MockSupport.h" -namespace buildcc::base { +namespace buildcc { static constexpr const char *const INPUT_REMOVED_FUNCTION = "Generator::InputRemoved"; @@ -56,4 +56,4 @@ void GeneratorExpect_CommandChanged(unsigned int calls, Generator *generator) { } // namespace m -} // namespace buildcc::base +} // namespace buildcc diff --git a/buildcc/lib/target/mock/generator/runner.cpp b/buildcc/lib/target/mock/generator/runner.cpp index c53bf259..3ca990e8 100644 --- a/buildcc/lib/target/mock/generator/runner.cpp +++ b/buildcc/lib/target/mock/generator/runner.cpp @@ -2,7 +2,7 @@ #include "expect_generator.h" -namespace buildcc::base::m { +namespace buildcc::m { void GeneratorRunner(Generator &generator) { tf::Executor executor(1); @@ -10,4 +10,4 @@ void GeneratorRunner(Generator &generator) { executor.wait_for_all(); } -} // namespace buildcc::base::m +} // namespace buildcc::m diff --git a/buildcc/lib/target/src/generator/generator.cpp b/buildcc/lib/target/src/generator/generator.cpp index 81f22c22..caa2ada9 100644 --- a/buildcc/lib/target/src/generator/generator.cpp +++ b/buildcc/lib/target/src/generator/generator.cpp @@ -20,7 +20,7 @@ #include "env/assert_fatal.h" -namespace buildcc::base { +namespace buildcc { void Generator::AddDefaultArguments( const std::unordered_map &arguments) { @@ -111,4 +111,4 @@ void Generator::BuildGenerate() { } } -} // namespace buildcc::base +} // namespace buildcc diff --git a/buildcc/lib/target/src/generator/generator_storer.cpp b/buildcc/lib/target/src/generator/generator_storer.cpp index 02bc413d..a652e5ff 100644 --- a/buildcc/lib/target/src/generator/generator_storer.cpp +++ b/buildcc/lib/target/src/generator/generator_storer.cpp @@ -25,7 +25,7 @@ namespace fbs = schema::internal; -namespace buildcc::base { +namespace buildcc { bool Generator::Store() { env::log_trace(name_, __FUNCTION__); @@ -50,4 +50,4 @@ bool Generator::Store() { builder.GetSize(), true); } -} // namespace buildcc::base +} // namespace buildcc diff --git a/buildcc/lib/target/src/generator/recheck_states.cpp b/buildcc/lib/target/src/generator/recheck_states.cpp index 63bb8356..5196c81f 100644 --- a/buildcc/lib/target/src/generator/recheck_states.cpp +++ b/buildcc/lib/target/src/generator/recheck_states.cpp @@ -16,7 +16,7 @@ #include "target/generator.h" -namespace buildcc::base { +namespace buildcc { void Generator::InputRemoved() {} void Generator::InputAdded() {} @@ -25,4 +25,4 @@ void Generator::InputUpdated() {} void Generator::OutputChanged() {} void Generator::CommandChanged() {} -} // namespace buildcc::base +} // namespace buildcc diff --git a/buildcc/lib/target/src/generator/task.cpp b/buildcc/lib/target/src/generator/task.cpp index b7f6eeb6..8ee2fb8c 100644 --- a/buildcc/lib/target/src/generator/task.cpp +++ b/buildcc/lib/target/src/generator/task.cpp @@ -27,7 +27,7 @@ constexpr const char *const kGenerateTaskName = "Generate"; } // namespace -namespace buildcc::base { +namespace buildcc { void Generator::GenerateTask() { tf::Task start_task = tf_.emplace([this]() { @@ -122,4 +122,4 @@ void Generator::GenerateTask() { generate_task.precede(end_task); } -} // namespace buildcc::base +} // namespace buildcc diff --git a/buildcc/lib/target/test/target/test_generator.cpp b/buildcc/lib/target/test/target/test_generator.cpp index b0e927e8..877b0deb 100644 --- a/buildcc/lib/target/test/target/test_generator.cpp +++ b/buildcc/lib/target/test/target/test_generator.cpp @@ -29,7 +29,7 @@ fs::path BUILD_DIR = fs::current_path() / "intermediate" / "generator"; TEST(GeneratorTestGroup, Generator_Build) { constexpr const char *const NAME = "Build"; - buildcc::base::Generator generator(NAME, ""); + buildcc::Generator generator(NAME, ""); generator.AddDefaultArguments({ {"compiler", "gcc"}, @@ -42,14 +42,14 @@ TEST(GeneratorTestGroup, Generator_Build) { buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); mock().checkExpectations(); } TEST(GeneratorTestGroup, Generator_BuildParallel) { constexpr const char *const NAME = "BuildParallel"; - buildcc::base::Generator generator(NAME, "", true); + buildcc::Generator generator(NAME, "", true); generator.AddDefaultArguments({ {"compiler", "gcc"}, @@ -62,14 +62,14 @@ TEST(GeneratorTestGroup, Generator_BuildParallel) { buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); mock().checkExpectations(); } TEST(GeneratorTestGroup, Generator_Identifier) { constexpr const char *const NAME = "Identifier"; - buildcc::base::Generator generator(NAME, ""); + buildcc::Generator generator(NAME, ""); generator.AddDefaultArguments({ {"compiler", "gcc"}, @@ -81,7 +81,7 @@ TEST(GeneratorTestGroup, Generator_Identifier) { buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); mock().checkExpectations(); } @@ -89,7 +89,7 @@ TEST(GeneratorTestGroup, Generator_Identifier) { TEST(GeneratorTestGroup, Generator_Rebuild) { constexpr const char *const NAME = "Rebuild"; { - buildcc::base::Generator generator(NAME, ""); + buildcc::Generator generator(NAME, ""); generator.AddInput("{gen_root_dir}/dummy_main.c"); generator.AddOutput("{gen_build_dir}/dummy_main.exe"); generator.AddCommand("{compiler} -o {gen_build_dir}/dummy_main.exe " @@ -100,11 +100,11 @@ TEST(GeneratorTestGroup, Generator_Rebuild) { buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } { - buildcc::base::Generator generator(NAME, ""); + buildcc::Generator generator(NAME, ""); generator.AddInput("{gen_root_dir}/dummy_main.c"); generator.AddOutput("{gen_build_dir}/dummy_main.exe"); generator.AddCommand("{compiler} -o {gen_build_dir}/dummy_main.exe " @@ -114,7 +114,7 @@ TEST(GeneratorTestGroup, Generator_Rebuild) { }); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } mock().checkExpectations(); @@ -124,7 +124,7 @@ TEST(GeneratorTestGroup, Generator_Rebuild_Inputs) { constexpr const char *const NAME = "Rebuild_Inputs"; { - buildcc::base::Generator generator(NAME, ""); + buildcc::Generator generator(NAME, ""); generator.AddInput("{gen_root_dir}/new_source.cpp"); generator.AddOutput("{gen_build_dir}/new_source.exe"); generator.AddCommand("gcc -o {gen_build_dir}/new_source.exe " @@ -132,34 +132,34 @@ TEST(GeneratorTestGroup, Generator_Rebuild_Inputs) { buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } // Removed { - buildcc::base::Generator generator(NAME, ""); + buildcc::Generator generator(NAME, ""); generator.AddOutput("{gen_build_dir}/new_source.exe"); generator.AddCommand("gcc -o {gen_build_dir}/new_source.exe " "{gen_root_dir}/new_source.cpp"); - buildcc::base::m::GeneratorExpect_InputRemoved(1, &generator); + buildcc::m::GeneratorExpect_InputRemoved(1, &generator); buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } // Added { - buildcc::base::Generator generator(NAME, ""); + buildcc::Generator generator(NAME, ""); generator.AddInput("{gen_root_dir}/new_source.cpp"); generator.AddOutput("{gen_build_dir}/new_source.cpp.exe"); generator.AddCommand("gcc -o {gen_build_dir}/new_source.cpp.exe " "{gen_root_dir}/new_source.cpp"); - buildcc::base::m::GeneratorExpect_InputAdded(1, &generator); + buildcc::m::GeneratorExpect_InputAdded(1, &generator); buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } sleep(1); @@ -172,15 +172,15 @@ TEST(GeneratorTestGroup, Generator_Rebuild_Inputs) { // Updated { - buildcc::base::Generator generator(NAME, ""); + buildcc::Generator generator(NAME, ""); generator.AddInput("{gen_root_dir}/new_source.cpp"); generator.AddOutput("{gen_build_dir}/new_source.cpp.exe"); generator.AddCommand("gcc -o {gen_build_dir}/new_source.cpp.exe " "{gen_root_dir}/new_source.cpp"); - buildcc::base::m::GeneratorExpect_InputUpdated(1, &generator); + buildcc::m::GeneratorExpect_InputUpdated(1, &generator); buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } mock().checkExpectations(); @@ -189,7 +189,7 @@ TEST(GeneratorTestGroup, Generator_Rebuild_Inputs) { TEST(GeneratorTestGroup, Generator_Rebuild_Outputs) { constexpr const char *const NAME = "Rebuild_Outputs"; { - buildcc::base::Generator generator(NAME, ""); + buildcc::Generator generator(NAME, ""); generator.AddInput("{gen_root_dir}/dummy_main.c"); generator.AddOutput("{gen_build_dir}/dummy_main.exe"); generator.AddCommand("{compiler} -o {gen_build_dir}/dummy_main.exe " @@ -200,11 +200,11 @@ TEST(GeneratorTestGroup, Generator_Rebuild_Outputs) { buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } { - buildcc::base::Generator generator(NAME, ""); + buildcc::Generator generator(NAME, ""); generator.AddInput("{gen_root_dir}/dummy_main.c"); generator.AddCommand("{compiler} -o {gen_build_dir}/dummy_main.exe " "{gen_root_dir}/dummy_main.c", @@ -212,14 +212,14 @@ TEST(GeneratorTestGroup, Generator_Rebuild_Outputs) { {"compiler", "gcc"}, }); - buildcc::base::m::GeneratorExpect_OutputChanged(1, &generator); + buildcc::m::GeneratorExpect_OutputChanged(1, &generator); buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } { - buildcc::base::Generator generator(NAME, ""); + buildcc::Generator generator(NAME, ""); generator.AddInput("{gen_root_dir}/dummy_main.c"); generator.AddOutput("{gen_build_dir}/dummy_main.exe"); generator.AddCommand("{compiler} -o {gen_build_dir}/dummy_main.exe " @@ -228,10 +228,10 @@ TEST(GeneratorTestGroup, Generator_Rebuild_Outputs) { {"compiler", "gcc"}, }); - buildcc::base::m::GeneratorExpect_OutputChanged(1, &generator); + buildcc::m::GeneratorExpect_OutputChanged(1, &generator); buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } mock().checkExpectations(); @@ -240,7 +240,7 @@ TEST(GeneratorTestGroup, Generator_Rebuild_Outputs) { TEST(GeneratorTestGroup, Generator_Rebuild_Commands) { constexpr const char *const NAME = "Rebuild_Commands"; { - buildcc::base::Generator generator(NAME, ""); + buildcc::Generator generator(NAME, ""); generator.AddInput("{gen_root_dir}/dummy_main.c"); generator.AddOutput("{gen_build_dir}/dummy_main.exe"); generator.AddCommand("{compiler} -o {gen_build_dir}/dummy_main.exe " @@ -251,11 +251,11 @@ TEST(GeneratorTestGroup, Generator_Rebuild_Commands) { buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } { - buildcc::base::Generator generator(NAME, ""); + buildcc::Generator generator(NAME, ""); generator.AddInput("{gen_root_dir}/dummy_main.c"); generator.AddOutput("{gen_build_dir}/dummy_main.exe"); generator.AddCommand("{compiler} {gen_root_dir}/dummy_main.c", @@ -263,23 +263,23 @@ TEST(GeneratorTestGroup, Generator_Rebuild_Commands) { {"compiler", "gcc"}, }); - buildcc::base::m::GeneratorExpect_CommandChanged(1, &generator); + buildcc::m::GeneratorExpect_CommandChanged(1, &generator); buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } { - buildcc::base::Generator generator(NAME, ""); + buildcc::Generator generator(NAME, ""); generator.AddInput("{gen_root_dir}/dummy_main.c"); generator.AddOutput("{gen_build_dir}/dummy_main.exe"); generator.AddCommand("gcc -o {gen_build_dir}/dummy_main.exe " "{gen_root_dir}/dummy_main.c"); - buildcc::base::m::GeneratorExpect_CommandChanged(1, &generator); + buildcc::m::GeneratorExpect_CommandChanged(1, &generator); buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } mock().checkExpectations(); @@ -287,7 +287,7 @@ TEST(GeneratorTestGroup, Generator_Rebuild_Commands) { TEST(GeneratorTestGroup, Generator_AddDefaultArguments) { constexpr const char *const NAME = "AddDefaultArgument"; - buildcc::base::Generator generator(NAME, ""); + buildcc::Generator generator(NAME, ""); generator.AddDefaultArguments({ {"key", "value"}, @@ -303,7 +303,7 @@ TEST(GeneratorTestGroup, Generator_FailedEnvTaskState) { buildcc::env::set_task_state(buildcc::env::TaskState::FAILURE); constexpr const char *const NAME = "FailedEnvTaskState"; - buildcc::base::Generator generator(NAME, "", true); + buildcc::Generator generator(NAME, "", true); generator.AddDefaultArguments({ {"compiler", "gcc"}, @@ -315,7 +315,7 @@ TEST(GeneratorTestGroup, Generator_FailedEnvTaskState) { "{gen_root_dir}/dummy_main.c"); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); mock().checkExpectations(); @@ -324,7 +324,7 @@ TEST(GeneratorTestGroup, Generator_FailedEnvTaskState) { TEST(GeneratorTestGroup, Generator_FailedGenerateConvert) { constexpr const char *const NAME = "FailedGenerateConvert"; - buildcc::base::Generator generator(NAME, "", false); + buildcc::Generator generator(NAME, "", false); generator.AddDefaultArguments({ {"compiler", "gcc"}, @@ -336,7 +336,7 @@ TEST(GeneratorTestGroup, Generator_FailedGenerateConvert) { "{gen_root_dir}/dummy_main.c"); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); mock().checkExpectations(); @@ -345,7 +345,7 @@ TEST(GeneratorTestGroup, Generator_FailedGenerateConvert) { TEST(GeneratorTestGroup, Generator_FailedGenerateCommand) { constexpr const char *const NAME = "FailedGenerateCommand"; - buildcc::base::Generator generator(NAME, "", false); + buildcc::Generator generator(NAME, "", false); generator.AddDefaultArguments({ {"compiler", "gcc"}, @@ -358,7 +358,7 @@ TEST(GeneratorTestGroup, Generator_FailedGenerateCommand) { buildcc::env::m::CommandExpect_Execute(1, false); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); mock().checkExpectations(); @@ -369,7 +369,7 @@ TEST(GeneratorTestGroup, Generator_FailedStore) { constexpr const char *const NAME = "FailedStore"; const fs::path test_build_dir = buildcc::env::get_project_build_dir() / NAME; - buildcc::base::Generator generator(NAME, "", false); + buildcc::Generator generator(NAME, "", false); fs::remove_all(test_build_dir); generator.AddDefaultArguments({ @@ -383,7 +383,7 @@ TEST(GeneratorTestGroup, Generator_FailedStore) { buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); CHECK(generator.GetTaskState() == buildcc::env::TaskState::FAILURE); @@ -397,7 +397,7 @@ TEST(GeneratorTestGroup, FailedEnvTaskState_Rebuild) { constexpr const char *const NAME = "FailedEnvTaskState_Rebuild"; { - buildcc::base::Generator generator(NAME, "", true); + buildcc::Generator generator(NAME, "", true); generator.AddDefaultArguments({ {"compiler", "gcc"}, @@ -409,7 +409,7 @@ TEST(GeneratorTestGroup, FailedEnvTaskState_Rebuild) { "{gen_root_dir}/dummy_main.c"); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } // reset @@ -417,7 +417,7 @@ TEST(GeneratorTestGroup, FailedEnvTaskState_Rebuild) { // rebuild { - buildcc::base::Generator generator(NAME, "", true); + buildcc::Generator generator(NAME, "", true); generator.AddDefaultArguments({ {"compiler", "gcc"}, @@ -430,7 +430,7 @@ TEST(GeneratorTestGroup, FailedEnvTaskState_Rebuild) { generator.Build(); buildcc::env::m::CommandExpect_Execute(1, true); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } mock().checkExpectations(); @@ -440,7 +440,7 @@ TEST(GeneratorTestGroup, FailedGenerateCommand_Rebuild) { constexpr const char *const NAME = "FailedGenerateCommand_Rebuild"; { - buildcc::base::Generator generator(NAME, "", false); + buildcc::Generator generator(NAME, "", false); generator.AddDefaultArguments({ {"compiler", "gcc"}, @@ -453,7 +453,7 @@ TEST(GeneratorTestGroup, FailedGenerateCommand_Rebuild) { buildcc::env::m::CommandExpect_Execute(1, false); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } // reset @@ -461,7 +461,7 @@ TEST(GeneratorTestGroup, FailedGenerateCommand_Rebuild) { // rebuild { - buildcc::base::Generator generator(NAME, "", false); + buildcc::Generator generator(NAME, "", false); generator.AddDefaultArguments({ {"compiler", "gcc"}, @@ -474,7 +474,7 @@ TEST(GeneratorTestGroup, FailedGenerateCommand_Rebuild) { buildcc::env::m::CommandExpect_Execute(1, true); generator.Build(); - buildcc::base::m::GeneratorRunner(generator); + buildcc::m::GeneratorRunner(generator); } mock().checkExpectations(); diff --git a/docs/source/user_api/target.rst b/docs/source/user_api/target.rst index 639adec4..31083b49 100644 --- a/docs/source/user_api/target.rst +++ b/docs/source/user_api/target.rst @@ -10,6 +10,8 @@ Target target.h --------- +.. doxygenclass:: buildcc::base::FlagApi + Specialized Target ================== From 97dc77b8066dc85ea8c4cdc1376776ee8a9c6817 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Mon, 17 Jan 2022 14:54:31 -0800 Subject: [PATCH 09/40] Update target.rst --- docs/source/user_api/target.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/source/user_api/target.rst b/docs/source/user_api/target.rst index 31083b49..639adec4 100644 --- a/docs/source/user_api/target.rst +++ b/docs/source/user_api/target.rst @@ -10,8 +10,6 @@ Target target.h --------- -.. doxygenclass:: buildcc::base::FlagApi - Specialized Target ================== From 2ff11a3078910d72bc546170d9daf0e008eb6731 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Mon, 17 Jan 2022 19:28:51 -0800 Subject: [PATCH 10/40] Shift Api CRTP class from buildcc::base to buildcc::internal --- .../lib/target/include/target/api/deps_api.h | 4 +- .../lib/target/include/target/api/flag_api.h | 4 +- .../target/include/target/api/include_api.h | 4 +- .../lib/target/include/target/api/lib_api.h | 8 +- .../lib/target/include/target/api/pch_api.h | 4 +- .../target/include/target/api/source_api.h | 4 +- .../lib/target/include/target/api/sync_api.h | 6 +- .../include/target/api/target_info_getter.h | 4 +- .../lib/target/include/target/target_info.h | 16 +- buildcc/lib/target/src/api/deps_api.cpp | 4 +- buildcc/lib/target/src/api/flag_api.cpp | 4 +- buildcc/lib/target/src/api/include_api.cpp | 4 +- buildcc/lib/target/src/api/lib_api.cpp | 6 +- buildcc/lib/target/src/api/pch_api.cpp | 4 +- buildcc/lib/target/src/api/source_api.cpp | 4 +- buildcc/lib/target/src/api/sync_api.cpp | 4 +- .../lib/target/src/api/target_info_getter.cpp | 4 +- .../target/test/target/test_target_sync.cpp | 152 +++++++++--------- 18 files changed, 121 insertions(+), 119 deletions(-) diff --git a/buildcc/lib/target/include/target/api/deps_api.h b/buildcc/lib/target/include/target/api/deps_api.h index f8a06bf6..16ba7707 100644 --- a/buildcc/lib/target/include/target/api/deps_api.h +++ b/buildcc/lib/target/include/target/api/deps_api.h @@ -21,7 +21,7 @@ namespace fs = std::filesystem; -namespace buildcc::base { +namespace buildcc::internal { // Requires // - TargetStorer @@ -58,6 +58,6 @@ template class DepsApi { void AddLinkDependencyAbsolute(const fs::path &absolute_path); }; -} // namespace buildcc::base +} // namespace buildcc::internal #endif diff --git a/buildcc/lib/target/include/target/api/flag_api.h b/buildcc/lib/target/include/target/api/flag_api.h index 08d6c109..a51ae94f 100644 --- a/buildcc/lib/target/include/target/api/flag_api.h +++ b/buildcc/lib/target/include/target/api/flag_api.h @@ -19,7 +19,7 @@ #include -namespace buildcc::base { +namespace buildcc::internal { // Requires // - TargetStorer @@ -36,6 +36,6 @@ template class FlagApi { void AddLinkFlag(const std::string &flag); }; -} // namespace buildcc::base +} // namespace buildcc::internal #endif diff --git a/buildcc/lib/target/include/target/api/include_api.h b/buildcc/lib/target/include/target/api/include_api.h index c8f54b9c..94307e81 100644 --- a/buildcc/lib/target/include/target/api/include_api.h +++ b/buildcc/lib/target/include/target/api/include_api.h @@ -21,7 +21,7 @@ namespace fs = std::filesystem; -namespace buildcc::base { +namespace buildcc::internal { // Requires // - TargetStorer @@ -43,6 +43,6 @@ template class IncludeApi { bool glob_headers = false); }; -} // namespace buildcc::base +} // namespace buildcc::internal #endif diff --git a/buildcc/lib/target/include/target/api/lib_api.h b/buildcc/lib/target/include/target/api/lib_api.h index e58832a0..871c0314 100644 --- a/buildcc/lib/target/include/target/api/lib_api.h +++ b/buildcc/lib/target/include/target/api/lib_api.h @@ -26,6 +26,10 @@ namespace buildcc::base { class Target; +} + +namespace buildcc::internal { + // Requires // - TargetStorer // - TargetState @@ -33,13 +37,13 @@ class Target; // T::GetTargetPath template class LibApi { public: - void AddLibDep(const Target &lib_dep); + void AddLibDep(const base::Target &lib_dep); void AddLibDep(const std::string &lib_dep); void AddLibDir(const fs::path &relative_lib_dir); void AddLibDirAbsolute(const fs::path &absolute_lib_dir); }; -} // namespace buildcc::base +} // namespace buildcc::internal #endif diff --git a/buildcc/lib/target/include/target/api/pch_api.h b/buildcc/lib/target/include/target/api/pch_api.h index 9e277eda..0955ff95 100644 --- a/buildcc/lib/target/include/target/api/pch_api.h +++ b/buildcc/lib/target/include/target/api/pch_api.h @@ -21,7 +21,7 @@ namespace fs = std::filesystem; -namespace buildcc::base { +namespace buildcc::internal { // Requires // - TargetStorer @@ -35,6 +35,6 @@ template class PchApi { void AddPchAbsolute(const fs::path &absolute_filepath); }; -} // namespace buildcc::base +} // namespace buildcc::internal #endif diff --git a/buildcc/lib/target/include/target/api/source_api.h b/buildcc/lib/target/include/target/api/source_api.h index 314ec741..f90c2118 100644 --- a/buildcc/lib/target/include/target/api/source_api.h +++ b/buildcc/lib/target/include/target/api/source_api.h @@ -21,7 +21,7 @@ namespace fs = std::filesystem; -namespace buildcc::base { +namespace buildcc::internal { // Requires // - TargetStorer @@ -38,6 +38,6 @@ template class SourceApi { void GlobSources(const fs::path &relative_to_target_path = ""); }; -} // namespace buildcc::base +} // namespace buildcc::internal #endif diff --git a/buildcc/lib/target/include/target/api/sync_api.h b/buildcc/lib/target/include/target/api/sync_api.h index f20e644e..37910d67 100644 --- a/buildcc/lib/target/include/target/api/sync_api.h +++ b/buildcc/lib/target/include/target/api/sync_api.h @@ -19,7 +19,7 @@ #include -namespace buildcc::base { +namespace buildcc::internal { enum class SyncOption { SourceFiles, @@ -77,11 +77,11 @@ template class SyncApi { std::initializer_list options); }; -} // namespace buildcc::base +} // namespace buildcc::internal namespace buildcc { -typedef base::SyncOption SyncOption; +typedef internal::SyncOption SyncOption; } diff --git a/buildcc/lib/target/include/target/api/target_info_getter.h b/buildcc/lib/target/include/target/api/target_info_getter.h index f4e33aac..7c6f191c 100644 --- a/buildcc/lib/target/include/target/api/target_info_getter.h +++ b/buildcc/lib/target/include/target/api/target_info_getter.h @@ -22,7 +22,7 @@ #include "target/common/target_config.h" #include "target/common/target_state.h" -namespace buildcc::base { +namespace buildcc::internal { // Requires // - TargetStorer @@ -63,6 +63,6 @@ template class TargetInfoGetter { const fs_unordered_set &GetLinkDependencies() const; }; -} // namespace buildcc::base +} // namespace buildcc::internal #endif diff --git a/buildcc/lib/target/include/target/target_info.h b/buildcc/lib/target/include/target/target_info.h index a734086e..c3d50802 100644 --- a/buildcc/lib/target/include/target/target_info.h +++ b/buildcc/lib/target/include/target/target_info.h @@ -41,14 +41,14 @@ namespace buildcc::base { // multiple targets // It is also meant to be used in situations where we do not need to build // For example: Header only targets -class TargetInfo : public SourceApi, - public IncludeApi, - public LibApi, - public PchApi, - public FlagApi, - public DepsApi, - public SyncApi, - public TargetInfoGetter { +class TargetInfo : public internal::SourceApi, + public internal::IncludeApi, + public internal::LibApi, + public internal::PchApi, + public internal::FlagApi, + public internal::DepsApi, + public internal::SyncApi, + public internal::TargetInfoGetter { public: TargetInfo(const TargetEnv &env, const TargetConfig &config = TargetConfig()) : env_(env), config_(config) {} diff --git a/buildcc/lib/target/src/api/deps_api.cpp b/buildcc/lib/target/src/api/deps_api.cpp index 82b8645c..63e59647 100644 --- a/buildcc/lib/target/src/api/deps_api.cpp +++ b/buildcc/lib/target/src/api/deps_api.cpp @@ -18,7 +18,7 @@ #include "target/target_info.h" -namespace buildcc::base { +namespace buildcc::internal { template void DepsApi::AddCompileDependencyAbsolute(const fs::path &absolute_path) { @@ -53,4 +53,4 @@ void DepsApi::AddLinkDependency(const fs::path &relative_path) { template class DepsApi; -} // namespace buildcc::base +} // namespace buildcc::internal diff --git a/buildcc/lib/target/src/api/flag_api.cpp b/buildcc/lib/target/src/api/flag_api.cpp index 3c9ef740..abcfbcf7 100644 --- a/buildcc/lib/target/src/api/flag_api.cpp +++ b/buildcc/lib/target/src/api/flag_api.cpp @@ -18,7 +18,7 @@ #include "target/target_info.h" -namespace buildcc::base { +namespace buildcc::internal { template void FlagApi::AddPreprocessorFlag(const std::string &flag) { @@ -78,4 +78,4 @@ template void FlagApi::AddLinkFlag(const std::string &flag) { template class FlagApi; -} // namespace buildcc::base +} // namespace buildcc::internal diff --git a/buildcc/lib/target/src/api/include_api.cpp b/buildcc/lib/target/src/api/include_api.cpp index 1003137b..bb9aa1b1 100644 --- a/buildcc/lib/target/src/api/include_api.cpp +++ b/buildcc/lib/target/src/api/include_api.cpp @@ -18,7 +18,7 @@ #include "target/target_info.h" -namespace buildcc::base { +namespace buildcc::internal { template void IncludeApi::AddHeaderAbsolute(const fs::path &absolute_filepath) { @@ -84,4 +84,4 @@ void IncludeApi::AddIncludeDirAbsolute(const fs::path &absolute_include_dir, template class IncludeApi; -} // namespace buildcc::base +} // namespace buildcc::internal diff --git a/buildcc/lib/target/src/api/lib_api.cpp b/buildcc/lib/target/src/api/lib_api.cpp index e5dadda1..d3e2fa06 100644 --- a/buildcc/lib/target/src/api/lib_api.cpp +++ b/buildcc/lib/target/src/api/lib_api.cpp @@ -19,7 +19,7 @@ #include "target/target.h" #include "target/target_info.h" -namespace buildcc::base { +namespace buildcc::internal { template void LibApi::AddLibDir(const fs::path &relative_lib_dir) { @@ -37,7 +37,7 @@ void LibApi::AddLibDirAbsolute(const fs::path &absolute_lib_dir) { t.storer_.current_lib_dirs.insert(absolute_lib_dir); } -template void LibApi::AddLibDep(const Target &lib_dep) { +template void LibApi::AddLibDep(const base::Target &lib_dep) { T &t = static_cast(*this); t.state_.ExpectsUnlock(); @@ -53,4 +53,4 @@ template void LibApi::AddLibDep(const std::string &lib_dep) { template class LibApi; -} // namespace buildcc::base +} // namespace buildcc::internal diff --git a/buildcc/lib/target/src/api/pch_api.cpp b/buildcc/lib/target/src/api/pch_api.cpp index 7531c500..885c5469 100644 --- a/buildcc/lib/target/src/api/pch_api.cpp +++ b/buildcc/lib/target/src/api/pch_api.cpp @@ -18,7 +18,7 @@ #include "target/target_info.h" -namespace buildcc::base { +namespace buildcc::internal { template void PchApi::AddPchAbsolute(const fs::path &absolute_filepath) { @@ -45,4 +45,4 @@ void PchApi::AddPch(const fs::path &relative_filename, template class PchApi; -} // namespace buildcc::base +} // namespace buildcc::internal diff --git a/buildcc/lib/target/src/api/source_api.cpp b/buildcc/lib/target/src/api/source_api.cpp index f3d0a8c4..cce228df 100644 --- a/buildcc/lib/target/src/api/source_api.cpp +++ b/buildcc/lib/target/src/api/source_api.cpp @@ -18,7 +18,7 @@ #include "target/target_info.h" -namespace buildcc::base { +namespace buildcc::internal { template void SourceApi::AddSourceAbsolute(const fs::path &absolute_source) { @@ -69,4 +69,4 @@ void SourceApi::GlobSources(const fs::path &relative_to_target_path) { // template class SourceApi; -} // namespace buildcc::base +} // namespace buildcc::internal diff --git a/buildcc/lib/target/src/api/sync_api.cpp b/buildcc/lib/target/src/api/sync_api.cpp index 12e949f0..d5efc349 100644 --- a/buildcc/lib/target/src/api/sync_api.cpp +++ b/buildcc/lib/target/src/api/sync_api.cpp @@ -20,7 +20,7 @@ #include "env/assert_fatal.h" -namespace buildcc::base { +namespace buildcc::internal { template void SyncApi::Copy(const T &target, @@ -260,4 +260,4 @@ void SyncApi::SpecializedInsert(TargetType target, template class SyncApi; -} // namespace buildcc::base +} // namespace buildcc::internal diff --git a/buildcc/lib/target/src/api/target_info_getter.cpp b/buildcc/lib/target/src/api/target_info_getter.cpp index 51bf8791..10b18a2f 100644 --- a/buildcc/lib/target/src/api/target_info_getter.cpp +++ b/buildcc/lib/target/src/api/target_info_getter.cpp @@ -18,7 +18,7 @@ #include "target/target_info.h" -namespace buildcc::base { +namespace buildcc::internal { // Target State template const TargetState &TargetInfoGetter::GetState() const { @@ -193,4 +193,4 @@ const fs_unordered_set &TargetInfoGetter::GetLinkDependencies() const { template class TargetInfoGetter; -} // namespace buildcc::base +} // namespace buildcc::internal diff --git a/buildcc/lib/target/test/target/test_target_sync.cpp b/buildcc/lib/target/test/target/test_target_sync.cpp index c8a5de6e..2ac67c2e 100644 --- a/buildcc/lib/target/test/target/test_target_sync.cpp +++ b/buildcc/lib/target/test/target/test_target_sync.cpp @@ -47,23 +47,23 @@ TEST(TargetTestSyncGroup, CopyByConstRef) { srcTarget.AddLinkDependency("new_source.cpp"); destTarget.Copy(srcTarget, { - buildcc::base::SyncOption::SourceFiles, - buildcc::base::SyncOption::HeaderFiles, - buildcc::base::SyncOption::PchFiles, - buildcc::base::SyncOption::LibDeps, - buildcc::base::SyncOption::IncludeDirs, - buildcc::base::SyncOption::LibDirs, - buildcc::base::SyncOption::ExternalLibDeps, - buildcc::base::SyncOption::PreprocessorFlags, - buildcc::base::SyncOption::CommonCompileFlags, - buildcc::base::SyncOption::PchCompileFlags, - buildcc::base::SyncOption::PchObjectFlags, - buildcc::base::SyncOption::AsmCompileFlags, - buildcc::base::SyncOption::CCompileFlags, - buildcc::base::SyncOption::CppCompileFlags, - buildcc::base::SyncOption::LinkFlags, - buildcc::base::SyncOption::CompileDependencies, - buildcc::base::SyncOption::LinkDependencies, + buildcc::SyncOption::SourceFiles, + buildcc::SyncOption::HeaderFiles, + buildcc::SyncOption::PchFiles, + buildcc::SyncOption::LibDeps, + buildcc::SyncOption::IncludeDirs, + buildcc::SyncOption::LibDirs, + buildcc::SyncOption::ExternalLibDeps, + buildcc::SyncOption::PreprocessorFlags, + buildcc::SyncOption::CommonCompileFlags, + buildcc::SyncOption::PchCompileFlags, + buildcc::SyncOption::PchObjectFlags, + buildcc::SyncOption::AsmCompileFlags, + buildcc::SyncOption::CCompileFlags, + buildcc::SyncOption::CppCompileFlags, + buildcc::SyncOption::LinkFlags, + buildcc::SyncOption::CompileDependencies, + buildcc::SyncOption::LinkDependencies, }); CHECK_EQUAL(destTarget.GetSourceFiles().size(), 1); @@ -115,23 +115,23 @@ TEST(TargetTestSyncGroup, CopyByMove) { destTarget.Copy(std::move(srcTarget), { - buildcc::base::SyncOption::SourceFiles, - buildcc::base::SyncOption::HeaderFiles, - buildcc::base::SyncOption::PchFiles, - buildcc::base::SyncOption::LibDeps, - buildcc::base::SyncOption::IncludeDirs, - buildcc::base::SyncOption::LibDirs, - buildcc::base::SyncOption::ExternalLibDeps, - buildcc::base::SyncOption::PreprocessorFlags, - buildcc::base::SyncOption::CommonCompileFlags, - buildcc::base::SyncOption::PchCompileFlags, - buildcc::base::SyncOption::PchObjectFlags, - buildcc::base::SyncOption::AsmCompileFlags, - buildcc::base::SyncOption::CCompileFlags, - buildcc::base::SyncOption::CppCompileFlags, - buildcc::base::SyncOption::LinkFlags, - buildcc::base::SyncOption::CompileDependencies, - buildcc::base::SyncOption::LinkDependencies, + buildcc::SyncOption::SourceFiles, + buildcc::SyncOption::HeaderFiles, + buildcc::SyncOption::PchFiles, + buildcc::SyncOption::LibDeps, + buildcc::SyncOption::IncludeDirs, + buildcc::SyncOption::LibDirs, + buildcc::SyncOption::ExternalLibDeps, + buildcc::SyncOption::PreprocessorFlags, + buildcc::SyncOption::CommonCompileFlags, + buildcc::SyncOption::PchCompileFlags, + buildcc::SyncOption::PchObjectFlags, + buildcc::SyncOption::AsmCompileFlags, + buildcc::SyncOption::CCompileFlags, + buildcc::SyncOption::CppCompileFlags, + buildcc::SyncOption::LinkFlags, + buildcc::SyncOption::CompileDependencies, + buildcc::SyncOption::LinkDependencies, }); CHECK_EQUAL(destTarget.GetSourceFiles().size(), 1); @@ -165,7 +165,7 @@ TEST(TargetTestSyncGroup, CopyCrash) { CHECK_THROWS(std::exception, destTarget.Copy(srcTarget, { - (buildcc::base::SyncOption)65535, + (buildcc::SyncOption)65535, })); } @@ -193,26 +193,25 @@ TEST(TargetTestSyncGroup, InsertByConstRef) { srcTarget.AddCompileDependency("new_source.cpp"); srcTarget.AddLinkDependency("new_source.cpp"); - destTarget.Insert(srcTarget, - { - buildcc::base::SyncOption::SourceFiles, - buildcc::base::SyncOption::HeaderFiles, - buildcc::base::SyncOption::PchFiles, - buildcc::base::SyncOption::LibDeps, - buildcc::base::SyncOption::IncludeDirs, - buildcc::base::SyncOption::LibDirs, - buildcc::base::SyncOption::ExternalLibDeps, - buildcc::base::SyncOption::PreprocessorFlags, - buildcc::base::SyncOption::CommonCompileFlags, - buildcc::base::SyncOption::PchCompileFlags, - buildcc::base::SyncOption::PchObjectFlags, - buildcc::base::SyncOption::AsmCompileFlags, - buildcc::base::SyncOption::CCompileFlags, - buildcc::base::SyncOption::CppCompileFlags, - buildcc::base::SyncOption::LinkFlags, - buildcc::base::SyncOption::CompileDependencies, - buildcc::base::SyncOption::LinkDependencies, - }); + destTarget.Insert(srcTarget, { + buildcc::SyncOption::SourceFiles, + buildcc::SyncOption::HeaderFiles, + buildcc::SyncOption::PchFiles, + buildcc::SyncOption::LibDeps, + buildcc::SyncOption::IncludeDirs, + buildcc::SyncOption::LibDirs, + buildcc::SyncOption::ExternalLibDeps, + buildcc::SyncOption::PreprocessorFlags, + buildcc::SyncOption::CommonCompileFlags, + buildcc::SyncOption::PchCompileFlags, + buildcc::SyncOption::PchObjectFlags, + buildcc::SyncOption::AsmCompileFlags, + buildcc::SyncOption::CCompileFlags, + buildcc::SyncOption::CppCompileFlags, + buildcc::SyncOption::LinkFlags, + buildcc::SyncOption::CompileDependencies, + buildcc::SyncOption::LinkDependencies, + }); CHECK_EQUAL(destTarget.GetSourceFiles().size(), 1); CHECK_EQUAL(destTarget.GetHeaderFiles().size(), 1); @@ -263,23 +262,23 @@ TEST(TargetTestSyncGroup, InsertByMove) { destTarget.Insert(std::move(srcTarget), { - buildcc::base::SyncOption::SourceFiles, - buildcc::base::SyncOption::HeaderFiles, - buildcc::base::SyncOption::PchFiles, - buildcc::base::SyncOption::LibDeps, - buildcc::base::SyncOption::IncludeDirs, - buildcc::base::SyncOption::LibDirs, - buildcc::base::SyncOption::ExternalLibDeps, - buildcc::base::SyncOption::PreprocessorFlags, - buildcc::base::SyncOption::CommonCompileFlags, - buildcc::base::SyncOption::PchCompileFlags, - buildcc::base::SyncOption::PchObjectFlags, - buildcc::base::SyncOption::AsmCompileFlags, - buildcc::base::SyncOption::CCompileFlags, - buildcc::base::SyncOption::CppCompileFlags, - buildcc::base::SyncOption::LinkFlags, - buildcc::base::SyncOption::CompileDependencies, - buildcc::base::SyncOption::LinkDependencies, + buildcc::SyncOption::SourceFiles, + buildcc::SyncOption::HeaderFiles, + buildcc::SyncOption::PchFiles, + buildcc::SyncOption::LibDeps, + buildcc::SyncOption::IncludeDirs, + buildcc::SyncOption::LibDirs, + buildcc::SyncOption::ExternalLibDeps, + buildcc::SyncOption::PreprocessorFlags, + buildcc::SyncOption::CommonCompileFlags, + buildcc::SyncOption::PchCompileFlags, + buildcc::SyncOption::PchObjectFlags, + buildcc::SyncOption::AsmCompileFlags, + buildcc::SyncOption::CCompileFlags, + buildcc::SyncOption::CppCompileFlags, + buildcc::SyncOption::LinkFlags, + buildcc::SyncOption::CompileDependencies, + buildcc::SyncOption::LinkDependencies, }); CHECK_EQUAL(destTarget.GetSourceFiles().size(), 1); @@ -311,11 +310,10 @@ TEST(TargetTestSyncGroup, InsertCrash) { buildcc::base::Target destTarget( "destTarget", buildcc::TargetType::Executable, gcc, "data"); - CHECK_THROWS( - std::exception, - destTarget.Insert(srcTarget, { - (buildcc::base::SyncOption)65535, - })); + CHECK_THROWS(std::exception, + destTarget.Insert(srcTarget, { + (buildcc::SyncOption)65535, + })); } int main(int ac, char **av) { From 7603e0d3a10b5f90487f40b0cc6115a5fc19c59c Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Mon, 17 Jan 2022 19:39:00 -0800 Subject: [PATCH 11/40] Update target_info.h --- buildcc/lib/target/include/target/target_info.h | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/buildcc/lib/target/include/target/target_info.h b/buildcc/lib/target/include/target/target_info.h index c3d50802..c75c358a 100644 --- a/buildcc/lib/target/include/target/target_info.h +++ b/buildcc/lib/target/include/target/target_info.h @@ -35,7 +35,7 @@ #include "target/api/target_info_getter.h" -namespace buildcc::base { +namespace buildcc { // NOTE: base::Target info is meant to hold information that is common to // multiple targets @@ -76,12 +76,8 @@ class TargetInfo : public internal::SourceApi, TargetState state_; }; -} // namespace buildcc::base - -namespace buildcc { - -typedef base::TargetInfo TargetInfo; +typedef TargetInfo BaseTargetInfo; -} +} // namespace buildcc #endif From e739d9e722bb3541917ed19b8c38d5193f59055c Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Mon, 17 Jan 2022 19:59:35 -0800 Subject: [PATCH 12/40] Shifted TargetGetter namespace from buildcc::base to buildcc::internal --- buildcc/lib/target/include/target/api/target_getter.h | 4 ++-- buildcc/lib/target/include/target/target.h | 2 +- buildcc/lib/target/src/api/target_getter.cpp | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/buildcc/lib/target/include/target/api/target_getter.h b/buildcc/lib/target/include/target/api/target_getter.h index 5adb44bb..b9230c81 100644 --- a/buildcc/lib/target/include/target/api/target_getter.h +++ b/buildcc/lib/target/include/target/api/target_getter.h @@ -28,7 +28,7 @@ namespace fs = std::filesystem; -namespace buildcc::base { +namespace buildcc::internal { template class TargetGetter { public: @@ -68,6 +68,6 @@ template class TargetGetter { tf::Taskflow &GetTaskflow(); }; -}; // namespace buildcc::base +}; // namespace buildcc::internal #endif diff --git a/buildcc/lib/target/include/target/target.h b/buildcc/lib/target/include/target/target.h index 9ca02fec..5a9e2407 100644 --- a/buildcc/lib/target/include/target/target.h +++ b/buildcc/lib/target/include/target/target.h @@ -64,7 +64,7 @@ namespace buildcc::base { // the specialized target-toolchain classes class Target : public internal::BuilderInterface, public TargetInfo, - public TargetGetter { + public internal::TargetGetter { public: explicit Target(const std::string &name, TargetType type, diff --git a/buildcc/lib/target/src/api/target_getter.cpp b/buildcc/lib/target/src/api/target_getter.cpp index 72bd404d..2fe2963d 100644 --- a/buildcc/lib/target/src/api/target_getter.cpp +++ b/buildcc/lib/target/src/api/target_getter.cpp @@ -18,7 +18,7 @@ #include "target/target.h" -namespace buildcc::base { +namespace buildcc::internal { template const fs::path &TargetGetter::GetBinaryPath() const { const T &t = static_cast(*this); @@ -88,6 +88,6 @@ template tf::Taskflow &TargetGetter::GetTaskflow() { return t.tf_; } -template class TargetGetter; +template class TargetGetter; -} // namespace buildcc::base +} // namespace buildcc::internal From 7e95a6a8f3fe17762bd60e01d5b01d28dd49f4ee Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Mon, 17 Jan 2022 20:06:39 -0800 Subject: [PATCH 13/40] Renamed buildcc::base::Target to buildcc::BaseTarget --- buildcc/lib/args/test/test_register.cpp | 124 +++++++++--------- .../target/test/target/test_base_target.cpp | 16 +-- .../test/target/test_compile_object.cpp | 4 +- .../test/target/test_target_external_lib.cpp | 20 +-- .../target/test_target_failure_states.cpp | 56 ++++---- .../target/test/target/test_target_flags.cpp | 104 +++++++-------- .../test/target/test_target_include_dir.cpp | 40 +++--- .../test/target/test_target_lib_dep.cpp | 52 ++++---- .../target/test/target/test_target_lock.cpp | 8 +- .../target/test/target/test_target_pch.cpp | 56 ++++---- .../target/test/target/test_target_source.cpp | 16 +-- .../target/test_target_source_out_of_root.cpp | 12 +- .../target/test/target/test_target_sync.cpp | 48 +++---- .../test/target/test_target_user_deps.cpp | 24 ++-- 14 files changed, 289 insertions(+), 291 deletions(-) diff --git a/buildcc/lib/args/test/test_register.cpp b/buildcc/lib/args/test/test_register.cpp index 5b051927..62e4ad38 100644 --- a/buildcc/lib/args/test/test_register.cpp +++ b/buildcc/lib/args/test/test_register.cpp @@ -102,15 +102,15 @@ TEST(RegisterTestGroup, Register_Build) { buildcc::env::init(fs::current_path(), fs::current_path()); buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", ""); - buildcc::base::Target target("dummyT", buildcc::TargetType::Executable, - toolchain, ""); + buildcc::BaseTarget target("dummyT", buildcc::TargetType::Executable, + toolchain, ""); { buildcc::ArgToolchainState state{false, false}; buildcc::Register reg(args); reg.Build( - state, [](buildcc::base::Target &target) { (void)target; }, target); + state, [](buildcc::BaseTarget &target) { (void)target; }, target); } { @@ -119,7 +119,7 @@ TEST(RegisterTestGroup, Register_Build) { buildcc::Register reg(args); mock().expectNCalls(1, "BuildTask_dummyT"); reg.Build( - state, [](buildcc::base::Target &target) { (void)target; }, target); + state, [](buildcc::BaseTarget &target) { (void)target; }, target); } buildcc::env::deinit(); @@ -150,10 +150,10 @@ TEST(RegisterTestGroup, Register_NoBuildAndDep) { buildcc::env::init(fs::current_path(), fs::current_path()); buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", ""); - buildcc::base::Target target("dummyT", buildcc::TargetType::Executable, - toolchain, ""); - buildcc::base::Target dependency("depT", buildcc::TargetType::Executable, - toolchain, ""); + buildcc::BaseTarget target("dummyT", buildcc::TargetType::Executable, + toolchain, ""); + buildcc::BaseTarget dependency("depT", buildcc::TargetType::Executable, + toolchain, ""); // 4 options // T -> Target @@ -176,7 +176,7 @@ TEST(RegisterTestGroup, Register_NoBuildAndDep) { buildcc::Register reg(args); mock().expectNCalls(1, "BuildTask_depT"); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, + trueState, [](buildcc::BaseTarget &target) { (void)target; }, dependency); CHECK_THROWS(std::exception, reg.Dep(target, dependency)); @@ -187,7 +187,7 @@ TEST(RegisterTestGroup, Register_NoBuildAndDep) { buildcc::Register reg(args); mock().expectNCalls(1, "BuildTask_dummyT"); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, target); + trueState, [](buildcc::BaseTarget &target) { (void)target; }, target); CHECK_THROWS(std::exception, reg.Dep(target, dependency)); } @@ -198,9 +198,9 @@ TEST(RegisterTestGroup, Register_NoBuildAndDep) { mock().expectNCalls(1, "BuildTask_dummyT"); mock().expectNCalls(1, "BuildTask_depT"); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, target); + trueState, [](buildcc::BaseTarget &target) { (void)target; }, target); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, + trueState, [](buildcc::BaseTarget &target) { (void)target; }, dependency); reg.Dep(target, dependency); @@ -234,10 +234,10 @@ TEST(RegisterTestGroup, Register_BuildAndDep) { buildcc::env::init(fs::current_path(), fs::current_path()); buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", ""); - buildcc::base::Target target("dummyT", buildcc::TargetType::Executable, - toolchain, ""); - buildcc::base::Target dependency("depT", buildcc::TargetType::Executable, - toolchain, ""); + buildcc::BaseTarget target("dummyT", buildcc::TargetType::Executable, + toolchain, ""); + buildcc::BaseTarget dependency("depT", buildcc::TargetType::Executable, + toolchain, ""); // 4 options // T -> Target @@ -253,10 +253,9 @@ TEST(RegisterTestGroup, Register_BuildAndDep) { { buildcc::Register reg(args); reg.Build( - falseState, [](buildcc::base::Target &target) { (void)target; }, - target); + falseState, [](buildcc::BaseTarget &target) { (void)target; }, target); reg.Build( - falseState, [](buildcc::base::Target &target) { (void)target; }, + falseState, [](buildcc::BaseTarget &target) { (void)target; }, dependency); reg.Dep(target, dependency); @@ -266,11 +265,10 @@ TEST(RegisterTestGroup, Register_BuildAndDep) { { buildcc::Register reg(args); reg.Build( - falseState, [](buildcc::base::Target &target) { (void)target; }, - target); + falseState, [](buildcc::BaseTarget &target) { (void)target; }, target); mock().expectNCalls(1, "BuildTask_depT"); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, + trueState, [](buildcc::BaseTarget &target) { (void)target; }, dependency); reg.Dep(target, dependency); @@ -281,9 +279,9 @@ TEST(RegisterTestGroup, Register_BuildAndDep) { buildcc::Register reg(args); mock().expectNCalls(1, "BuildTask_dummyT"); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, target); + trueState, [](buildcc::BaseTarget &target) { (void)target; }, target); reg.Build( - falseState, [](buildcc::base::Target &target) { (void)target; }, + falseState, [](buildcc::BaseTarget &target) { (void)target; }, dependency); reg.Dep(target, dependency); @@ -295,9 +293,9 @@ TEST(RegisterTestGroup, Register_BuildAndDep) { mock().expectNCalls(1, "BuildTask_dummyT"); mock().expectNCalls(1, "BuildTask_depT"); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, target); + trueState, [](buildcc::BaseTarget &target) { (void)target; }, target); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, + trueState, [](buildcc::BaseTarget &target) { (void)target; }, dependency); reg.Dep(target, dependency); @@ -331,12 +329,12 @@ TEST(RegisterTestGroup, Register_DepDuplicate) { buildcc::env::init(fs::current_path(), fs::current_path()); buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", ""); - buildcc::base::Target target("dummyT", buildcc::TargetType::Executable, - toolchain, ""); - buildcc::base::Target dependency("depT", buildcc::TargetType::Executable, - toolchain, ""); - buildcc::base::Target dependency2("dep2T", buildcc::TargetType::Executable, - toolchain, ""); + buildcc::BaseTarget target("dummyT", buildcc::TargetType::Executable, + toolchain, ""); + buildcc::BaseTarget dependency("depT", buildcc::TargetType::Executable, + toolchain, ""); + buildcc::BaseTarget dependency2("dep2T", buildcc::TargetType::Executable, + toolchain, ""); buildcc::ArgToolchainState trueState{true, true}; @@ -346,9 +344,9 @@ TEST(RegisterTestGroup, Register_DepDuplicate) { mock().expectNCalls(1, "BuildTask_dummyT"); mock().expectNCalls(1, "BuildTask_depT"); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, target); + trueState, [](buildcc::BaseTarget &target) { (void)target; }, target); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, + trueState, [](buildcc::BaseTarget &target) { (void)target; }, dependency); reg.Dep(target, dependency); @@ -363,12 +361,12 @@ TEST(RegisterTestGroup, Register_DepDuplicate) { mock().expectNCalls(1, "BuildTask_dep2T"); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, target); + trueState, [](buildcc::BaseTarget &target) { (void)target; }, target); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, + trueState, [](buildcc::BaseTarget &target) { (void)target; }, dependency); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, + trueState, [](buildcc::BaseTarget &target) { (void)target; }, dependency2); reg.Dep(dependency, dependency2); @@ -407,12 +405,12 @@ TEST(RegisterTestGroup, Register_DepCyclic) { buildcc::env::init(fs::current_path(), fs::current_path()); buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", ""); - buildcc::base::Target target("dummyT", buildcc::TargetType::Executable, - toolchain, ""); - buildcc::base::Target dependency("depT", buildcc::TargetType::Executable, - toolchain, ""); - buildcc::base::Target dependency2("dep2T", buildcc::TargetType::Executable, - toolchain, ""); + buildcc::BaseTarget target("dummyT", buildcc::TargetType::Executable, + toolchain, ""); + buildcc::BaseTarget dependency("depT", buildcc::TargetType::Executable, + toolchain, ""); + buildcc::BaseTarget dependency2("dep2T", buildcc::TargetType::Executable, + toolchain, ""); buildcc::ArgToolchainState trueState{true, true}; @@ -422,9 +420,9 @@ TEST(RegisterTestGroup, Register_DepCyclic) { mock().expectNCalls(1, "BuildTask_dummyT"); mock().expectNCalls(1, "BuildTask_depT"); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, target); + trueState, [](buildcc::BaseTarget &target) { (void)target; }, target); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, + trueState, [](buildcc::BaseTarget &target) { (void)target; }, dependency); reg.Dep(target, dependency); @@ -439,12 +437,12 @@ TEST(RegisterTestGroup, Register_DepCyclic) { mock().expectNCalls(1, "BuildTask_dep2T"); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, target); + trueState, [](buildcc::BaseTarget &target) { (void)target; }, target); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, + trueState, [](buildcc::BaseTarget &target) { (void)target; }, dependency); reg.Build( - trueState, [](buildcc::base::Target &target) { (void)target; }, + trueState, [](buildcc::BaseTarget &target) { (void)target; }, dependency2); reg.Dep(dependency, dependency2); @@ -483,10 +481,10 @@ TEST(RegisterTestGroup, Register_Test) { buildcc::env::init(fs::current_path(), fs::current_path()); buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", ""); - buildcc::base::Target target("dummyT", buildcc::TargetType::Executable, - toolchain, ""); - buildcc::base::Target dependency("depT", buildcc::TargetType::Executable, - toolchain, ""); + buildcc::BaseTarget target("dummyT", buildcc::TargetType::Executable, + toolchain, ""); + buildcc::BaseTarget dependency("depT", buildcc::TargetType::Executable, + toolchain, ""); // 4 states between build and test // FF @@ -529,7 +527,7 @@ TEST(RegisterTestGroup, Register_Test) { buildcc::Register reg(args); mock().expectNCalls(1, "BuildTask_dummyT"); reg.Build( - stateSuccess, [](buildcc::base::Target &target) { (void)target; }, + stateSuccess, [](buildcc::BaseTarget &target) { (void)target; }, target); reg.Test(stateSuccess, "{executable}", target); @@ -568,10 +566,10 @@ TEST(RegisterTestGroup, Register_TestWithOutput) { buildcc::env::init(fs::current_path(), fs::current_path()); buildcc::Toolchain toolchain(buildcc::Toolchain::Id::Gcc, "", "", "", "", "", ""); - buildcc::base::Target target("dummyT", buildcc::TargetType::Executable, - toolchain, ""); - buildcc::base::Target dependency("depT", buildcc::TargetType::Executable, - toolchain, ""); + buildcc::BaseTarget target("dummyT", buildcc::TargetType::Executable, + toolchain, ""); + buildcc::BaseTarget dependency("depT", buildcc::TargetType::Executable, + toolchain, ""); buildcc::ArgToolchainState stateSuccess{true, true}; @@ -580,7 +578,7 @@ TEST(RegisterTestGroup, Register_TestWithOutput) { buildcc::Register reg(args); mock().expectNCalls(1, "BuildTask_dummyT"); reg.Build( - stateSuccess, [](buildcc::base::Target &target) { (void)target; }, + stateSuccess, [](buildcc::BaseTarget &target) { (void)target; }, target); reg.Test( stateSuccess, "{executable}", target, @@ -597,7 +595,7 @@ TEST(RegisterTestGroup, Register_TestWithOutput) { buildcc::Register reg(args); mock().expectNCalls(1, "BuildTask_dummyT"); reg.Build( - stateSuccess, [](buildcc::base::Target &target) { (void)target; }, + stateSuccess, [](buildcc::BaseTarget &target) { (void)target; }, target); reg.Test( stateSuccess, "{executable}", target, @@ -615,7 +613,7 @@ TEST(RegisterTestGroup, Register_TestWithOutput) { buildcc::Register reg(args); mock().expectNCalls(1, "BuildTask_dummyT"); reg.Build( - stateSuccess, [](buildcc::base::Target &target) { (void)target; }, + stateSuccess, [](buildcc::BaseTarget &target) { (void)target; }, target); reg.Test( stateSuccess, "{executable}", target, @@ -633,7 +631,7 @@ TEST(RegisterTestGroup, Register_TestWithOutput) { buildcc::Register reg(args); mock().expectNCalls(1, "BuildTask_dummyT"); reg.Build( - stateSuccess, [](buildcc::base::Target &target) { (void)target; }, + stateSuccess, [](buildcc::BaseTarget &target) { (void)target; }, target); reg.Test(stateSuccess, "{executable}", target, buildcc::TestConfig( @@ -652,7 +650,7 @@ TEST(RegisterTestGroup, Register_TestWithOutput) { buildcc::Register reg(args); mock().expectNCalls(1, "BuildTask_dummyT"); reg.Build( - stateSuccess, [](buildcc::base::Target &target) { (void)target; }, + stateSuccess, [](buildcc::BaseTarget &target) { (void)target; }, target); reg.Test(stateSuccess, "{executable}", target, buildcc::TestConfig( @@ -669,7 +667,7 @@ TEST(RegisterTestGroup, Register_TestWithOutput) { buildcc::Register reg(args); mock().expectNCalls(1, "BuildTask_dummyT"); reg.Build( - stateSuccess, [](buildcc::base::Target &target) { (void)target; }, + stateSuccess, [](buildcc::BaseTarget &target) { (void)target; }, target); reg.Test( stateSuccess, "{executable}", target, diff --git a/buildcc/lib/target/test/target/test_base_target.cpp b/buildcc/lib/target/test/target/test_base_target.cpp index fdfa5827..582f1a8e 100644 --- a/buildcc/lib/target/test/target/test_base_target.cpp +++ b/buildcc/lib/target/test/target/test_base_target.cpp @@ -35,7 +35,7 @@ TEST(TargetBaseTestGroup, InvalidTargetType) { CHECK_THROWS( std::exception, - buildcc::base::Target(INVALID_NAME, (buildcc::TargetType)3, gcc, "")); + buildcc::BaseTarget(INVALID_NAME, (buildcc::TargetType)3, gcc, "")); buildcc::env::deinit(); } @@ -43,9 +43,9 @@ TEST(TargetBaseTestGroup, InvalidTargetType) { TEST(TargetBaseTestGroup, NoEnvInit) { constexpr const char *const NAME = "Init.exe"; - CHECK_THROWS(std::exception, - buildcc::base::Target(NAME, buildcc::TargetType::Executable, gcc, - "data")); + CHECK_THROWS( + std::exception, + buildcc::BaseTarget(NAME, buildcc::TargetType::Executable, gcc, "data")); } TEST(TargetBaseTestGroup, TargetConfig_BadCompileCommand) { @@ -61,8 +61,8 @@ TEST(TargetBaseTestGroup, TargetConfig_BadCompileCommand) { { buildcc::TargetConfig config; config.compile_command = "{invalid_compile_string}"; - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data", config); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data", config); CHECK(simple.GetType() == buildcc::TargetType::Executable); simple.AddSource("dummy_main.c"); CHECK_THROWS(std::exception, simple.Build()); @@ -84,8 +84,8 @@ TEST(TargetBaseTestGroup, TargetConfig_BadLinkCommand) { { buildcc::TargetConfig config; config.link_command = "{invalid_link_string}"; - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data", config); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data", config); simple.AddSource("dummy_main.c"); CHECK_THROWS(std::exception, simple.Build()); } diff --git a/buildcc/lib/target/test/target/test_compile_object.cpp b/buildcc/lib/target/test/target/test_compile_object.cpp index 8b57e65e..9b992051 100644 --- a/buildcc/lib/target/test/target/test_compile_object.cpp +++ b/buildcc/lib/target/test/target/test_compile_object.cpp @@ -19,8 +19,8 @@ static buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", "ar", "ld"); TEST(TargetCompileObjectTestGroup, CacheCompileCommand_Invalid) { - buildcc::base::Target target("CacheCompileCommand_Invalid", - buildcc::TargetType::Executable, gcc, "data"); + buildcc::BaseTarget target("CacheCompileCommand_Invalid", + buildcc::TargetType::Executable, gcc, "data"); buildcc::base::CompileObject object(target); object.AddObjectData("random.invalid"); diff --git a/buildcc/lib/target/test/target/test_target_external_lib.cpp b/buildcc/lib/target/test/target/test_target_external_lib.cpp index 861e3823..8bccdf6c 100644 --- a/buildcc/lib/target/test/target/test_target_external_lib.cpp +++ b/buildcc/lib/target/test/target/test_target_external_lib.cpp @@ -39,8 +39,8 @@ TEST(TargetTestExternalLib, TestAddLibDir) { fs::remove_all(intermediate_path / EXENAME); - buildcc::base::Target exe(EXENAME, buildcc::TargetType::StaticLibrary, gcc, - "data"); + buildcc::BaseTarget exe(EXENAME, buildcc::TargetType::StaticLibrary, gcc, + "data"); exe.AddSource("foo_main.cpp"); exe.AddLibDir(exe.GetTargetPath().parent_path()); @@ -66,8 +66,8 @@ TEST(TargetTestExternalLib, TestAddExternalLibDep_Simple) { fs::remove_all(intermediate_path / EXENAME); - buildcc::base::Target exe(EXENAME, buildcc::TargetType::StaticLibrary, gcc, - "data"); + buildcc::BaseTarget exe(EXENAME, buildcc::TargetType::StaticLibrary, gcc, + "data"); exe.AddSource("foo_main.cpp"); exe.AddLibDir(exe.GetTargetPath().parent_path()); exe.AddLibDep("-lfoo"); @@ -96,8 +96,8 @@ TEST(TargetTestExternalLib, TestAddExternalLibDep_RebuildChanged) { // First build { - buildcc::base::Target exe(EXENAME, buildcc::TargetType::StaticLibrary, gcc, - "data"); + buildcc::BaseTarget exe(EXENAME, buildcc::TargetType::StaticLibrary, gcc, + "data"); exe.AddSource("foo_main.cpp"); exe.AddLibDir(exe.GetTargetPath().parent_path()); @@ -110,8 +110,8 @@ TEST(TargetTestExternalLib, TestAddExternalLibDep_RebuildChanged) { // Add { - buildcc::base::Target exe(EXENAME, buildcc::TargetType::StaticLibrary, gcc, - "data"); + buildcc::BaseTarget exe(EXENAME, buildcc::TargetType::StaticLibrary, gcc, + "data"); exe.AddSource("foo_main.cpp"); exe.AddLibDir(exe.GetTargetPath().parent_path()); exe.AddLibDep("-lfoo"); @@ -125,8 +125,8 @@ TEST(TargetTestExternalLib, TestAddExternalLibDep_RebuildChanged) { // Remove { - buildcc::base::Target exe(EXENAME, buildcc::TargetType::StaticLibrary, gcc, - "data"); + buildcc::BaseTarget exe(EXENAME, buildcc::TargetType::StaticLibrary, gcc, + "data"); exe.AddSource("foo_main.cpp"); exe.AddLibDir(exe.GetTargetPath().parent_path()); diff --git a/buildcc/lib/target/test/target/test_target_failure_states.cpp b/buildcc/lib/target/test/target/test_target_failure_states.cpp index 8cebf6d7..caecfa43 100644 --- a/buildcc/lib/target/test/target/test_target_failure_states.cpp +++ b/buildcc/lib/target/test/target/test_target_failure_states.cpp @@ -32,8 +32,8 @@ TEST(TargetTestFailureStates, StartTaskEnvFailure) { buildcc::env::set_task_state(buildcc::env::TaskState::FAILURE); constexpr const char *const NAME = "StartTaskEnvFailure.exe"; - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.Build(); @@ -44,8 +44,8 @@ TEST(TargetTestFailureStates, StartTaskEnvFailure) { TEST(TargetTestFailureStates, CompilePchFailure) { constexpr const char *const NAME = "CompilePchFailure.exe"; - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.AddPch("include/include_header.h"); @@ -60,8 +60,8 @@ TEST(TargetTestFailureStates, CompilePchFailure) { TEST(TargetTestFailureStates, CompileObjectFailure) { constexpr const char *const NAME = "CompileObjectFailure.exe"; - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.AddSource("dummy_main.c"); @@ -77,8 +77,8 @@ TEST(TargetTestFailureStates, CompileObjectFailure) { TEST(TargetTestFailureStates, CompileObject_FileNotFoundFailure) { constexpr const char *const NAME = "CompileObject_FileNotFoundFailure.exe"; - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("file_not_present.cpp"); target.Build(); @@ -90,8 +90,8 @@ TEST(TargetTestFailureStates, CompileObject_FileNotFoundFailure) { TEST(TargetTestFailureStates, LinkTargetFailure) { constexpr const char *const NAME = "LinkTargetFailure.exe"; - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.Build(); @@ -106,8 +106,8 @@ TEST(TargetTestFailureStates, LinkTargetFailure) { TEST(TargetTestFailureStates, EndTaskStoreFailure) { constexpr const char *const NAME = "EndTaskStoreFailure.exe"; - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.Build(); @@ -130,8 +130,8 @@ TEST(TargetTestFailureStates, StartTaskEnvFailure_Rebuild) { constexpr const char *const NAME = "StartTaskEnvFailure_Rebuild.exe"; { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.Build(); @@ -146,8 +146,8 @@ TEST(TargetTestFailureStates, StartTaskEnvFailure_Rebuild) { // during rebuild, this target must run! { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.Build(); @@ -166,8 +166,8 @@ TEST(TargetTestFailureStates, CompilePchFailure_Rebuild) { constexpr const char *const NAME = "CompilePchFailure_Rebuild.exe"; { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.AddPch("include/include_header.h"); @@ -186,8 +186,8 @@ TEST(TargetTestFailureStates, CompilePchFailure_Rebuild) { // must move to compile object stage // must move to link target stage { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.AddPch("include/include_header.h"); @@ -209,8 +209,8 @@ TEST(TargetTestFailureStates, CompileObjectFailure_Rebuild) { constexpr const char *const NAME = "CompileObjectFailure_Rebuild.exe"; { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.AddSource("dummy_main.c"); @@ -237,8 +237,8 @@ TEST(TargetTestFailureStates, CompileObjectFailure_Rebuild) { // must move to link target stage { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.AddSource("dummy_main.c"); @@ -260,8 +260,8 @@ TEST(TargetTestFailureStates, LinkTargetFailure_Rebuild) { constexpr const char *const NAME = "LinkTargetFailure_Rebuild.exe"; { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.Build(); @@ -278,8 +278,8 @@ TEST(TargetTestFailureStates, LinkTargetFailure_Rebuild) { // during rebuild this must try to relink! { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddSource("dummy_main.cpp"); target.Build(); diff --git a/buildcc/lib/target/test/target/test_target_flags.cpp b/buildcc/lib/target/test/target/test_target_flags.cpp index b9e8a7f3..37f2859a 100644 --- a/buildcc/lib/target/test/target/test_target_flags.cpp +++ b/buildcc/lib/target/test/target/test_target_flags.cpp @@ -48,8 +48,8 @@ TEST(TargetTestPreprocessorFlagGroup, Target_AddPreprocessorFlag) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddPreprocessorFlag("-DCOMPILE=1"); @@ -80,8 +80,8 @@ TEST(TargetTestPreprocessorFlagGroup, Target_ChangedPreprocessorFlag) { fs::remove_all(intermediate_path); { - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddPreprocessorFlag("-DCOMPILE=1"); @@ -93,8 +93,8 @@ TEST(TargetTestPreprocessorFlagGroup, Target_ChangedPreprocessorFlag) { } { // * Remove flag - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); @@ -106,8 +106,8 @@ TEST(TargetTestPreprocessorFlagGroup, Target_ChangedPreprocessorFlag) { { // * Add flag - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddPreprocessorFlag("-DRANDOM=1"); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); @@ -145,8 +145,8 @@ TEST(TargetTestCommonCompileFlagsGroup, Target_AddCommonCompileFlag) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCommonCompileFlag("-O0"); simple.AddCommonCompileFlag("-g"); @@ -178,8 +178,8 @@ TEST(TargetTestCommonCompileFlagsGroup, Target_ChangedCommonCompileFlag) { fs::remove_all(intermediate_path); { - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCommonCompileFlag("-O0"); simple.AddCommonCompileFlag("-g"); @@ -191,8 +191,8 @@ TEST(TargetTestCommonCompileFlagsGroup, Target_ChangedCommonCompileFlag) { CHECK_TRUE(simple.IsBuilt()); } { - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCommonCompileFlag("-O0"); simple.AddCommonCompileFlag("-g"); @@ -203,8 +203,8 @@ TEST(TargetTestCommonCompileFlagsGroup, Target_ChangedCommonCompileFlag) { } { // * Remove flag - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCommonCompileFlag("-O0"); @@ -218,8 +218,8 @@ TEST(TargetTestCommonCompileFlagsGroup, Target_ChangedCommonCompileFlag) { { // * Add flag - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCommonCompileFlag("-O0"); simple.AddCommonCompileFlag("-g"); @@ -259,8 +259,8 @@ TEST(TargetTestAsmCompileFlagGroup, Target_AddCompileFlag) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(EMPTY_ASM); simple.AddAsmCompileFlag("-O0"); simple.AddAsmCompileFlag("-g"); @@ -292,8 +292,8 @@ TEST(TargetTestAsmCompileFlagGroup, Target_ChangedCompileFlag) { fs::remove_all(intermediate_path); { - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(EMPTY_ASM); simple.AddAsmCompileFlag("-O0"); simple.AddAsmCompileFlag("-g"); @@ -306,8 +306,8 @@ TEST(TargetTestAsmCompileFlagGroup, Target_ChangedCompileFlag) { } { // * No Change - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(EMPTY_ASM); simple.AddAsmCompileFlag("-O0"); simple.AddAsmCompileFlag("-g"); @@ -318,8 +318,8 @@ TEST(TargetTestAsmCompileFlagGroup, Target_ChangedCompileFlag) { } { // * Remove flag - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(EMPTY_ASM); simple.AddAsmCompileFlag("-O0"); @@ -333,8 +333,8 @@ TEST(TargetTestAsmCompileFlagGroup, Target_ChangedCompileFlag) { { // * Add flag - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(EMPTY_ASM); simple.AddAsmCompileFlag("-O0"); simple.AddAsmCompileFlag("-g"); @@ -374,8 +374,8 @@ TEST(TargetTestCCompileFlagsGroup, Target_AddCompileFlag) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCCompileFlag("-std=c11"); @@ -406,8 +406,8 @@ TEST(TargetTestCCompileFlagsGroup, Target_ChangedCompileFlag) { fs::remove_all(intermediate_path); { - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCCompileFlag("-std=c11"); @@ -419,8 +419,8 @@ TEST(TargetTestCCompileFlagsGroup, Target_ChangedCompileFlag) { } { // * Remove flag - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); @@ -432,8 +432,8 @@ TEST(TargetTestCCompileFlagsGroup, Target_ChangedCompileFlag) { { // * Add flag - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCCompileFlag("-std=c11"); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); @@ -471,8 +471,8 @@ TEST(TargetTestCppCompileFlagsGroup, Target_AddCompileFlag) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCppCompileFlag("-std=c++17"); @@ -503,8 +503,8 @@ TEST(TargetTestCppCompileFlagsGroup, Target_ChangedCompileFlag) { fs::remove_all(intermediate_path); { - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCCompileFlag("-std=c++17"); @@ -516,8 +516,8 @@ TEST(TargetTestCppCompileFlagsGroup, Target_ChangedCompileFlag) { } { // * Remove flag - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); @@ -529,8 +529,8 @@ TEST(TargetTestCppCompileFlagsGroup, Target_ChangedCompileFlag) { { // * Add flag - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddCCompileFlag("-std=c++17"); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); @@ -568,8 +568,8 @@ TEST(TargetTestLinkFlagsGroup, Target_AddLinkFlag) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddLinkFlag("-lm"); @@ -600,8 +600,8 @@ TEST(TargetTestLinkFlagsGroup, Target_ChangedLinkFlag) { fs::remove_all(intermediate_path); { - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddLinkFlag("-lm"); @@ -613,8 +613,8 @@ TEST(TargetTestLinkFlagsGroup, Target_ChangedLinkFlag) { } { // * Remove flag - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); @@ -625,8 +625,8 @@ TEST(TargetTestLinkFlagsGroup, Target_ChangedLinkFlag) { { // * Add flag - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddSource(DUMMY_MAIN); simple.AddLinkFlag("-lm"); buildcc::base::m::TargetExpect_FlagChanged(1, &simple); diff --git a/buildcc/lib/target/test/target/test_target_include_dir.cpp b/buildcc/lib/target/test/target/test_target_include_dir.cpp index e073e84f..1b85599d 100644 --- a/buildcc/lib/target/test/target/test_target_include_dir.cpp +++ b/buildcc/lib/target/test/target/test_target_include_dir.cpp @@ -35,8 +35,8 @@ static const fs::path target_include_dir_intermediate_path = TEST(TargetTestIncludeDirGroup, Target_HeaderTypes) { constexpr const char *const NAME = "HeaderTypes.exe"; auto intermediate_path = target_include_dir_intermediate_path / NAME; - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, + "data"); simple.AddHeader("fileext/header_file1.h"); simple.AddHeader("fileext/header_file2.hpp"); @@ -60,8 +60,8 @@ TEST(TargetTestIncludeDirGroup, TargetGlobHeader) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target globHeader(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget globHeader(NAME, buildcc::TargetType::Executable, gcc, + "data"); globHeader.GlobHeaders("include"); globHeader.GlobHeaders(""); CHECK_EQUAL(globHeader.GetHeaderFiles().size(), 1); @@ -73,8 +73,8 @@ TEST(TargetTestIncludeDirGroup, TargetGlobThroughIncludeDir) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target globIncludeDir(NAME, buildcc::TargetType::Executable, - gcc, "data"); + buildcc::BaseTarget globIncludeDir(NAME, buildcc::TargetType::Executable, gcc, + "data"); globIncludeDir.AddIncludeDir("include", true); globIncludeDir.AddIncludeDir("", true); CHECK_EQUAL(globIncludeDir.GetHeaderFiles().size(), 1); @@ -101,8 +101,8 @@ TEST(TargetTestIncludeDirGroup, TargetBuildIncludeDir) { (source_path / RELATIVE_INCLUDE_DIR).make_preferred(); { - buildcc::base::Target include_compile(NAME, buildcc::TargetType::Executable, - gcc, "data"); + buildcc::BaseTarget include_compile(NAME, buildcc::TargetType::Executable, + gcc, "data"); include_compile.AddSource(DUMMY_MAIN_C); include_compile.AddSource(INCLUDE_HEADER_SOURCE); include_compile.AddIncludeDir(RELATIVE_INCLUDE_DIR); @@ -132,8 +132,8 @@ TEST(TargetTestIncludeDirGroup, TargetBuildIncludeDir) { } { // * 1 Adding new include directory - buildcc::base::Target include_compile(NAME, buildcc::TargetType::Executable, - gcc, "data"); + buildcc::BaseTarget include_compile(NAME, buildcc::TargetType::Executable, + gcc, "data"); include_compile.AddSource(DUMMY_MAIN_C); include_compile.AddSource(INCLUDE_HEADER_SOURCE); include_compile.AddIncludeDir(RELATIVE_INCLUDE_DIR); @@ -163,8 +163,8 @@ TEST(TargetTestIncludeDirGroup, TargetBuildIncludeDir) { } { // * Remove include directory - buildcc::base::Target include_compile(NAME, buildcc::TargetType::Executable, - gcc, "data"); + buildcc::BaseTarget include_compile(NAME, buildcc::TargetType::Executable, + gcc, "data"); include_compile.AddSource(DUMMY_MAIN_C); include_compile.AddSource(INCLUDE_HEADER_SOURCE); include_compile.AddIncludeDir(RELATIVE_INCLUDE_DIR); @@ -217,8 +217,8 @@ TEST(TargetTestIncludeDirGroup, TargetBuildHeaderFile) { // Initial build { - buildcc::base::Target add_header(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget add_header(NAME, buildcc::TargetType::Executable, gcc, + "data"); add_header.AddSource(DUMMY_MAIN_C); add_header.AddSource(INCLUDE_HEADER_SOURCE); add_header.AddIncludeDir(RELATIVE_INCLUDE_DIR); @@ -238,8 +238,8 @@ TEST(TargetTestIncludeDirGroup, TargetBuildHeaderFile) { // Add header { - buildcc::base::Target add_header(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget add_header(NAME, buildcc::TargetType::Executable, gcc, + "data"); add_header.AddSource(DUMMY_MAIN_C); add_header.AddSource(INCLUDE_HEADER_SOURCE); add_header.AddHeader(RELATIVE_HEADER_FILE); @@ -267,8 +267,8 @@ TEST(TargetTestIncludeDirGroup, TargetBuildHeaderFile) { buildcc::env::save_file(absolute_header_path.string().c_str(), std::string{""}, false); - buildcc::base::Target add_header(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget add_header(NAME, buildcc::TargetType::Executable, gcc, + "data"); add_header.AddSource(DUMMY_MAIN_C); add_header.AddSource(INCLUDE_HEADER_SOURCE); add_header.AddHeader(RELATIVE_HEADER_FILE); @@ -290,8 +290,8 @@ TEST(TargetTestIncludeDirGroup, TargetBuildHeaderFile) { // Remove header { - buildcc::base::Target add_header(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget add_header(NAME, buildcc::TargetType::Executable, gcc, + "data"); add_header.AddSource(DUMMY_MAIN_C); add_header.AddSource(INCLUDE_HEADER_SOURCE); add_header.AddIncludeDir(RELATIVE_INCLUDE_DIR); diff --git a/buildcc/lib/target/test/target/test_target_lib_dep.cpp b/buildcc/lib/target/test/target/test_target_lib_dep.cpp index e70bc80d..3c1441fd 100644 --- a/buildcc/lib/target/test/target/test_target_lib_dep.cpp +++ b/buildcc/lib/target/test/target/test_target_lib_dep.cpp @@ -41,8 +41,8 @@ TEST(TargetTestLibDep, StaticLibrary_SimpleBuildTest) { fs::remove_all(intermediate_path / STATIC_NAME); - buildcc::base::Target foolib(STATIC_NAME, buildcc::TargetType::StaticLibrary, - gcc, "data"); + buildcc::BaseTarget foolib(STATIC_NAME, buildcc::TargetType::StaticLibrary, + gcc, "data"); foolib.AddSource("foo.cpp", "foo"); foolib.AddIncludeDir("foo"); @@ -71,8 +71,8 @@ TEST(TargetTestLibDep, TargetDep_RebuildTest) { fs::remove_all(intermediate_path / EXE_NAME); { - buildcc::base::Target foolib( - STATIC_FOO_LIB, buildcc::TargetType::StaticLibrary, gcc, "data"); + buildcc::BaseTarget foolib(STATIC_FOO_LIB, + buildcc::TargetType::StaticLibrary, gcc, "data"); foolib.AddSource("foo/foo.cpp"); foolib.AddIncludeDir("foo"); @@ -84,8 +84,8 @@ TEST(TargetTestLibDep, TargetDep_RebuildTest) { std::string{""}, false); // Executable for static - buildcc::base::Target exe_target(EXE_NAME, buildcc::TargetType::Executable, - gcc, "data"); + buildcc::BaseTarget exe_target(EXE_NAME, buildcc::TargetType::Executable, + gcc, "data"); exe_target.AddSource("foo_main.cpp"); exe_target.AddIncludeDir("foo"); exe_target.AddLibDep(foolib); @@ -97,8 +97,8 @@ TEST(TargetTestLibDep, TargetDep_RebuildTest) { } { - buildcc::base::Target foolib( - STATIC_FOO_LIB, buildcc::TargetType::StaticLibrary, gcc, "data"); + buildcc::BaseTarget foolib(STATIC_FOO_LIB, + buildcc::TargetType::StaticLibrary, gcc, "data"); foolib.AddSource("foo/foo.cpp"); foolib.AddIncludeDir("foo"); foolib.Build(); @@ -106,8 +106,8 @@ TEST(TargetTestLibDep, TargetDep_RebuildTest) { CHECK_FALSE(foolib.IsBuilt()); // Executable for static - buildcc::base::Target exe_target(EXE_NAME, buildcc::TargetType::Executable, - gcc, "data"); + buildcc::BaseTarget exe_target(EXE_NAME, buildcc::TargetType::Executable, + gcc, "data"); exe_target.AddSource("foo_main.cpp"); exe_target.AddIncludeDir("foo"); exe_target.AddLibDep(foolib); @@ -126,8 +126,8 @@ TEST(TargetTestLibDep, TargetDep_AddRemoveTest) { fs::remove_all(intermediate_path / STATIC_NAME); fs::remove_all(intermediate_path / EXE_NAME); - buildcc::base::Target foolib(STATIC_NAME, buildcc::TargetType::StaticLibrary, - gcc, "data"); + buildcc::BaseTarget foolib(STATIC_NAME, buildcc::TargetType::StaticLibrary, + gcc, "data"); foolib.AddSource("foo/foo.cpp"); foolib.AddIncludeDir("foo"); @@ -142,8 +142,8 @@ TEST(TargetTestLibDep, TargetDep_AddRemoveTest) { // * Initial executable // Executable for static { - buildcc::base::Target exe_target(EXE_NAME, buildcc::TargetType::Executable, - gcc, "data"); + buildcc::BaseTarget exe_target(EXE_NAME, buildcc::TargetType::Executable, + gcc, "data"); exe_target.AddSource("empty_main.cpp"); exe_target.AddIncludeDir("foo"); @@ -156,8 +156,8 @@ TEST(TargetTestLibDep, TargetDep_AddRemoveTest) { // * Add new library // Build { - buildcc::base::Target exe_target(EXE_NAME, buildcc::TargetType::Executable, - gcc, "data"); + buildcc::BaseTarget exe_target(EXE_NAME, buildcc::TargetType::Executable, + gcc, "data"); exe_target.AddSource("empty_main.cpp"); exe_target.AddIncludeDir("foo"); exe_target.AddLibDep(foolib); @@ -170,8 +170,8 @@ TEST(TargetTestLibDep, TargetDep_AddRemoveTest) { // * Remove library { - buildcc::base::Target exe_target(EXE_NAME, buildcc::TargetType::Executable, - gcc, "data"); + buildcc::BaseTarget exe_target(EXE_NAME, buildcc::TargetType::Executable, + gcc, "data"); exe_target.AddSource("empty_main.cpp"); exe_target.AddIncludeDir("foo"); @@ -193,8 +193,8 @@ TEST(TargetTestLibDep, TargetDep_UpdateExistingLibraryTest) { // Build initial { - buildcc::base::Target foolib( - STATIC_NAME, buildcc::TargetType::StaticLibrary, gcc, "data"); + buildcc::BaseTarget foolib(STATIC_NAME, buildcc::TargetType::StaticLibrary, + gcc, "data"); foolib.AddSource("foo/foo.cpp"); foolib.AddIncludeDir("foo"); @@ -207,8 +207,8 @@ TEST(TargetTestLibDep, TargetDep_UpdateExistingLibraryTest) { foolib.GetTargetPath().string().c_str(), std::string{""}, false); CHECK_TRUE(saved); - buildcc::base::Target exe_target(EXE_NAME, buildcc::TargetType::Executable, - gcc, "data"); + buildcc::BaseTarget exe_target(EXE_NAME, buildcc::TargetType::Executable, + gcc, "data"); exe_target.AddSource("foo_main.cpp"); exe_target.AddIncludeDir("foo"); exe_target.AddLibDep(foolib); @@ -221,8 +221,8 @@ TEST(TargetTestLibDep, TargetDep_UpdateExistingLibraryTest) { // * Update static library { - buildcc::base::Target foolib( - STATIC_NAME, buildcc::TargetType::StaticLibrary, gcc, "data"); + buildcc::BaseTarget foolib(STATIC_NAME, buildcc::TargetType::StaticLibrary, + gcc, "data"); foolib.AddSource("foo/foo.cpp"); foolib.AddIncludeDir("foo"); foolib.AddIncludeDir(""); @@ -239,8 +239,8 @@ TEST(TargetTestLibDep, TargetDep_UpdateExistingLibraryTest) { foolib.GetTargetPath().string().c_str(), std::string{""}, false); CHECK_TRUE(saved); - buildcc::base::Target exe_target(EXE_NAME, buildcc::TargetType::Executable, - gcc, "data"); + buildcc::BaseTarget exe_target(EXE_NAME, buildcc::TargetType::Executable, + gcc, "data"); exe_target.AddSource("foo_main.cpp"); exe_target.AddIncludeDir("foo"); exe_target.AddLibDep(foolib); diff --git a/buildcc/lib/target/test/target/test_target_lock.cpp b/buildcc/lib/target/test/target/test_target_lock.cpp index 111400af..08a16dd6 100644 --- a/buildcc/lib/target/test/target/test_target_lock.cpp +++ b/buildcc/lib/target/test/target/test_target_lock.cpp @@ -30,7 +30,7 @@ static const buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", TEST(TargetTestLock, LockState) { constexpr const char *const NAME = "LockState.exe"; - buildcc::base::Target exe(NAME, buildcc::TargetType::Executable, gcc, "data"); + buildcc::BaseTarget exe(NAME, buildcc::TargetType::Executable, gcc, "data"); CHECK_FALSE(exe.IsLocked()); @@ -45,7 +45,7 @@ TEST(TargetTestLock, LockState) { TEST(TargetTestLock, Lock_Build) { constexpr const char *const NAME = "Lock_Build.exe"; - buildcc::base::Target exe(NAME, buildcc::TargetType::Executable, gcc, "data"); + buildcc::BaseTarget exe(NAME, buildcc::TargetType::Executable, gcc, "data"); buildcc::env::m::CommandExpect_Execute(1, true); exe.Build(); @@ -58,7 +58,7 @@ TEST(TargetTestLock, Lock_Build) { TEST(TargetTestLock, Lock_APIs) { constexpr const char *const NAME = "Lock_APIs.exe"; - buildcc::base::Target exe(NAME, buildcc::TargetType::Executable, gcc, "data"); + buildcc::BaseTarget exe(NAME, buildcc::TargetType::Executable, gcc, "data"); buildcc::env::m::CommandExpect_Execute(1, true); exe.Build(); @@ -95,7 +95,7 @@ TEST(TargetTestLock, Lock_APIs) { TEST(TargetTestLock, Unlock_APIs) { constexpr const char *const NAME = "Unlock_APIs.exe"; - buildcc::base::Target exe(NAME, buildcc::TargetType::Executable, gcc, "data"); + buildcc::BaseTarget exe(NAME, buildcc::TargetType::Executable, gcc, "data"); CHECK_THROWS(std::exception, exe.GetCompileCommand(exe.GetTargetRootDir() / "dummy_main.c")); diff --git a/buildcc/lib/target/test/target/test_target_pch.cpp b/buildcc/lib/target/test/target/test_target_pch.cpp index d528bab0..c752c2f1 100644 --- a/buildcc/lib/target/test/target/test_target_pch.cpp +++ b/buildcc/lib/target/test/target/test_target_pch.cpp @@ -36,16 +36,16 @@ static const buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", TEST(TargetPchTestGroup, Target_AddPch) { constexpr const char *const NAME = "AddPch.exe"; - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); } TEST(TargetPchTestGroup, Target_AddPch_Build) { constexpr const char *const NAME = "AddPch_Build.exe"; - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); @@ -69,8 +69,8 @@ TEST(TargetPchTestGroup, Target_AddPch_Rebuild) { constexpr const char *const NAME = "AddPch_Rebuild.exe"; { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); @@ -84,8 +84,8 @@ TEST(TargetPchTestGroup, Target_AddPch_Rebuild) { // Rebuild: No change { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); @@ -97,8 +97,8 @@ TEST(TargetPchTestGroup, Target_AddPch_Rebuild) { // Rebuild: Removed { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); buildcc::base::m::TargetExpect_PathRemoved(1, &target); @@ -112,8 +112,8 @@ TEST(TargetPchTestGroup, Target_AddPch_Rebuild) { // Rebuild: Added { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); @@ -134,8 +134,8 @@ TEST(TargetPchTestGroup, Target_AddPch_Rebuild) { bool save = buildcc::env::save_file(filename.string().c_str(), "", false); CHECK_TRUE(save); - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); @@ -155,8 +155,8 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { constexpr const char *const NAME = "AddPch_CppRebuild.exe"; { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); target.AddSource("dummy_main.cpp"); @@ -172,8 +172,8 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { // Rebuild: No change { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); target.AddSource("dummy_main.cpp"); @@ -186,8 +186,8 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { // Rebuild: Removed { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddSource("dummy_main.cpp"); @@ -203,8 +203,8 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { // Rebuild: Added { - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); target.AddSource("dummy_main.cpp"); @@ -227,8 +227,8 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { bool save = buildcc::env::save_file(filename.string().c_str(), "", false); CHECK_TRUE(save); - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); target.AddSource("dummy_main.cpp"); @@ -249,8 +249,8 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { TEST(TargetPchTestGroup, Target_AddPchCompileFlag_Build) { constexpr const char *const NAME = "AddPchCompileFlag_Build.exe"; - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPchCompileFlag("-H"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); @@ -269,8 +269,8 @@ TEST(TargetPchTestGroup, Target_AddPchCompileFlag_Build) { TEST(TargetPchTestGroup, Target_AddPchObjectFlag_Build) { constexpr const char *const NAME = "AddPchObjectFlag_Build.exe"; - buildcc::base::Target target(NAME, buildcc::TargetType::Executable, gcc, - "data"); + buildcc::BaseTarget target(NAME, buildcc::TargetType::Executable, gcc, + "data"); target.AddPchObjectFlag("-H"); target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); diff --git a/buildcc/lib/target/test/target/test_target_source.cpp b/buildcc/lib/target/test/target/test_target_source.cpp index 4b1d2ace..499a4909 100644 --- a/buildcc/lib/target/test/target/test_target_source.cpp +++ b/buildcc/lib/target/test/target/test_target_source.cpp @@ -37,7 +37,7 @@ static const fs::path target_source_intermediate_path = TEST(TargetTestSourceGroup, Target_SourceTypes) { constexpr const char *const NAME = "SourceTypes.exe"; auto intermediate_path = target_source_intermediate_path / NAME; - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource("fileext/c_file.c"); @@ -65,7 +65,7 @@ TEST(TargetTestSourceGroup, Target_AddSource) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource(DUMMY_MAIN); } @@ -77,7 +77,7 @@ TEST(TargetTestSourceGroup, Target_GlobSource) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.GlobSources(""); CHECK_EQUAL(simple.GetSourceFiles().size(), 6); @@ -93,7 +93,7 @@ TEST(TargetTestSourceGroup, Target_Build_SourceCompile) { // Delete fs::remove_all(intermediate_path); - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource(DUMMY_MAIN); @@ -137,7 +137,7 @@ TEST(TargetTestSourceGroup, Target_Build_SourceRecompile) { (source_path / NEW_SOURCE).make_preferred().string()); { - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, "data"); // * Test C compile @@ -161,7 +161,7 @@ TEST(TargetTestSourceGroup, Target_Build_SourceRecompile) { CHECK_FALSE(loaded_sources.find(new_source_file) == loaded_sources.end()); } { - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, "data"); // * Remove C source // * Add CPP source @@ -198,7 +198,7 @@ TEST(TargetTestSourceGroup, Target_Build_SourceRecompile) { auto file_path = source_path / NEW_SOURCE; buildcc::env::save_file(file_path.string().c_str(), std::string{""}, false); - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource(DUMMY_MAIN_CPP); simple.AddSource(NEW_SOURCE); @@ -231,7 +231,7 @@ TEST(TargetTestSourceGroup, Target_CompileCommand_Throws) { // Delete fs::remove_all(intermediate_path); { - buildcc::base::Target simple(NAME, buildcc::TargetType::Executable, gcc, + buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource("dummy_main.c"); diff --git a/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp b/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp index df6e35d0..4d52230a 100644 --- a/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp +++ b/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp @@ -37,8 +37,8 @@ TEST(TargetTestSourceOutOfRootGroup, Add_OutOfRootSource) { fs::remove_all(target_source_intermediate_path / OUTOFROOT); - buildcc::base::Target simple(OUTOFROOT, buildcc::TargetType::Executable, gcc, - ""); + buildcc::BaseTarget simple(OUTOFROOT, buildcc::TargetType::Executable, gcc, + ""); simple.AddSource("../dummy_main.cpp"); buildcc::env::m::CommandExpect_Execute(1, true); @@ -53,8 +53,8 @@ TEST(TargetTestSourceOutOfRootGroup, Glob_OutOfRootSource) { fs::remove_all(target_source_intermediate_path / OUTOFROOT); { - buildcc::base::Target simple(OUTOFROOT, buildcc::TargetType::Executable, - gcc, ""); + buildcc::BaseTarget simple(OUTOFROOT, buildcc::TargetType::Executable, gcc, + ""); simple.GlobSources(".."); // 6 files detected CHECK_EQUAL(6, simple.GetSourceFiles().size()); @@ -72,8 +72,8 @@ TEST(TargetTestSourceOutOfRootGroup, GlobAbsolute_OutOfRootSource) { fs::remove_all(target_source_intermediate_path / OUTOFROOT); { - buildcc::base::Target simple(OUTOFROOT, buildcc::TargetType::Executable, - gcc, ""); + buildcc::BaseTarget simple(OUTOFROOT, buildcc::TargetType::Executable, gcc, + ""); simple.GlobSourcesAbsolute(fs::path(BUILD_SCRIPT_SOURCE) / "data"); // 6 files detected buildcc::env::m::CommandExpect_Execute(6, true); diff --git a/buildcc/lib/target/test/target/test_target_sync.cpp b/buildcc/lib/target/test/target/test_target_sync.cpp index 2ac67c2e..9bceb565 100644 --- a/buildcc/lib/target/test/target/test_target_sync.cpp +++ b/buildcc/lib/target/test/target/test_target_sync.cpp @@ -23,10 +23,10 @@ buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", "g++", "ar", "ldd"); TEST(TargetTestSyncGroup, CopyByConstRef) { - buildcc::base::Target srcTarget("srcTarget", buildcc::TargetType::Executable, - gcc, "data"); - buildcc::base::Target destTarget( - "destTarget", buildcc::TargetType::Executable, gcc, "data"); + buildcc::BaseTarget srcTarget("srcTarget", buildcc::TargetType::Executable, + gcc, "data"); + buildcc::BaseTarget destTarget("destTarget", buildcc::TargetType::Executable, + gcc, "data"); srcTarget.AddSource("dummy_main.c"); srcTarget.AddIncludeDir("include", true); @@ -90,10 +90,10 @@ TEST(TargetTestSyncGroup, CopyByConstRef) { } TEST(TargetTestSyncGroup, CopyByMove) { - buildcc::base::Target srcTarget("srcTarget", buildcc::TargetType::Executable, - gcc, "data"); - buildcc::base::Target destTarget( - "destTarget", buildcc::TargetType::Executable, gcc, "data"); + buildcc::BaseTarget srcTarget("srcTarget", buildcc::TargetType::Executable, + gcc, "data"); + buildcc::BaseTarget destTarget("destTarget", buildcc::TargetType::Executable, + gcc, "data"); srcTarget.AddSource("dummy_main.c"); srcTarget.AddIncludeDir("include", true); @@ -158,10 +158,10 @@ TEST(TargetTestSyncGroup, CopyByMove) { } TEST(TargetTestSyncGroup, CopyCrash) { - buildcc::base::Target srcTarget("srcTarget", buildcc::TargetType::Executable, - gcc, "data"); - buildcc::base::Target destTarget( - "destTarget", buildcc::TargetType::Executable, gcc, "data"); + buildcc::BaseTarget srcTarget("srcTarget", buildcc::TargetType::Executable, + gcc, "data"); + buildcc::BaseTarget destTarget("destTarget", buildcc::TargetType::Executable, + gcc, "data"); CHECK_THROWS(std::exception, destTarget.Copy(srcTarget, { @@ -170,10 +170,10 @@ TEST(TargetTestSyncGroup, CopyCrash) { } TEST(TargetTestSyncGroup, InsertByConstRef) { - buildcc::base::Target srcTarget("srcTarget", buildcc::TargetType::Executable, - gcc, "data"); - buildcc::base::Target destTarget( - "destTarget", buildcc::TargetType::Executable, gcc, "data"); + buildcc::BaseTarget srcTarget("srcTarget", buildcc::TargetType::Executable, + gcc, "data"); + buildcc::BaseTarget destTarget("destTarget", buildcc::TargetType::Executable, + gcc, "data"); srcTarget.AddSource("dummy_main.c"); srcTarget.AddIncludeDir("include", true); @@ -237,10 +237,10 @@ TEST(TargetTestSyncGroup, InsertByConstRef) { } TEST(TargetTestSyncGroup, InsertByMove) { - buildcc::base::Target srcTarget("srcTarget", buildcc::TargetType::Executable, - gcc, "data"); - buildcc::base::Target destTarget( - "destTarget", buildcc::TargetType::Executable, gcc, "data"); + buildcc::BaseTarget srcTarget("srcTarget", buildcc::TargetType::Executable, + gcc, "data"); + buildcc::BaseTarget destTarget("destTarget", buildcc::TargetType::Executable, + gcc, "data"); srcTarget.AddSource("dummy_main.c"); srcTarget.AddIncludeDir("include", true); @@ -305,10 +305,10 @@ TEST(TargetTestSyncGroup, InsertByMove) { } TEST(TargetTestSyncGroup, InsertCrash) { - buildcc::base::Target srcTarget("srcTarget", buildcc::TargetType::Executable, - gcc, "data"); - buildcc::base::Target destTarget( - "destTarget", buildcc::TargetType::Executable, gcc, "data"); + buildcc::BaseTarget srcTarget("srcTarget", buildcc::TargetType::Executable, + gcc, "data"); + buildcc::BaseTarget destTarget("destTarget", buildcc::TargetType::Executable, + gcc, "data"); CHECK_THROWS(std::exception, destTarget.Insert(srcTarget, { diff --git a/buildcc/lib/target/test/target/test_target_user_deps.cpp b/buildcc/lib/target/test/target/test_target_user_deps.cpp index 14255c98..3650b21e 100644 --- a/buildcc/lib/target/test/target/test_target_user_deps.cpp +++ b/buildcc/lib/target/test/target/test_target_user_deps.cpp @@ -36,8 +36,8 @@ static const fs::path target_source_intermediate_path = TEST(TargetTestUserDepsGroup, Target_Build_CompileDeps_NoChange) { constexpr const char *NAME = "compileDep_NoChange.exe"; - buildcc::base::Target compileDep(NAME, buildcc::TargetType::Executable, - gcc, "data"); + buildcc::BaseTarget compileDep(NAME, buildcc::TargetType::Executable, gcc, + "data"); compileDep.AddSource("dummy_main.cpp"); compileDep.AddCompileDependency("new_source.cpp"); @@ -51,8 +51,8 @@ TEST(TargetTestUserDepsGroup, Target_Build_CompileDeps_NoChange) { TEST(TargetTestUserDepsGroup, Target_Build_LinkDeps_NoChange) { constexpr const char *NAME = "linkDep_NoChange.exe"; - buildcc::base::Target linkDep(NAME, buildcc::TargetType::Executable, - gcc, "data"); + buildcc::BaseTarget linkDep(NAME, buildcc::TargetType::Executable, gcc, + "data"); linkDep.AddSource("dummy_main.cpp"); linkDep.AddLinkDependency("new_source.cpp"); @@ -67,8 +67,8 @@ TEST(TargetTestUserDepsGroup, Target_Build_LinkDeps_NoChange) { TEST(TargetTestUserDepsGroup, Target_Build_CompileDeps_Rebuild) { constexpr const char *NAME = "compileDep_Rebuild.exe"; { - buildcc::base::Target compileDep( - NAME, buildcc::TargetType::Executable, gcc, "data"); + buildcc::BaseTarget compileDep(NAME, buildcc::TargetType::Executable, gcc, + "data"); compileDep.AddSource("dummy_main.cpp"); compileDep.AddCompileDependency("new_source.cpp"); @@ -88,8 +88,8 @@ TEST(TargetTestUserDepsGroup, Target_Build_CompileDeps_Rebuild) { } { - buildcc::base::Target compileDep( - NAME, buildcc::TargetType::Executable, gcc, "data"); + buildcc::BaseTarget compileDep(NAME, buildcc::TargetType::Executable, gcc, + "data"); compileDep.AddSource("dummy_main.cpp"); compileDep.AddCompileDependency("new_source.cpp"); @@ -106,8 +106,8 @@ TEST(TargetTestUserDepsGroup, Target_Build_CompileDeps_Rebuild) { TEST(TargetTestUserDepsGroup, Target_Build_LinkDeps_Rebuild) { constexpr const char *NAME = "linkDep_Rebuild.exe"; { - buildcc::base::Target linkDep(NAME, buildcc::TargetType::Executable, - gcc, "data"); + buildcc::BaseTarget linkDep(NAME, buildcc::TargetType::Executable, gcc, + "data"); linkDep.AddSource("dummy_main.cpp"); linkDep.AddLinkDependency("new_source.cpp"); @@ -127,8 +127,8 @@ TEST(TargetTestUserDepsGroup, Target_Build_LinkDeps_Rebuild) { } { - buildcc::base::Target linkDep(NAME, buildcc::TargetType::Executable, - gcc, "data"); + buildcc::BaseTarget linkDep(NAME, buildcc::TargetType::Executable, gcc, + "data"); linkDep.AddSource("dummy_main.cpp"); linkDep.AddLinkDependency("new_source.cpp"); From 3df4c24cbdb7b8e1d7107f3f317c528955d7b083 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Mon, 17 Jan 2022 21:22:22 -0800 Subject: [PATCH 14/40] Migrated Target from namespace buildcc::base to buildcc --- buildcc/lib/args/mock/tasks.cpp | 2 +- buildcc/lib/args/src/register.cpp | 2 +- buildcc/lib/args/src/tasks.cpp | 2 +- .../lib/target/include/target/api/lib_api.h | 4 +- .../include/target/friend/compile_object.h | 6 +- .../include/target/friend/compile_pch.h | 6 +- .../include/target/friend/link_target.h | 6 +- buildcc/lib/target/include/target/target.h | 21 ++--- buildcc/lib/target/mock/expect_target.h | 8 +- .../lib/target/mock/target/recheck_states.cpp | 4 +- buildcc/lib/target/mock/target/runner.cpp | 4 +- buildcc/lib/target/src/api/lib_api.cpp | 2 +- buildcc/lib/target/src/api/target_getter.cpp | 2 +- buildcc/lib/target/src/target/build.cpp | 4 +- .../lib/target/src/target/recheck_states.cpp | 4 +- buildcc/lib/target/src/target/target.cpp | 4 +- .../lib/target/src/target/target_storer.cpp | 4 +- buildcc/lib/target/src/target/tasks.cpp | 12 ++- .../test/target/test_target_external_lib.cpp | 14 ++-- .../target/test_target_failure_states.cpp | 30 ++++---- .../target/test/target/test_target_flags.cpp | 76 +++++++++---------- .../test/target/test_target_include_dir.cpp | 24 +++--- .../test/target/test_target_lib_dep.cpp | 34 ++++----- .../target/test/target/test_target_lock.cpp | 8 +- .../target/test/target/test_target_pch.cpp | 38 +++++----- .../target/test/target/test_target_source.cpp | 30 ++++---- .../target/test_target_source_out_of_root.cpp | 6 +- .../test/target/test_target_user_deps.cpp | 16 ++-- .../include/plugins/clang_compile_commands.h | 6 +- .../plugins/src/clang_compile_commands.cpp | 4 +- 30 files changed, 197 insertions(+), 186 deletions(-) diff --git a/buildcc/lib/args/mock/tasks.cpp b/buildcc/lib/args/mock/tasks.cpp index 85c328c2..939e0100 100644 --- a/buildcc/lib/args/mock/tasks.cpp +++ b/buildcc/lib/args/mock/tasks.cpp @@ -4,7 +4,7 @@ namespace buildcc { -tf::Task Register::BuildTargetTask(base::Target &target) { +tf::Task Register::BuildTargetTask(BaseTarget &target) { mock().actualCall(fmt::format("BuildTask_{}", target.GetName()).c_str()); return build_tf_.placeholder().name(target.GetUniqueId()); } diff --git a/buildcc/lib/args/src/register.cpp b/buildcc/lib/args/src/register.cpp index 176816a7..a697fc92 100644 --- a/buildcc/lib/args/src/register.cpp +++ b/buildcc/lib/args/src/register.cpp @@ -88,7 +88,7 @@ void Register::Dep(const internal::BuilderInterface &target, } void Register::Test(const ArgToolchainState &toolchain_state, - const std::string &command, const base::Target &target, + const std::string &command, const BaseTarget &target, const TestConfig &config) { if (!(toolchain_state.build && toolchain_state.test)) { return; diff --git a/buildcc/lib/args/src/tasks.cpp b/buildcc/lib/args/src/tasks.cpp index 5557617d..97e9cc4a 100644 --- a/buildcc/lib/args/src/tasks.cpp +++ b/buildcc/lib/args/src/tasks.cpp @@ -20,7 +20,7 @@ namespace buildcc { -tf::Task Register::BuildTargetTask(base::Target &target) { +tf::Task Register::BuildTargetTask(BaseTarget &target) { return build_tf_.composed_of(target.GetTaskflow()).name(target.GetUniqueId()); } diff --git a/buildcc/lib/target/include/target/api/lib_api.h b/buildcc/lib/target/include/target/api/lib_api.h index 871c0314..834ec3e7 100644 --- a/buildcc/lib/target/include/target/api/lib_api.h +++ b/buildcc/lib/target/include/target/api/lib_api.h @@ -22,7 +22,7 @@ namespace fs = std::filesystem; -namespace buildcc::base { +namespace buildcc { class Target; @@ -37,7 +37,7 @@ namespace buildcc::internal { // T::GetTargetPath template class LibApi { public: - void AddLibDep(const base::Target &lib_dep); + void AddLibDep(const Target &lib_dep); void AddLibDep(const std::string &lib_dep); void AddLibDir(const fs::path &relative_lib_dir); diff --git a/buildcc/lib/target/include/target/friend/compile_object.h b/buildcc/lib/target/include/target/friend/compile_object.h index 65dd5f01..3ebf5618 100644 --- a/buildcc/lib/target/include/target/friend/compile_object.h +++ b/buildcc/lib/target/include/target/friend/compile_object.h @@ -26,10 +26,14 @@ namespace fs = std::filesystem; -namespace buildcc::base { +namespace buildcc { class Target; +} + +namespace buildcc::base { + class CompileObject { public: diff --git a/buildcc/lib/target/include/target/friend/compile_pch.h b/buildcc/lib/target/include/target/friend/compile_pch.h index 9fdaed70..6327caac 100644 --- a/buildcc/lib/target/include/target/friend/compile_pch.h +++ b/buildcc/lib/target/include/target/friend/compile_pch.h @@ -24,10 +24,14 @@ namespace fs = std::filesystem; -namespace buildcc::base { +namespace buildcc { class Target; +} + +namespace buildcc::base { + class CompilePch { public: CompilePch(Target &target) diff --git a/buildcc/lib/target/include/target/friend/link_target.h b/buildcc/lib/target/include/target/friend/link_target.h index a00c0e91..4fed40f6 100644 --- a/buildcc/lib/target/include/target/friend/link_target.h +++ b/buildcc/lib/target/include/target/friend/link_target.h @@ -24,10 +24,14 @@ namespace fs = std::filesystem; -namespace buildcc::base { +namespace buildcc { class Target; +} + +namespace buildcc::base { + class LinkTarget { public: LinkTarget(Target &target) diff --git a/buildcc/lib/target/include/target/target.h b/buildcc/lib/target/include/target/target.h index 5a9e2407..c61acdb1 100644 --- a/buildcc/lib/target/include/target/target.h +++ b/buildcc/lib/target/include/target/target.h @@ -58,7 +58,7 @@ // Third Party #include "taskflow/taskflow.hpp" -namespace buildcc::base { +namespace buildcc { // NOTE, base::Target is meant to be a blank slate which can be customized by // the specialized target-toolchain classes @@ -89,9 +89,9 @@ class Target : public internal::BuilderInterface, env::TaskState GetTaskState() const noexcept { return task_state_; } private: - friend class CompilePch; - friend class CompileObject; - friend class LinkTarget; + friend class base::CompilePch; + friend class base::CompileObject; + friend class base::LinkTarget; friend class TargetGetter; @@ -146,9 +146,9 @@ class Target : public internal::BuilderInterface, internal::TargetLoader loader_; // Friend classes - CompilePch compile_pch_; - CompileObject compile_object_; - LinkTarget link_target_; + base::CompilePch compile_pch_; + base::CompileObject compile_object_; + base::LinkTarget link_target_; // Task states tf::Task target_start_task_; @@ -165,12 +165,7 @@ class Target : public internal::BuilderInterface, tf::Taskflow tf_; }; -} // namespace buildcc::base - -// TODO, Make all of these external and remove this namespace -namespace buildcc { - -typedef base::Target BaseTarget; +typedef Target BaseTarget; } // namespace buildcc diff --git a/buildcc/lib/target/mock/expect_target.h b/buildcc/lib/target/mock/expect_target.h index 36181e78..8b398371 100644 --- a/buildcc/lib/target/mock/expect_target.h +++ b/buildcc/lib/target/mock/expect_target.h @@ -3,9 +3,7 @@ #include "target/target.h" -namespace buildcc { - -namespace base::m { +namespace buildcc::m { /** * @brief Runs the target using Taskflow with 1 thread @@ -25,8 +23,6 @@ void TargetExpect_DirChanged(unsigned int calls, Target *target); void TargetExpect_FlagChanged(unsigned int calls, Target *target); void TargetExpect_ExternalLibChanged(unsigned int calls, Target *target); -} // namespace base::m - -} // namespace buildcc +} // namespace buildcc::m #endif diff --git a/buildcc/lib/target/mock/target/recheck_states.cpp b/buildcc/lib/target/mock/target/recheck_states.cpp index 260bd0c4..40586006 100644 --- a/buildcc/lib/target/mock/target/recheck_states.cpp +++ b/buildcc/lib/target/mock/target/recheck_states.cpp @@ -4,7 +4,7 @@ #include "CppUTestExt/MockSupport.h" -namespace buildcc::base { +namespace buildcc { static constexpr const char *const SOURCE_REMOVED_FUNCTION = "Target::SourceRemoved"; @@ -95,4 +95,4 @@ void TargetExpect_ExternalLibChanged(unsigned int calls, Target *target) { } // namespace m -} // namespace buildcc::base +} // namespace buildcc diff --git a/buildcc/lib/target/mock/target/runner.cpp b/buildcc/lib/target/mock/target/runner.cpp index 886704ac..a15c8de5 100644 --- a/buildcc/lib/target/mock/target/runner.cpp +++ b/buildcc/lib/target/mock/target/runner.cpp @@ -2,7 +2,7 @@ #include "expect_target.h" -namespace buildcc::base::m { +namespace buildcc::m { void TargetRunner(Target &target) { tf::Executor executor(1); @@ -10,4 +10,4 @@ void TargetRunner(Target &target) { executor.wait_for_all(); } -} // namespace buildcc::base::m +} // namespace buildcc::m diff --git a/buildcc/lib/target/src/api/lib_api.cpp b/buildcc/lib/target/src/api/lib_api.cpp index d3e2fa06..0814927c 100644 --- a/buildcc/lib/target/src/api/lib_api.cpp +++ b/buildcc/lib/target/src/api/lib_api.cpp @@ -37,7 +37,7 @@ void LibApi::AddLibDirAbsolute(const fs::path &absolute_lib_dir) { t.storer_.current_lib_dirs.insert(absolute_lib_dir); } -template void LibApi::AddLibDep(const base::Target &lib_dep) { +template void LibApi::AddLibDep(const BaseTarget &lib_dep) { T &t = static_cast(*this); t.state_.ExpectsUnlock(); diff --git a/buildcc/lib/target/src/api/target_getter.cpp b/buildcc/lib/target/src/api/target_getter.cpp index 2fe2963d..83cad46e 100644 --- a/buildcc/lib/target/src/api/target_getter.cpp +++ b/buildcc/lib/target/src/api/target_getter.cpp @@ -88,6 +88,6 @@ template tf::Taskflow &TargetGetter::GetTaskflow() { return t.tf_; } -template class TargetGetter; +template class TargetGetter; } // namespace buildcc::internal diff --git a/buildcc/lib/target/src/target/build.cpp b/buildcc/lib/target/src/target/build.cpp index 4aabe76a..82e00a53 100644 --- a/buildcc/lib/target/src/target/build.cpp +++ b/buildcc/lib/target/src/target/build.cpp @@ -43,7 +43,7 @@ constexpr const char *const kLinker = "linker"; } // namespace -namespace buildcc::base { +namespace buildcc { // * Load // TODO, Verify things that cannot be changed @@ -130,4 +130,4 @@ void Target::Build() { TaskDeps(); } -} // namespace buildcc::base +} // namespace buildcc diff --git a/buildcc/lib/target/src/target/recheck_states.cpp b/buildcc/lib/target/src/target/recheck_states.cpp index 8c9686cb..42bf53c0 100644 --- a/buildcc/lib/target/src/target/recheck_states.cpp +++ b/buildcc/lib/target/src/target/recheck_states.cpp @@ -18,7 +18,7 @@ // be used accurately #include "target/target.h" -namespace buildcc::base { +namespace buildcc { // Source rechecks void Target::SourceRemoved() {} @@ -34,4 +34,4 @@ void Target::DirChanged() {} void Target::FlagChanged() {} void Target::ExternalLibChanged() {} -} // namespace buildcc::base +} // namespace buildcc diff --git a/buildcc/lib/target/src/target/target.cpp b/buildcc/lib/target/src/target/target.cpp index 84629725..fe069f31 100644 --- a/buildcc/lib/target/src/target/target.cpp +++ b/buildcc/lib/target/src/target/target.cpp @@ -44,7 +44,7 @@ bool IsValidTargetType(buildcc::TargetType type) { } // namespace -namespace buildcc::base { +namespace buildcc { void Target::Initialize() { // Checks @@ -123,4 +123,4 @@ std::optional Target::SelectCompiler(TargetFileExt ext) const { return {}; } -} // namespace buildcc::base +} // namespace buildcc diff --git a/buildcc/lib/target/src/target/target_storer.cpp b/buildcc/lib/target/src/target/target_storer.cpp index 2e73b252..65793748 100644 --- a/buildcc/lib/target/src/target/target_storer.cpp +++ b/buildcc/lib/target/src/target/target_storer.cpp @@ -35,7 +35,7 @@ fbs::TargetType CreateFbsTargetType(buildcc::TargetType type) { } // namespace -namespace buildcc::base { +namespace buildcc { bool Target::Store() { env::log_trace(name_, __FUNCTION__); @@ -101,4 +101,4 @@ bool Target::Store() { builder.GetSize(), true); } -} // namespace buildcc::base +} // namespace buildcc diff --git a/buildcc/lib/target/src/target/tasks.cpp b/buildcc/lib/target/src/target/tasks.cpp index 794cb143..082f0ad6 100644 --- a/buildcc/lib/target/src/target/tasks.cpp +++ b/buildcc/lib/target/src/target/tasks.cpp @@ -36,7 +36,7 @@ constexpr const char *const kLinkTaskName = "Target"; } // namespace -namespace buildcc::base { +namespace buildcc { void Target::SetTaskStateFailure() { std::lock_guard guard(task_state_mutex_); @@ -68,6 +68,10 @@ void Target::StartTask() { target_start_task_.name(kStartTaskName); } +} // namespace buildcc + +namespace buildcc::base { + // 1. User adds/removes/updates pch_headers // 2. `BuildCompile` aggregates pch_headers to a single `buildcc_header` and // compiles @@ -165,6 +169,10 @@ void LinkTarget::Task() { task_.name(kLinkTaskName); } +} // namespace buildcc::base + +namespace buildcc { + void Target::EndTask() { target_end_task_ = tf_.emplace([&]() { if (dirty_) { @@ -202,4 +210,4 @@ void Target::TaskDeps() { link_target_.GetTask().precede(target_end_task_); } -} // namespace buildcc::base +} // namespace buildcc diff --git a/buildcc/lib/target/test/target/test_target_external_lib.cpp b/buildcc/lib/target/test/target/test_target_external_lib.cpp index 8bccdf6c..8500de88 100644 --- a/buildcc/lib/target/test/target/test_target_external_lib.cpp +++ b/buildcc/lib/target/test/target/test_target_external_lib.cpp @@ -47,7 +47,7 @@ TEST(TargetTestExternalLib, TestAddLibDir) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); exe.Build(); - buildcc::base::m::TargetRunner(exe); + buildcc::m::TargetRunner(exe); CHECK_TRUE(exe.IsBuilt()); mock().checkExpectations(); @@ -75,7 +75,7 @@ TEST(TargetTestExternalLib, TestAddExternalLibDep_Simple) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); exe.Build(); - buildcc::base::m::TargetRunner(exe); + buildcc::m::TargetRunner(exe); CHECK_TRUE(exe.IsBuilt()); mock().checkExpectations(); @@ -104,7 +104,7 @@ TEST(TargetTestExternalLib, TestAddExternalLibDep_RebuildChanged) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); exe.Build(); - buildcc::base::m::TargetRunner(exe); + buildcc::m::TargetRunner(exe); CHECK_TRUE(exe.IsBuilt()); } @@ -116,10 +116,10 @@ TEST(TargetTestExternalLib, TestAddExternalLibDep_RebuildChanged) { exe.AddLibDir(exe.GetTargetPath().parent_path()); exe.AddLibDep("-lfoo"); - buildcc::base::m::TargetExpect_ExternalLibChanged(1, &exe); + buildcc::m::TargetExpect_ExternalLibChanged(1, &exe); buildcc::env::m::CommandExpect_Execute(1, true); exe.Build(); - buildcc::base::m::TargetRunner(exe); + buildcc::m::TargetRunner(exe); CHECK_TRUE(exe.IsBuilt()); } @@ -130,10 +130,10 @@ TEST(TargetTestExternalLib, TestAddExternalLibDep_RebuildChanged) { exe.AddSource("foo_main.cpp"); exe.AddLibDir(exe.GetTargetPath().parent_path()); - buildcc::base::m::TargetExpect_ExternalLibChanged(1, &exe); + buildcc::m::TargetExpect_ExternalLibChanged(1, &exe); buildcc::env::m::CommandExpect_Execute(1, true); exe.Build(); - buildcc::base::m::TargetRunner(exe); + buildcc::m::TargetRunner(exe); CHECK_TRUE(exe.IsBuilt()); } diff --git a/buildcc/lib/target/test/target/test_target_failure_states.cpp b/buildcc/lib/target/test/target/test_target_failure_states.cpp index caecfa43..4b9bac5a 100644 --- a/buildcc/lib/target/test/target/test_target_failure_states.cpp +++ b/buildcc/lib/target/test/target/test_target_failure_states.cpp @@ -37,7 +37,7 @@ TEST(TargetTestFailureStates, StartTaskEnvFailure) { target.AddSource("dummy_main.cpp"); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); CHECK(target.GetTaskState() == buildcc::env::TaskState::FAILURE); } @@ -52,7 +52,7 @@ TEST(TargetTestFailureStates, CompilePchFailure) { target.Build(); buildcc::env::m::CommandExpect_Execute(1, false); // PCH compile - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); CHECK(target.GetTaskState() == buildcc::env::TaskState::FAILURE); } @@ -69,7 +69,7 @@ TEST(TargetTestFailureStates, CompileObjectFailure) { buildcc::env::m::CommandExpect_Execute(1, false); // compile buildcc::env::m::CommandExpect_Execute(1, true); // compile - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); CHECK(target.GetTaskState() == buildcc::env::TaskState::FAILURE); } @@ -82,7 +82,7 @@ TEST(TargetTestFailureStates, CompileObject_FileNotFoundFailure) { target.AddSource("file_not_present.cpp"); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); CHECK(target.GetTaskState() == buildcc::env::TaskState::FAILURE); } @@ -98,7 +98,7 @@ TEST(TargetTestFailureStates, LinkTargetFailure) { buildcc::env::m::CommandExpect_Execute(1, true); // compile buildcc::env::m::CommandExpect_Execute(1, false); // link - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); CHECK(target.GetTaskState() == buildcc::env::TaskState::FAILURE); } @@ -116,7 +116,7 @@ TEST(TargetTestFailureStates, EndTaskStoreFailure) { buildcc::env::m::CommandExpect_Execute(1, true); // compile buildcc::env::m::CommandExpect_Execute(1, true); // link - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); CHECK(target.GetTaskState() == buildcc::env::TaskState::FAILURE); } @@ -135,7 +135,7 @@ TEST(TargetTestFailureStates, StartTaskEnvFailure_Rebuild) { target.AddSource("dummy_main.cpp"); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); CHECK(target.GetTaskState() == buildcc::env::TaskState::FAILURE); CHECK_FALSE(target.IsBuilt()); @@ -154,7 +154,7 @@ TEST(TargetTestFailureStates, StartTaskEnvFailure_Rebuild) { buildcc::env::m::CommandExpect_Execute(1, true); // compile buildcc::env::m::CommandExpect_Execute(1, true); // link - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); CHECK(target.GetTaskState() == buildcc::env::TaskState::SUCCESS); CHECK_TRUE(target.IsBuilt()); @@ -174,7 +174,7 @@ TEST(TargetTestFailureStates, CompilePchFailure_Rebuild) { target.Build(); buildcc::env::m::CommandExpect_Execute(1, false); // PCH compile - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); CHECK(target.GetTaskState() == buildcc::env::TaskState::FAILURE); } @@ -197,7 +197,7 @@ TEST(TargetTestFailureStates, CompilePchFailure_Rebuild) { buildcc::env::m::CommandExpect_Execute(1, true); // Object compile buildcc::env::m::CommandExpect_Execute(1, true); // Link target - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); CHECK(target.GetTaskState() == buildcc::env::TaskState::SUCCESS); } @@ -218,7 +218,7 @@ TEST(TargetTestFailureStates, CompileObjectFailure_Rebuild) { buildcc::env::m::CommandExpect_Execute(1, false); // compile buildcc::env::m::CommandExpect_Execute(1, true); // compile - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); CHECK(target.GetTaskState() == buildcc::env::TaskState::FAILURE); } @@ -247,9 +247,9 @@ TEST(TargetTestFailureStates, CompileObjectFailure_Rebuild) { // NOTE, The other one does not compile since it already compiled // successfully earlier! buildcc::env::m::CommandExpect_Execute(1, true); // compile - buildcc::base::m::TargetExpect_SourceAdded(1, &target); + buildcc::m::TargetExpect_SourceAdded(1, &target); buildcc::env::m::CommandExpect_Execute(1, true); // link - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); CHECK(target.GetTaskState() == buildcc::env::TaskState::SUCCESS); } @@ -268,7 +268,7 @@ TEST(TargetTestFailureStates, LinkTargetFailure_Rebuild) { buildcc::env::m::CommandExpect_Execute(1, true); // compile buildcc::env::m::CommandExpect_Execute(1, false); // link - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); CHECK(target.GetTaskState() == buildcc::env::TaskState::FAILURE); } @@ -286,7 +286,7 @@ TEST(TargetTestFailureStates, LinkTargetFailure_Rebuild) { // we do not recompile buildcc::env::m::CommandExpect_Execute(1, true); // link - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); CHECK(target.GetTaskState() == buildcc::env::TaskState::SUCCESS); } diff --git a/buildcc/lib/target/test/target/test_target_flags.cpp b/buildcc/lib/target/test/target/test_target_flags.cpp index 37f2859a..8b6cb218 100644 --- a/buildcc/lib/target/test/target/test_target_flags.cpp +++ b/buildcc/lib/target/test/target/test_target_flags.cpp @@ -56,7 +56,7 @@ TEST(TargetTestPreprocessorFlagGroup, Target_AddPreprocessorFlag) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); mock().checkExpectations(); @@ -88,7 +88,7 @@ TEST(TargetTestPreprocessorFlagGroup, Target_ChangedPreprocessorFlag) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } { @@ -96,11 +96,11 @@ TEST(TargetTestPreprocessorFlagGroup, Target_ChangedPreprocessorFlag) { buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource(DUMMY_MAIN); - buildcc::base::m::TargetExpect_FlagChanged(1, &simple); + buildcc::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } @@ -110,11 +110,11 @@ TEST(TargetTestPreprocessorFlagGroup, Target_ChangedPreprocessorFlag) { "data"); simple.AddSource(DUMMY_MAIN); simple.AddPreprocessorFlag("-DRANDOM=1"); - buildcc::base::m::TargetExpect_FlagChanged(1, &simple); + buildcc::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } @@ -154,7 +154,7 @@ TEST(TargetTestCommonCompileFlagsGroup, Target_AddCommonCompileFlag) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); mock().checkExpectations(); @@ -187,7 +187,7 @@ TEST(TargetTestCommonCompileFlagsGroup, Target_ChangedCommonCompileFlag) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } { @@ -198,7 +198,7 @@ TEST(TargetTestCommonCompileFlagsGroup, Target_ChangedCommonCompileFlag) { simple.AddCommonCompileFlag("-g"); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_FALSE(simple.IsBuilt()); } { @@ -208,11 +208,11 @@ TEST(TargetTestCommonCompileFlagsGroup, Target_ChangedCommonCompileFlag) { simple.AddSource(DUMMY_MAIN); simple.AddCommonCompileFlag("-O0"); - buildcc::base::m::TargetExpect_FlagChanged(1, &simple); + buildcc::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } @@ -224,11 +224,11 @@ TEST(TargetTestCommonCompileFlagsGroup, Target_ChangedCommonCompileFlag) { simple.AddCommonCompileFlag("-O0"); simple.AddCommonCompileFlag("-g"); - buildcc::base::m::TargetExpect_FlagChanged(1, &simple); + buildcc::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } @@ -268,7 +268,7 @@ TEST(TargetTestAsmCompileFlagGroup, Target_AddCompileFlag) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); mock().checkExpectations(); @@ -301,7 +301,7 @@ TEST(TargetTestAsmCompileFlagGroup, Target_ChangedCompileFlag) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } { @@ -313,7 +313,7 @@ TEST(TargetTestAsmCompileFlagGroup, Target_ChangedCompileFlag) { simple.AddAsmCompileFlag("-g"); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_FALSE(simple.IsBuilt()); } { @@ -323,11 +323,11 @@ TEST(TargetTestAsmCompileFlagGroup, Target_ChangedCompileFlag) { simple.AddSource(EMPTY_ASM); simple.AddAsmCompileFlag("-O0"); - buildcc::base::m::TargetExpect_FlagChanged(1, &simple); + buildcc::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } @@ -339,11 +339,11 @@ TEST(TargetTestAsmCompileFlagGroup, Target_ChangedCompileFlag) { simple.AddAsmCompileFlag("-O0"); simple.AddAsmCompileFlag("-g"); - buildcc::base::m::TargetExpect_FlagChanged(1, &simple); + buildcc::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } @@ -382,7 +382,7 @@ TEST(TargetTestCCompileFlagsGroup, Target_AddCompileFlag) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); mock().checkExpectations(); @@ -414,7 +414,7 @@ TEST(TargetTestCCompileFlagsGroup, Target_ChangedCompileFlag) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } { @@ -422,11 +422,11 @@ TEST(TargetTestCCompileFlagsGroup, Target_ChangedCompileFlag) { buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource(DUMMY_MAIN); - buildcc::base::m::TargetExpect_FlagChanged(1, &simple); + buildcc::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } @@ -436,11 +436,11 @@ TEST(TargetTestCCompileFlagsGroup, Target_ChangedCompileFlag) { "data"); simple.AddSource(DUMMY_MAIN); simple.AddCCompileFlag("-std=c11"); - buildcc::base::m::TargetExpect_FlagChanged(1, &simple); + buildcc::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } @@ -479,7 +479,7 @@ TEST(TargetTestCppCompileFlagsGroup, Target_AddCompileFlag) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); mock().checkExpectations(); @@ -511,7 +511,7 @@ TEST(TargetTestCppCompileFlagsGroup, Target_ChangedCompileFlag) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } { @@ -519,11 +519,11 @@ TEST(TargetTestCppCompileFlagsGroup, Target_ChangedCompileFlag) { buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource(DUMMY_MAIN); - buildcc::base::m::TargetExpect_FlagChanged(1, &simple); + buildcc::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } @@ -533,11 +533,11 @@ TEST(TargetTestCppCompileFlagsGroup, Target_ChangedCompileFlag) { "data"); simple.AddSource(DUMMY_MAIN); simple.AddCCompileFlag("-std=c++17"); - buildcc::base::m::TargetExpect_FlagChanged(1, &simple); + buildcc::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } @@ -576,7 +576,7 @@ TEST(TargetTestLinkFlagsGroup, Target_AddLinkFlag) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); mock().checkExpectations(); @@ -608,7 +608,7 @@ TEST(TargetTestLinkFlagsGroup, Target_ChangedLinkFlag) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } { @@ -616,10 +616,10 @@ TEST(TargetTestLinkFlagsGroup, Target_ChangedLinkFlag) { buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, "data"); simple.AddSource(DUMMY_MAIN); - buildcc::base::m::TargetExpect_FlagChanged(1, &simple); + buildcc::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } @@ -629,10 +629,10 @@ TEST(TargetTestLinkFlagsGroup, Target_ChangedLinkFlag) { "data"); simple.AddSource(DUMMY_MAIN); simple.AddLinkFlag("-lm"); - buildcc::base::m::TargetExpect_FlagChanged(1, &simple); + buildcc::m::TargetExpect_FlagChanged(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK_TRUE(simple.IsBuilt()); } diff --git a/buildcc/lib/target/test/target/test_target_include_dir.cpp b/buildcc/lib/target/test/target/test_target_include_dir.cpp index 1b85599d..2a65112a 100644 --- a/buildcc/lib/target/test/target/test_target_include_dir.cpp +++ b/buildcc/lib/target/test/target/test_target_include_dir.cpp @@ -112,7 +112,7 @@ TEST(TargetTestIncludeDirGroup, TargetBuildIncludeDir) { buildcc::env::m::CommandExpect_Execute(2, true); buildcc::env::m::CommandExpect_Execute(1, true); include_compile.Build(); - buildcc::base::m::TargetRunner(include_compile); + buildcc::m::TargetRunner(include_compile); buildcc::internal::TargetLoader loader(NAME, intermediate_path); bool is_loaded = loader.Load(); @@ -140,11 +140,11 @@ TEST(TargetTestIncludeDirGroup, TargetBuildIncludeDir) { // Adds the data directory include_compile.AddIncludeDir(""); - buildcc::base::m::TargetExpect_DirChanged(1, &include_compile); + buildcc::m::TargetExpect_DirChanged(1, &include_compile); buildcc::env::m::CommandExpect_Execute(2, true); buildcc::env::m::CommandExpect_Execute(1, true); include_compile.Build(); - buildcc::base::m::TargetRunner(include_compile); + buildcc::m::TargetRunner(include_compile); buildcc::internal::TargetLoader loader(NAME, intermediate_path); bool is_loaded = loader.Load(); @@ -169,11 +169,11 @@ TEST(TargetTestIncludeDirGroup, TargetBuildIncludeDir) { include_compile.AddSource(INCLUDE_HEADER_SOURCE); include_compile.AddIncludeDir(RELATIVE_INCLUDE_DIR); - buildcc::base::m::TargetExpect_DirChanged(1, &include_compile); + buildcc::m::TargetExpect_DirChanged(1, &include_compile); buildcc::env::m::CommandExpect_Execute(2, true); buildcc::env::m::CommandExpect_Execute(1, true); include_compile.Build(); - buildcc::base::m::TargetRunner(include_compile); + buildcc::m::TargetRunner(include_compile); buildcc::internal::TargetLoader loader(NAME, intermediate_path); bool is_loaded = loader.Load(); @@ -226,7 +226,7 @@ TEST(TargetTestIncludeDirGroup, TargetBuildHeaderFile) { buildcc::env::m::CommandExpect_Execute(2, true); buildcc::env::m::CommandExpect_Execute(1, true); add_header.Build(); - buildcc::base::m::TargetRunner(add_header); + buildcc::m::TargetRunner(add_header); buildcc::internal::TargetLoader loader(NAME, intermediate_path); bool is_loaded = loader.Load(); @@ -245,11 +245,11 @@ TEST(TargetTestIncludeDirGroup, TargetBuildHeaderFile) { add_header.AddHeader(RELATIVE_HEADER_FILE); add_header.AddIncludeDir(RELATIVE_INCLUDE_DIR); - buildcc::base::m::TargetExpect_PathAdded(1, &add_header); + buildcc::m::TargetExpect_PathAdded(1, &add_header); buildcc::env::m::CommandExpect_Execute(2, true); buildcc::env::m::CommandExpect_Execute(1, true); add_header.Build(); - buildcc::base::m::TargetRunner(add_header); + buildcc::m::TargetRunner(add_header); buildcc::internal::TargetLoader loader(NAME, intermediate_path); bool is_loaded = loader.Load(); @@ -274,11 +274,11 @@ TEST(TargetTestIncludeDirGroup, TargetBuildHeaderFile) { add_header.AddHeader(RELATIVE_HEADER_FILE); add_header.AddIncludeDir(RELATIVE_INCLUDE_DIR); - buildcc::base::m::TargetExpect_PathUpdated(1, &add_header); + buildcc::m::TargetExpect_PathUpdated(1, &add_header); buildcc::env::m::CommandExpect_Execute(2, true); buildcc::env::m::CommandExpect_Execute(1, true); add_header.Build(); - buildcc::base::m::TargetRunner(add_header); + buildcc::m::TargetRunner(add_header); buildcc::internal::TargetLoader loader(NAME, intermediate_path); bool is_loaded = loader.Load(); @@ -296,11 +296,11 @@ TEST(TargetTestIncludeDirGroup, TargetBuildHeaderFile) { add_header.AddSource(INCLUDE_HEADER_SOURCE); add_header.AddIncludeDir(RELATIVE_INCLUDE_DIR); - buildcc::base::m::TargetExpect_PathRemoved(1, &add_header); + buildcc::m::TargetExpect_PathRemoved(1, &add_header); buildcc::env::m::CommandExpect_Execute(2, true); buildcc::env::m::CommandExpect_Execute(1, true); add_header.Build(); - buildcc::base::m::TargetRunner(add_header); + buildcc::m::TargetRunner(add_header); buildcc::internal::TargetLoader loader(NAME, intermediate_path); bool is_loaded = loader.Load(); diff --git a/buildcc/lib/target/test/target/test_target_lib_dep.cpp b/buildcc/lib/target/test/target/test_target_lib_dep.cpp index 3c1441fd..4d2cf140 100644 --- a/buildcc/lib/target/test/target/test_target_lib_dep.cpp +++ b/buildcc/lib/target/test/target/test_target_lib_dep.cpp @@ -49,7 +49,7 @@ TEST(TargetTestLibDep, StaticLibrary_SimpleBuildTest) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); foolib.Build(); - buildcc::base::m::TargetRunner(foolib); + buildcc::m::TargetRunner(foolib); mock().checkExpectations(); @@ -79,7 +79,7 @@ TEST(TargetTestLibDep, TargetDep_RebuildTest) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); foolib.Build(); - buildcc::base::m::TargetRunner(foolib); + buildcc::m::TargetRunner(foolib); buildcc::env::save_file(foolib.GetTargetPath().string().c_str(), std::string{""}, false); @@ -93,7 +93,7 @@ TEST(TargetTestLibDep, TargetDep_RebuildTest) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); exe_target.Build(); - buildcc::base::m::TargetRunner(exe_target); + buildcc::m::TargetRunner(exe_target); } { @@ -102,7 +102,7 @@ TEST(TargetTestLibDep, TargetDep_RebuildTest) { foolib.AddSource("foo/foo.cpp"); foolib.AddIncludeDir("foo"); foolib.Build(); - buildcc::base::m::TargetRunner(foolib); + buildcc::m::TargetRunner(foolib); CHECK_FALSE(foolib.IsBuilt()); // Executable for static @@ -112,7 +112,7 @@ TEST(TargetTestLibDep, TargetDep_RebuildTest) { exe_target.AddIncludeDir("foo"); exe_target.AddLibDep(foolib); exe_target.Build(); - buildcc::base::m::TargetRunner(exe_target); + buildcc::m::TargetRunner(exe_target); CHECK_FALSE(exe_target.IsBuilt()); } @@ -134,7 +134,7 @@ TEST(TargetTestLibDep, TargetDep_AddRemoveTest) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); foolib.Build(); - buildcc::base::m::TargetRunner(foolib); + buildcc::m::TargetRunner(foolib); buildcc::env::save_file(foolib.GetTargetPath().string().c_str(), std::string{""}, false); @@ -150,7 +150,7 @@ TEST(TargetTestLibDep, TargetDep_AddRemoveTest) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); exe_target.Build(); - buildcc::base::m::TargetRunner(exe_target); + buildcc::m::TargetRunner(exe_target); } // * Add new library @@ -162,10 +162,10 @@ TEST(TargetTestLibDep, TargetDep_AddRemoveTest) { exe_target.AddIncludeDir("foo"); exe_target.AddLibDep(foolib); - buildcc::base::m::TargetExpect_PathAdded(1, &exe_target); + buildcc::m::TargetExpect_PathAdded(1, &exe_target); buildcc::env::m::CommandExpect_Execute(1, true); exe_target.Build(); - buildcc::base::m::TargetRunner(exe_target); + buildcc::m::TargetRunner(exe_target); } // * Remove library @@ -175,10 +175,10 @@ TEST(TargetTestLibDep, TargetDep_AddRemoveTest) { exe_target.AddSource("empty_main.cpp"); exe_target.AddIncludeDir("foo"); - buildcc::base::m::TargetExpect_PathRemoved(1, &exe_target); + buildcc::m::TargetExpect_PathRemoved(1, &exe_target); buildcc::env::m::CommandExpect_Execute(1, true); exe_target.Build(); - buildcc::base::m::TargetRunner(exe_target); + buildcc::m::TargetRunner(exe_target); } mock().checkExpectations(); @@ -201,7 +201,7 @@ TEST(TargetTestLibDep, TargetDep_UpdateExistingLibraryTest) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); foolib.Build(); - buildcc::base::m::TargetRunner(foolib); + buildcc::m::TargetRunner(foolib); bool saved = buildcc::env::save_file( foolib.GetTargetPath().string().c_str(), std::string{""}, false); @@ -216,7 +216,7 @@ TEST(TargetTestLibDep, TargetDep_UpdateExistingLibraryTest) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); exe_target.Build(); - buildcc::base::m::TargetRunner(exe_target); + buildcc::m::TargetRunner(exe_target); } // * Update static library @@ -227,11 +227,11 @@ TEST(TargetTestLibDep, TargetDep_UpdateExistingLibraryTest) { foolib.AddIncludeDir("foo"); foolib.AddIncludeDir(""); - buildcc::base::m::TargetExpect_DirChanged(1, &foolib); + buildcc::m::TargetExpect_DirChanged(1, &foolib); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); foolib.Build(); - buildcc::base::m::TargetRunner(foolib); + buildcc::m::TargetRunner(foolib); // * To make sure that save_file is newer sleep(1); @@ -245,10 +245,10 @@ TEST(TargetTestLibDep, TargetDep_UpdateExistingLibraryTest) { exe_target.AddIncludeDir("foo"); exe_target.AddLibDep(foolib); - buildcc::base::m::TargetExpect_PathUpdated(1, &exe_target); + buildcc::m::TargetExpect_PathUpdated(1, &exe_target); buildcc::env::m::CommandExpect_Execute(1, true); exe_target.Build(); - buildcc::base::m::TargetRunner(exe_target); + buildcc::m::TargetRunner(exe_target); } mock().checkExpectations(); diff --git a/buildcc/lib/target/test/target/test_target_lock.cpp b/buildcc/lib/target/test/target/test_target_lock.cpp index 08a16dd6..944e5b10 100644 --- a/buildcc/lib/target/test/target/test_target_lock.cpp +++ b/buildcc/lib/target/test/target/test_target_lock.cpp @@ -36,7 +36,7 @@ TEST(TargetTestLock, LockState) { buildcc::env::m::CommandExpect_Execute(1, true); exe.Build(); - buildcc::base::m::TargetRunner(exe); + buildcc::m::TargetRunner(exe); CHECK_TRUE(exe.IsLocked()); @@ -49,7 +49,7 @@ TEST(TargetTestLock, Lock_Build) { buildcc::env::m::CommandExpect_Execute(1, true); exe.Build(); - buildcc::base::m::TargetRunner(exe); + buildcc::m::TargetRunner(exe); CHECK_THROWS(std::exception, exe.Build()); @@ -62,7 +62,7 @@ TEST(TargetTestLock, Lock_APIs) { buildcc::env::m::CommandExpect_Execute(1, true); exe.Build(); - buildcc::base::m::TargetRunner(exe); + buildcc::m::TargetRunner(exe); mock().checkExpectations(); @@ -106,7 +106,7 @@ TEST(TargetTestLock, Unlock_APIs) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); exe.Build(); - buildcc::base::m::TargetRunner(exe); + buildcc::m::TargetRunner(exe); mock().checkExpectations(); exe.GetCompileCommand(exe.GetTargetRootDir() / "dummy_main.c"); diff --git a/buildcc/lib/target/test/target/test_target_pch.cpp b/buildcc/lib/target/test/target/test_target_pch.cpp index c752c2f1..4ce19edf 100644 --- a/buildcc/lib/target/test/target/test_target_pch.cpp +++ b/buildcc/lib/target/test/target/test_target_pch.cpp @@ -52,7 +52,7 @@ TEST(TargetPchTestGroup, Target_AddPch_Build) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); bool exists = fs::exists(target.GetPchHeaderPath()); CHECK_TRUE(exists); @@ -77,7 +77,7 @@ TEST(TargetPchTestGroup, Target_AddPch_Rebuild) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); bool exists = fs::exists(target.GetPchHeaderPath()); CHECK_TRUE(exists); } @@ -90,7 +90,7 @@ TEST(TargetPchTestGroup, Target_AddPch_Rebuild) { target.AddPch("pch/pch_header_2.h"); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); bool exists = fs::exists(target.GetPchHeaderPath()); CHECK_TRUE(exists); } @@ -101,11 +101,11 @@ TEST(TargetPchTestGroup, Target_AddPch_Rebuild) { "data"); target.AddPch("pch/pch_header_1.h"); - buildcc::base::m::TargetExpect_PathRemoved(1, &target); + buildcc::m::TargetExpect_PathRemoved(1, &target); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); bool exists = fs::exists(target.GetPchHeaderPath()); CHECK_TRUE(exists); } @@ -117,11 +117,11 @@ TEST(TargetPchTestGroup, Target_AddPch_Rebuild) { target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); - buildcc::base::m::TargetExpect_PathAdded(1, &target); + buildcc::m::TargetExpect_PathAdded(1, &target); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); bool exists = fs::exists(target.GetPchHeaderPath()); CHECK_TRUE(exists); } @@ -139,11 +139,11 @@ TEST(TargetPchTestGroup, Target_AddPch_Rebuild) { target.AddPch("pch/pch_header_1.h"); target.AddPch("pch/pch_header_2.h"); - buildcc::base::m::TargetExpect_PathUpdated(1, &target); + buildcc::m::TargetExpect_PathUpdated(1, &target); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); bool exists = fs::exists(target.GetPchHeaderPath()); CHECK_TRUE(exists); } @@ -165,7 +165,7 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); bool exists = fs::exists(target.GetPchHeaderPath()); CHECK_TRUE(exists); } @@ -179,7 +179,7 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { target.AddSource("dummy_main.cpp"); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); bool exists = fs::exists(target.GetPchHeaderPath()); CHECK_TRUE(exists); } @@ -191,12 +191,12 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { target.AddPch("pch/pch_header_1.h"); target.AddSource("dummy_main.cpp"); - buildcc::base::m::TargetExpect_PathRemoved(1, &target); + buildcc::m::TargetExpect_PathRemoved(1, &target); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); bool exists = fs::exists(target.GetPchHeaderPath()); CHECK_TRUE(exists); } @@ -209,12 +209,12 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { target.AddPch("pch/pch_header_2.h"); target.AddSource("dummy_main.cpp"); - buildcc::base::m::TargetExpect_PathAdded(1, &target); + buildcc::m::TargetExpect_PathAdded(1, &target); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); bool exists = fs::exists(target.GetPchHeaderPath()); CHECK_TRUE(exists); } @@ -233,12 +233,12 @@ TEST(TargetPchTestGroup, Target_AddPch_CppRebuild) { target.AddPch("pch/pch_header_2.h"); target.AddSource("dummy_main.cpp"); - buildcc::base::m::TargetExpect_PathUpdated(1, &target); + buildcc::m::TargetExpect_PathUpdated(1, &target); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); bool exists = fs::exists(target.GetPchHeaderPath()); CHECK_TRUE(exists); } @@ -258,7 +258,7 @@ TEST(TargetPchTestGroup, Target_AddPchCompileFlag_Build) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); bool exists = fs::exists(target.GetPchHeaderPath()); CHECK_TRUE(exists); CHECK_EQUAL(target.GetPchCompileFlags().size(), 1); @@ -278,7 +278,7 @@ TEST(TargetPchTestGroup, Target_AddPchObjectFlag_Build) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); target.Build(); - buildcc::base::m::TargetRunner(target); + buildcc::m::TargetRunner(target); bool exists = fs::exists(target.GetPchHeaderPath()); CHECK_TRUE(exists); CHECK_EQUAL(target.GetPchObjectFlags().size(), 1); diff --git a/buildcc/lib/target/test/target/test_target_source.cpp b/buildcc/lib/target/test/target/test_target_source.cpp index 499a4909..c68f6ea4 100644 --- a/buildcc/lib/target/test/target/test_target_source.cpp +++ b/buildcc/lib/target/test/target/test_target_source.cpp @@ -38,7 +38,7 @@ TEST(TargetTestSourceGroup, Target_SourceTypes) { constexpr const char *const NAME = "SourceTypes.exe"; auto intermediate_path = target_source_intermediate_path / NAME; buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + "data"); simple.AddSource("fileext/c_file.c"); simple.AddSource("fileext/cpp_file1.cpp"); @@ -66,7 +66,7 @@ TEST(TargetTestSourceGroup, Target_AddSource) { fs::remove_all(intermediate_path); buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + "data"); simple.AddSource(DUMMY_MAIN); } @@ -78,7 +78,7 @@ TEST(TargetTestSourceGroup, Target_GlobSource) { fs::remove_all(intermediate_path); buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + "data"); simple.GlobSources(""); CHECK_EQUAL(simple.GetSourceFiles().size(), 6); } @@ -94,14 +94,14 @@ TEST(TargetTestSourceGroup, Target_Build_SourceCompile) { fs::remove_all(intermediate_path); buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + "data"); simple.AddSource(DUMMY_MAIN); simple.Build(); buildcc::env::m::CommandExpect_Execute(1, true); // compile buildcc::env::m::CommandExpect_Execute(1, true); // link - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); CHECK(simple.GetTaskState() == buildcc::env::TaskState::SUCCESS); @@ -138,7 +138,7 @@ TEST(TargetTestSourceGroup, Target_Build_SourceRecompile) { { buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + "data"); // * Test C compile simple.AddSource(DUMMY_MAIN_C); @@ -148,7 +148,7 @@ TEST(TargetTestSourceGroup, Target_Build_SourceRecompile) { buildcc::env::m::CommandExpect_Execute(1, true); // compile buildcc::env::m::CommandExpect_Execute(1, true); // link simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); buildcc::internal::TargetLoader loader(NAME, intermediate_path); bool is_loaded = loader.Load(); @@ -162,24 +162,24 @@ TEST(TargetTestSourceGroup, Target_Build_SourceRecompile) { } { buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + "data"); // * Remove C source // * Add CPP source simple.AddSource(DUMMY_MAIN_CPP); simple.AddSource(NEW_SOURCE); - buildcc::base::m::TargetExpect_SourceRemoved(1, &simple); + buildcc::m::TargetExpect_SourceRemoved(1, &simple); // Added and compiled buildcc::env::m::CommandExpect_Execute(1, true); - buildcc::base::m::TargetExpect_SourceAdded(1, &simple); + buildcc::m::TargetExpect_SourceAdded(1, &simple); // Rebuild target buildcc::env::m::CommandExpect_Execute(1, true); // Run the second Build to test Recompile simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); buildcc::internal::TargetLoader loader(NAME, intermediate_path); bool is_loaded = loader.Load(); @@ -199,17 +199,17 @@ TEST(TargetTestSourceGroup, Target_Build_SourceRecompile) { buildcc::env::save_file(file_path.string().c_str(), std::string{""}, false); buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + "data"); simple.AddSource(DUMMY_MAIN_CPP); simple.AddSource(NEW_SOURCE); // Run the second Build to test Recompile buildcc::env::m::CommandExpect_Execute(1, true); - buildcc::base::m::TargetExpect_SourceUpdated(1, &simple); + buildcc::m::TargetExpect_SourceUpdated(1, &simple); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); buildcc::internal::TargetLoader loader(NAME, intermediate_path); bool is_loaded = loader.Load(); @@ -232,7 +232,7 @@ TEST(TargetTestSourceGroup, Target_CompileCommand_Throws) { fs::remove_all(intermediate_path); { buildcc::BaseTarget simple(NAME, buildcc::TargetType::Executable, gcc, - "data"); + "data"); simple.AddSource("dummy_main.c"); auto p = simple.GetTargetRootDir() / "dummy_main.c"; diff --git a/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp b/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp index 4d52230a..e2155224 100644 --- a/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp +++ b/buildcc/lib/target/test/target/test_target_source_out_of_root.cpp @@ -44,7 +44,7 @@ TEST(TargetTestSourceOutOfRootGroup, Add_OutOfRootSource) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); } TEST(TargetTestSourceOutOfRootGroup, Glob_OutOfRootSource) { @@ -61,7 +61,7 @@ TEST(TargetTestSourceOutOfRootGroup, Glob_OutOfRootSource) { buildcc::env::m::CommandExpect_Execute(6, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); } mock().checkExpectations(); @@ -79,7 +79,7 @@ TEST(TargetTestSourceOutOfRootGroup, GlobAbsolute_OutOfRootSource) { buildcc::env::m::CommandExpect_Execute(6, true); buildcc::env::m::CommandExpect_Execute(1, true); simple.Build(); - buildcc::base::m::TargetRunner(simple); + buildcc::m::TargetRunner(simple); } mock().checkExpectations(); } diff --git a/buildcc/lib/target/test/target/test_target_user_deps.cpp b/buildcc/lib/target/test/target/test_target_user_deps.cpp index 3650b21e..a6410a9a 100644 --- a/buildcc/lib/target/test/target/test_target_user_deps.cpp +++ b/buildcc/lib/target/test/target/test_target_user_deps.cpp @@ -44,7 +44,7 @@ TEST(TargetTestUserDepsGroup, Target_Build_CompileDeps_NoChange) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); compileDep.Build(); - buildcc::base::m::TargetRunner(compileDep); + buildcc::m::TargetRunner(compileDep); mock().checkExpectations(); } @@ -59,7 +59,7 @@ TEST(TargetTestUserDepsGroup, Target_Build_LinkDeps_NoChange) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); linkDep.Build(); - buildcc::base::m::TargetRunner(linkDep); + buildcc::m::TargetRunner(linkDep); mock().checkExpectations(); } @@ -75,7 +75,7 @@ TEST(TargetTestUserDepsGroup, Target_Build_CompileDeps_Rebuild) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); compileDep.Build(); - buildcc::base::m::TargetRunner(compileDep); + buildcc::m::TargetRunner(compileDep); } { @@ -93,11 +93,11 @@ TEST(TargetTestUserDepsGroup, Target_Build_CompileDeps_Rebuild) { compileDep.AddSource("dummy_main.cpp"); compileDep.AddCompileDependency("new_source.cpp"); - buildcc::base::m::TargetExpect_PathUpdated(1, &compileDep); + buildcc::m::TargetExpect_PathUpdated(1, &compileDep); buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); compileDep.Build(); - buildcc::base::m::TargetRunner(compileDep); + buildcc::m::TargetRunner(compileDep); } mock().checkExpectations(); @@ -114,7 +114,7 @@ TEST(TargetTestUserDepsGroup, Target_Build_LinkDeps_Rebuild) { buildcc::env::m::CommandExpect_Execute(1, true); buildcc::env::m::CommandExpect_Execute(1, true); linkDep.Build(); - buildcc::base::m::TargetRunner(linkDep); + buildcc::m::TargetRunner(linkDep); } { @@ -132,10 +132,10 @@ TEST(TargetTestUserDepsGroup, Target_Build_LinkDeps_Rebuild) { linkDep.AddSource("dummy_main.cpp"); linkDep.AddLinkDependency("new_source.cpp"); - buildcc::base::m::TargetExpect_PathUpdated(1, &linkDep); // Only link + buildcc::m::TargetExpect_PathUpdated(1, &linkDep); // Only link buildcc::env::m::CommandExpect_Execute(1, true); linkDep.Build(); - buildcc::base::m::TargetRunner(linkDep); + buildcc::m::TargetRunner(linkDep); } mock().checkExpectations(); diff --git a/buildcc/plugins/include/plugins/clang_compile_commands.h b/buildcc/plugins/include/plugins/clang_compile_commands.h index 274fcd66..9bfb32ee 100644 --- a/buildcc/plugins/include/plugins/clang_compile_commands.h +++ b/buildcc/plugins/include/plugins/clang_compile_commands.h @@ -23,14 +23,14 @@ namespace buildcc::plugin { class ClangCompileCommands { public: - explicit ClangCompileCommands(std::vector &&targets) + explicit ClangCompileCommands(std::vector &&targets) : targets_(targets) {} ClangCompileCommands(const ClangCompileCommands &compile_commands) = delete; /** * @brief Add non-null targets */ - void AddTarget(const base::Target *target); + void AddTarget(const BaseTarget *target); /** * @brief Generate clang compile commands file in `env::get_project_build_dir` @@ -39,7 +39,7 @@ class ClangCompileCommands { void Generate(); private: - std::vector targets_; + std::vector targets_; }; } // namespace buildcc::plugin diff --git a/buildcc/plugins/src/clang_compile_commands.cpp b/buildcc/plugins/src/clang_compile_commands.cpp index 52402b09..6596843d 100644 --- a/buildcc/plugins/src/clang_compile_commands.cpp +++ b/buildcc/plugins/src/clang_compile_commands.cpp @@ -40,7 +40,7 @@ R"({{ namespace buildcc::plugin { -void ClangCompileCommands::AddTarget(const base::Target *target) { +void ClangCompileCommands::AddTarget(const BaseTarget *target) { env::assert_fatal(target != nullptr, "Target should not be NULL"); targets_.push_back(target); } @@ -49,7 +49,7 @@ void ClangCompileCommands::Generate() { // Early terminate if rebuild is not required const bool regenerate = std::any_of(targets_.begin(), targets_.end(), - [](const base::Target *target) { return target->IsBuilt(); }); + [](const BaseTarget *target) { return target->IsBuilt(); }); if (!regenerate) { env::log_trace("ClangCompileCommands", "Generate -> false"); return; From 687d07a75369ba3dcdcb51ae8b3f7a3baa0ecbee Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Mon, 17 Jan 2022 22:55:38 -0800 Subject: [PATCH 15/40] Updated CompileObject, CompilePch and LinkTarget namespace from buildcc::base to buildcc::internal --- .../target/include/target/friend/compile_object.h | 4 ++-- .../lib/target/include/target/friend/compile_pch.h | 4 ++-- .../lib/target/include/target/friend/link_target.h | 4 ++-- buildcc/lib/target/include/target/target.h | 12 ++++++------ .../lib/target/src/target/friend/compile_object.cpp | 4 ++-- buildcc/lib/target/src/target/friend/compile_pch.cpp | 4 ++-- buildcc/lib/target/src/target/friend/link_target.cpp | 4 ++-- buildcc/lib/target/src/target/tasks.cpp | 4 ++-- .../lib/target/test/target/test_compile_object.cpp | 2 +- 9 files changed, 21 insertions(+), 21 deletions(-) diff --git a/buildcc/lib/target/include/target/friend/compile_object.h b/buildcc/lib/target/include/target/friend/compile_object.h index 3ebf5618..f99c154e 100644 --- a/buildcc/lib/target/include/target/friend/compile_object.h +++ b/buildcc/lib/target/include/target/friend/compile_object.h @@ -32,7 +32,7 @@ class Target; } -namespace buildcc::base { +namespace buildcc::internal { class CompileObject { @@ -80,6 +80,6 @@ class CompileObject { tf::Task compile_task_; }; -} // namespace buildcc::base +} // namespace buildcc::internal #endif diff --git a/buildcc/lib/target/include/target/friend/compile_pch.h b/buildcc/lib/target/include/target/friend/compile_pch.h index 6327caac..dc4fb3a1 100644 --- a/buildcc/lib/target/include/target/friend/compile_pch.h +++ b/buildcc/lib/target/include/target/friend/compile_pch.h @@ -30,7 +30,7 @@ class Target; } -namespace buildcc::base { +namespace buildcc::internal { class CompilePch { public: @@ -84,6 +84,6 @@ class CompilePch { tf::Task task_; }; -} // namespace buildcc::base +} // namespace buildcc::internal #endif diff --git a/buildcc/lib/target/include/target/friend/link_target.h b/buildcc/lib/target/include/target/friend/link_target.h index 4fed40f6..fd39f082 100644 --- a/buildcc/lib/target/include/target/friend/link_target.h +++ b/buildcc/lib/target/include/target/friend/link_target.h @@ -30,7 +30,7 @@ class Target; } -namespace buildcc::base { +namespace buildcc::internal { class LinkTarget { public: @@ -58,6 +58,6 @@ class LinkTarget { tf::Task task_; }; -} // namespace buildcc::base +} // namespace buildcc::internal #endif diff --git a/buildcc/lib/target/include/target/target.h b/buildcc/lib/target/include/target/target.h index c61acdb1..411cc2c3 100644 --- a/buildcc/lib/target/include/target/target.h +++ b/buildcc/lib/target/include/target/target.h @@ -89,9 +89,9 @@ class Target : public internal::BuilderInterface, env::TaskState GetTaskState() const noexcept { return task_state_; } private: - friend class base::CompilePch; - friend class base::CompileObject; - friend class base::LinkTarget; + friend class internal::CompilePch; + friend class internal::CompileObject; + friend class internal::LinkTarget; friend class TargetGetter; @@ -146,9 +146,9 @@ class Target : public internal::BuilderInterface, internal::TargetLoader loader_; // Friend classes - base::CompilePch compile_pch_; - base::CompileObject compile_object_; - base::LinkTarget link_target_; + internal::CompilePch compile_pch_; + internal::CompileObject compile_object_; + internal::LinkTarget link_target_; // Task states tf::Task target_start_task_; diff --git a/buildcc/lib/target/src/target/friend/compile_object.cpp b/buildcc/lib/target/src/target/friend/compile_object.cpp index fac6062d..a2c418f7 100644 --- a/buildcc/lib/target/src/target/friend/compile_object.cpp +++ b/buildcc/lib/target/src/target/friend/compile_object.cpp @@ -27,7 +27,7 @@ constexpr const char *const kInput = "input"; } // namespace -namespace buildcc::base { +namespace buildcc::internal { void CompileObject::AddObjectData(const fs::path &absolute_source_path) { const fs::path absolute_object_path = @@ -266,4 +266,4 @@ void CompileObject::RecompileSources( } } -} // namespace buildcc::base +} // namespace buildcc::internal diff --git a/buildcc/lib/target/src/target/friend/compile_pch.cpp b/buildcc/lib/target/src/target/friend/compile_pch.cpp index aa0688c9..2d4057ba 100644 --- a/buildcc/lib/target/src/target/friend/compile_pch.cpp +++ b/buildcc/lib/target/src/target/friend/compile_pch.cpp @@ -59,7 +59,7 @@ void AggregateToFile(const fs::path &filename, } // namespace -namespace buildcc::base { +namespace buildcc::internal { // PUBLIC @@ -163,4 +163,4 @@ void CompilePch::PreCompile() { target_.storer_.current_pch_files.Convert(); } -} // namespace buildcc::base +} // namespace buildcc::internal diff --git a/buildcc/lib/target/src/target/friend/link_target.cpp b/buildcc/lib/target/src/target/friend/link_target.cpp index 31ea50a3..42b4208d 100644 --- a/buildcc/lib/target/src/target/friend/link_target.cpp +++ b/buildcc/lib/target/src/target/friend/link_target.cpp @@ -24,7 +24,7 @@ constexpr const char *const kCompiledSources = "compiled_sources"; constexpr const char *const kLibDeps = "lib_deps"; } // namespace -namespace buildcc::base { +namespace buildcc::internal { // PUBLIC @@ -105,4 +105,4 @@ void LinkTarget::BuildLink() { } } -} // namespace buildcc::base +} // namespace buildcc::internal diff --git a/buildcc/lib/target/src/target/tasks.cpp b/buildcc/lib/target/src/target/tasks.cpp index 082f0ad6..772d31e9 100644 --- a/buildcc/lib/target/src/target/tasks.cpp +++ b/buildcc/lib/target/src/target/tasks.cpp @@ -70,7 +70,7 @@ void Target::StartTask() { } // namespace buildcc -namespace buildcc::base { +namespace buildcc::internal { // 1. User adds/removes/updates pch_headers // 2. `BuildCompile` aggregates pch_headers to a single `buildcc_header` and @@ -169,7 +169,7 @@ void LinkTarget::Task() { task_.name(kLinkTaskName); } -} // namespace buildcc::base +} // namespace buildcc::internal namespace buildcc { diff --git a/buildcc/lib/target/test/target/test_compile_object.cpp b/buildcc/lib/target/test/target/test_compile_object.cpp index 9b992051..0284b395 100644 --- a/buildcc/lib/target/test/target/test_compile_object.cpp +++ b/buildcc/lib/target/test/target/test_compile_object.cpp @@ -21,7 +21,7 @@ static buildcc::Toolchain gcc(buildcc::Toolchain::Id::Gcc, "gcc", "as", "gcc", TEST(TargetCompileObjectTestGroup, CacheCompileCommand_Invalid) { buildcc::BaseTarget target("CacheCompileCommand_Invalid", buildcc::TargetType::Executable, gcc, "data"); - buildcc::base::CompileObject object(target); + buildcc::internal::CompileObject object(target); object.AddObjectData("random.invalid"); From b0b6654d6e000e4512783b921f56c4e693022b0a Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Mon, 17 Jan 2022 22:58:35 -0800 Subject: [PATCH 16/40] Minor naming updates --- buildcc/lib/target/include/target/generator.h | 6 ------ buildcc/lib/target/include/target/target.h | 2 +- buildcc/lib/target/include/target/target_info.h | 2 +- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/buildcc/lib/target/include/target/generator.h b/buildcc/lib/target/include/target/generator.h index 8d330a7c..f829b7e1 100644 --- a/buildcc/lib/target/include/target/generator.h +++ b/buildcc/lib/target/include/target/generator.h @@ -147,10 +147,4 @@ typedef Generator BaseGenerator; } // namespace buildcc -// namespace buildcc { - -// typedef base::Generator BaseGenerator; - -// } - #endif diff --git a/buildcc/lib/target/include/target/target.h b/buildcc/lib/target/include/target/target.h index 411cc2c3..efc65760 100644 --- a/buildcc/lib/target/include/target/target.h +++ b/buildcc/lib/target/include/target/target.h @@ -60,7 +60,7 @@ namespace buildcc { -// NOTE, base::Target is meant to be a blank slate which can be customized by +// NOTE, BaseTarget is meant to be a blank slate which can be customized by // the specialized target-toolchain classes class Target : public internal::BuilderInterface, public TargetInfo, diff --git a/buildcc/lib/target/include/target/target_info.h b/buildcc/lib/target/include/target/target_info.h index c75c358a..76dcc38a 100644 --- a/buildcc/lib/target/include/target/target_info.h +++ b/buildcc/lib/target/include/target/target_info.h @@ -37,7 +37,7 @@ namespace buildcc { -// NOTE: base::Target info is meant to hold information that is common to +// NOTE: BaseTarget info is meant to hold information that is common to // multiple targets // It is also meant to be used in situations where we do not need to build // For example: Header only targets From 0301d50dddb9749ee87c7b66f11d8c56ec513be8 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Mon, 17 Jan 2022 23:28:08 -0800 Subject: [PATCH 17/40] Updated toolchain documentation --- .../include/toolchain/api/toolchain_verify.h | 40 ++++++++++++++----- .../toolchain/include/toolchain/toolchain.h | 12 +++--- docs/source/user_api/toolchain.rst | 23 ++++++++++- 3 files changed, 57 insertions(+), 18 deletions(-) diff --git a/buildcc/lib/toolchain/include/toolchain/api/toolchain_verify.h b/buildcc/lib/toolchain/include/toolchain/api/toolchain_verify.h index 66fc48b1..a22277da 100644 --- a/buildcc/lib/toolchain/include/toolchain/api/toolchain_verify.h +++ b/buildcc/lib/toolchain/include/toolchain/api/toolchain_verify.h @@ -30,15 +30,33 @@ namespace fs = std::filesystem; namespace buildcc { /** + * @brief Configure the behaviour of Toolchain::Verify API. By default searches + * the directories mentioned in the ENV{PATH} variable to find the toolchain. * @param absolute_search_paths absolute_search_paths expect directories that * are iterated for exact toolchain matches * @param env_vars env_vars contain paths that are seperated by OS delimiter. * These are converted to paths and searched similarly to absolute_search_paths - * NOTE: env_vars must contain single absolute paths or multiple absolute paths - * seperated by OS delimiter - * - * Example: [Windows] "absolute_path_1;absolute_path_2;..." - * Example: [Linux] "absolute_path_1:absolute_path_2:..." + *
+ * NOTE: env_vars must contain single absolute paths or multiple absolute + * paths seperated by OS delimiter
+ * Example: [Windows] "absolute_path_1;absolute_path_2;..."
+ * Example: [Linux] "absolute_path_1:absolute_path_2:..."
+ * @param compiler_version Optionally supply a compiler version if multiple + * toolchains of the same family/id are installed
+ * Example: [GCC/MinGW/Clang] {compiler} -dumpversion
+ * Example: [MSVC] getenv(VSCMD_VER)
+ * For [MSVC] make sure to use `vcvarsall.bat {flavour}` to activate your + * toolchain + * @param target_arch Optionally supply a target architecture if multiple + * toolchains of the same family/id are installed but target different platforms + *
+ * Example: [GCC/MinGW/Clang] {compiler} -dumpmachine
+ * Example: [MSVC] getenv(VSCMD_ARG_HOST_ARCH) + + * getenv(VSCMD_ARG_TGT_ARCH)
+ * For [MSVC] make sure to use `vcvarsall.bat {flavour}` to activate your + * toolchain + * @param update Updates the toolchain with absolute paths once verified
+ * If multiple toolchains are found, uses the first in the list */ struct VerifyToolchainConfig { std::vector absolute_search_paths; @@ -47,21 +65,21 @@ struct VerifyToolchainConfig { std::optional compiler_version; std::optional target_arch; - // Updates the toolchain with absolute paths once verified - // If multiple toolchains are found, uses the first in the list bool update{true}; }; /** - * @param path - * @param compiler_version - * @param target_arch + * @brief Verified Toolchain information + * @param path Absolute host path where ALL the toolchain executables are found + *
+ * NOTE: All the Toolchain executables must be found in a single folder.
+ * @param compiler_version Compiler version of the verified toolchain + * @param target_arch Target architecture of the verified toolchain */ struct VerifiedToolchain { fs::path path; std::string compiler_version; std::string target_arch; - // TODO, Add more here as needed std::string ToString() const { return fmt::format("{}", *this); } }; diff --git a/buildcc/lib/toolchain/include/toolchain/toolchain.h b/buildcc/lib/toolchain/include/toolchain/toolchain.h index 509a38cc..f46c3d41 100644 --- a/buildcc/lib/toolchain/include/toolchain/toolchain.h +++ b/buildcc/lib/toolchain/include/toolchain/toolchain.h @@ -29,12 +29,12 @@ namespace buildcc { class Toolchain : public ToolchainVerify { public: enum class Id { - Gcc = 0, - Msvc, - Clang, - MinGW, - Custom, - Undefined, + Gcc = 0, ///< GCC Toolchain + Msvc, ///< MSVC Toolchain + Clang, ///< Clang Toolchain + MinGW, ///< MinGW Toolchain (Similar to GCC, but for Windows) + Custom, ///< Custom Toolchain not defined in this list + Undefined, ///< Default value when unknown }; public: diff --git a/docs/source/user_api/toolchain.rst b/docs/source/user_api/toolchain.rst index 8cacdafa..1bf8f0ef 100644 --- a/docs/source/user_api/toolchain.rst +++ b/docs/source/user_api/toolchain.rst @@ -4,13 +4,34 @@ Toolchain toolchain.h ------------ +.. doxygenclass:: buildcc::Toolchain + +.. doxygentypedef:: ToolchainId + +.. doxygentypedef:: BaseToolchain + toolchain_verify.h ------------------ +.. doxygenclass:: buildcc::ToolchainVerify + +.. doxygenstruct:: buildcc::VerifyToolchainConfig + +.. doxygenstruct:: buildcc::VerifiedToolchain + +Example +-------- + +.. code-block:: cpp + + BaseToolchain custom_toolchain(ToolchainId::Custom, "custom_new_toolchain", "asm_compiler", "c_compiler", "cpp_compiler", "archiver", "linker"); + + std::vector verified_toolchains = custom_toolchain.Verify(); + env::assert_fatal(!verified_toolchains.empty(), "Toolchain not found"); + Specialized Toolchain ===================== - toolchain_gcc.h ---------------- From 0fb0907aefd489d1f2c378656ea4bccca842eea8 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Mon, 17 Jan 2022 23:39:10 -0800 Subject: [PATCH 18/40] Updated specialized toolchain documentation --- .../include/toolchains/toolchain_gcc.h | 10 +++++++ .../include/toolchains/toolchain_mingw.h | 10 +++++++ .../include/toolchains/toolchain_msvc.h | 10 +++++++ docs/source/user_api/toolchain.rst | 27 ++++++++++++++++++- 4 files changed, 56 insertions(+), 1 deletion(-) diff --git a/buildcc/toolchains/include/toolchains/toolchain_gcc.h b/buildcc/toolchains/include/toolchains/toolchain_gcc.h index b3e322a9..b7c490fb 100644 --- a/buildcc/toolchains/include/toolchains/toolchain_gcc.h +++ b/buildcc/toolchains/include/toolchains/toolchain_gcc.h @@ -21,6 +21,16 @@ namespace buildcc { +/** + * @brief Generic GCC Toolchain
+ * id = ToolchainId::Gcc
+ * name = "gcc"
+ * asm_compiler = "as"
+ * c_compiler = "gcc"
+ * cpp_compiler = "g++"
+ * archiver = "ar"
+ * linker = "ld"
+ */ class Toolchain_gcc : public Toolchain { public: Toolchain_gcc() diff --git a/buildcc/toolchains/include/toolchains/toolchain_mingw.h b/buildcc/toolchains/include/toolchains/toolchain_mingw.h index 22e0981f..44d4b09b 100644 --- a/buildcc/toolchains/include/toolchains/toolchain_mingw.h +++ b/buildcc/toolchains/include/toolchains/toolchain_mingw.h @@ -21,6 +21,16 @@ namespace buildcc { +/** + * @brief Generic MinGW Toolchain
+ * id = ToolchainId::MinGW
+ * name = "gcc"
+ * asm_compiler = "as"
+ * c_compiler = "gcc"
+ * cpp_compiler = "g++"
+ * archiver = "ar"
+ * linker = "ld"
+ */ class Toolchain_mingw : public BaseToolchain { public: Toolchain_mingw() diff --git a/buildcc/toolchains/include/toolchains/toolchain_msvc.h b/buildcc/toolchains/include/toolchains/toolchain_msvc.h index f4ddab8f..f74a479d 100644 --- a/buildcc/toolchains/include/toolchains/toolchain_msvc.h +++ b/buildcc/toolchains/include/toolchains/toolchain_msvc.h @@ -21,6 +21,16 @@ namespace buildcc { +/** + * @brief Generic GCC Toolchain
+ * id = ToolchainId::Msvc
+ * name = "msvc"
+ * asm_compiler = "cl"
+ * c_compiler = "cl"
+ * cpp_compiler = "cl"
+ * archiver = "lib"
+ * linker = "link"
+ */ class Toolchain_msvc : public Toolchain { public: Toolchain_msvc() diff --git a/docs/source/user_api/toolchain.rst b/docs/source/user_api/toolchain.rst index 1bf8f0ef..a3710106 100644 --- a/docs/source/user_api/toolchain.rst +++ b/docs/source/user_api/toolchain.rst @@ -23,7 +23,8 @@ Example -------- .. code-block:: cpp - + :linenos: + BaseToolchain custom_toolchain(ToolchainId::Custom, "custom_new_toolchain", "asm_compiler", "c_compiler", "cpp_compiler", "archiver", "linker"); std::vector verified_toolchains = custom_toolchain.Verify(); @@ -35,5 +36,29 @@ Specialized Toolchain toolchain_gcc.h ---------------- +.. doxygenclass:: buildcc::Toolchain_gcc + +toolchain_mingw.h +----------------- + +.. doxygenclass:: buildcc::Toolchain_mingw + toolchain_msvc.h ----------------- + +.. doxygenclass:: buildcc::Toolchain_msvc + +Example +-------- + +.. code-block:: cpp + :linenos: + + // Default GCC toolchain + Toolchain_gcc gcc; + + // Default MinGW toolchain + Toolchain_mingw mingw; + + // Default MSVC toolchain + Toolchain_msvc msvc; From a148ff52db75b2dba8ab1af2df8ab58be3ed6eed Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Mon, 17 Jan 2022 23:58:21 -0800 Subject: [PATCH 19/40] Updated generator documentation --- buildcc/lib/target/include/target/generator.h | 2 -- docs/source/user_api/generator.rst | 5 +++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/buildcc/lib/target/include/target/generator.h b/buildcc/lib/target/include/target/generator.h index f829b7e1..10077dc9 100644 --- a/buildcc/lib/target/include/target/generator.h +++ b/buildcc/lib/target/include/target/generator.h @@ -55,8 +55,6 @@ class Generator : public internal::BuilderInterface { * @brief Add default arguments for input, output and command requirements * * @param arguments Key-Value pair for arguments - * NOTE, Key must be a variable (lvalue) not a constant (rvalue) - * */ void AddDefaultArguments( const std::unordered_map &arguments); diff --git a/docs/source/user_api/generator.rst b/docs/source/user_api/generator.rst index 769b8271..25a035ee 100644 --- a/docs/source/user_api/generator.rst +++ b/docs/source/user_api/generator.rst @@ -3,3 +3,8 @@ Generator generator.h ----------- + +.. doxygenclass:: buildcc::Generator + :members: Generator, AddDefaultArguments, AddInput, AddOutput, AddCommand, GetBinaryPath, GetTaskflow, GetName, GetTaskState, GetValueByIdentifier + +.. doxygentypedef:: BaseGenerator From 6f595f9ca7c21fdbe0ccabe928bd9c169950436c Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Tue, 18 Jan 2022 19:27:10 -0800 Subject: [PATCH 20/40] Added target_utils --- .../target/include/target/common/target_env.h | 42 ++++++++++++++++--- docs/source/conf.py | 2 +- docs/source/user_api/target_utils.rst | 9 ++++ docs/source/user_api/toc.rst | 1 + 4 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 docs/source/user_api/target_utils.rst diff --git a/buildcc/lib/target/include/target/common/target_env.h b/buildcc/lib/target/include/target/common/target_env.h index 8040d7ae..e6f129e0 100644 --- a/buildcc/lib/target/include/target/common/target_env.h +++ b/buildcc/lib/target/include/target/common/target_env.h @@ -30,17 +30,47 @@ class TargetEnv { // * NOTE, This has only been added for implicit conversion // TODO, Make the constructors below explicit // TODO, Remove this constructor + + /** + * @brief Change the relative root path for a particular Generator / Target + * + * Absolute root now changes to + * `env::get_project_root_dir() / target_relative_to_env_root` + * + * Absolute build dir remains the same. + * + * Can be used implicitly + * + * @param target_relative_to_env_root Change root dir with respect to + * env::get_project_root_dir() + */ TargetEnv(const char *target_relative_to_env_root) - : target_root_dir_(env::get_project_root_dir() / - target_relative_to_env_root), - target_build_dir_(env::get_project_build_dir()), relative_(true) {} + : TargetEnv(fs::path(target_relative_to_env_root)) {} - TargetEnv(const fs::path &target_relative_to_env_root) + /** + * @brief Similar to `TargetEnv(const char *)` + * + * Only explicit usage allowed + * + * @param target_relative_to_env_root Change root dir with respect to + * env::get_project_root_dir() + */ + explicit TargetEnv(const fs::path &target_relative_to_env_root) : target_root_dir_(env::get_project_root_dir() / target_relative_to_env_root), target_build_dir_(env::get_project_build_dir()), relative_(true) {} - TargetEnv(const fs::path &absolute_target_root, - const fs::path &absolute_target_build) + + /** + * @brief Change the absolute root and build path for a particular Generator / + * Target + * + * @param absolute_target_root Absolute root directory for this target changes + * as per this parameter + * @param absolute_target_build Absolute build directory for this target + * changes as per this parameter + */ + explicit TargetEnv(const fs::path &absolute_target_root, + const fs::path &absolute_target_build) : target_root_dir_(absolute_target_root), target_build_dir_(absolute_target_build), relative_(false) {} diff --git a/docs/source/conf.py b/docs/source/conf.py index 00966281..883d8a9e 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -18,7 +18,7 @@ # -- Project information ----------------------------------------------------- project = 'BuildCC' -copyright = '2021, Niket Naidu' +copyright = '2021-2022, Niket Naidu' author = 'Niket Naidu' # The full version, including alpha/beta/rc tags diff --git a/docs/source/user_api/target_utils.rst b/docs/source/user_api/target_utils.rst new file mode 100644 index 00000000..47205ade --- /dev/null +++ b/docs/source/user_api/target_utils.rst @@ -0,0 +1,9 @@ +Target Utils +============= + +Commonly used Utils (Classes / Structs) for **Generator**, **TargetInfo** and **Target** classes. + +target_env.h +-------------- + +.. doxygenclass:: buildcc::TargetEnv diff --git a/docs/source/user_api/toc.rst b/docs/source/user_api/toc.rst index a9c70857..c149c8cd 100644 --- a/docs/source/user_api/toc.rst +++ b/docs/source/user_api/toc.rst @@ -7,6 +7,7 @@ User API args register toolchain + target_utils generator target supported_plugins From 8570f823d15bd4ac5aa19fce0342ce7cf9584f7f Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Tue, 18 Jan 2022 19:27:56 -0800 Subject: [PATCH 21/40] Updated generator.rst --- buildcc/lib/target/include/target/generator.h | 10 ++++-- docs/source/user_api/generator.rst | 36 ++++++++++++++++++- 2 files changed, 43 insertions(+), 3 deletions(-) diff --git a/buildcc/lib/target/include/target/generator.h b/buildcc/lib/target/include/target/generator.h index 10077dc9..0a9b463b 100644 --- a/buildcc/lib/target/include/target/generator.h +++ b/buildcc/lib/target/include/target/generator.h @@ -83,15 +83,21 @@ class Generator : public internal::BuilderInterface { /** * @brief Add a command_pattern that is fed to `Command::Execute` internally + * * NOTE: The order of all commands are maintained (`std::vector::push_back`) * - * If you would like to run the commands in parallel, set parallel == true in - * the constructor + * If you would like to run the commands in parallel, set `parallel == true` + * in the constructor */ void AddCommand( const std::string &command_pattern, const std::unordered_map &arguments = {}); + /** + * @brief Build Generator Tasks + * + * Use `GetTaskflow` for the registered tasks + */ void Build() override; // Getter diff --git a/docs/source/user_api/generator.rst b/docs/source/user_api/generator.rst index 25a035ee..9301e6a3 100644 --- a/docs/source/user_api/generator.rst +++ b/docs/source/user_api/generator.rst @@ -5,6 +5,40 @@ generator.h ----------- .. doxygenclass:: buildcc::Generator - :members: Generator, AddDefaultArguments, AddInput, AddOutput, AddCommand, GetBinaryPath, GetTaskflow, GetName, GetTaskState, GetValueByIdentifier .. doxygentypedef:: BaseGenerator + +Example +-------- + +.. code-block:: cpp + :linenos: + + // Example Setup + TargetEnv gen_env("gen_root", "gen_build"); + bool parallel{true}; + BaseGenerator generator("unique_name", gen_env, parallel); + // Adds absolute {gen_root_dir} and {gen_build_dir} paths to internal fmt::format + + // We can now do this + // {gen_root_dir}/my_generator.py -> {my_generator} + generator.AddInput("{gen_root_dir}/my_generator.py", "my_generator"); + + // {gen_build_dir}/my_generator.h -> {generated_header} + // {gen_build_dir}/my_generator.cpp -> {generated_source} + generator.AddOutput("{gen_build_dir}/generated.h", "generated_header"); + generator.AddOutput("{gen_build_dir}/generated.cpp", "generated_source"); + + // Example Commands + // NOTE: If `parallel==true`, both of these commands runs in parallel + // NOTE: If `parallel==false`, commands will run in the order that they are added. + generator.AddCommand("{my_generator} --generate header {generated_header}"); + generator.AddCommand("{my_generator} --generate source {generated_source}"); + + // Setup the tasks + generator.Build(); + + // Run the generator + tf::Executor executor; + executor.run(generator.GetTaskflow()); + executor.wait_for_all(); From ec5f7bcf7285627b360e95bf5d2c1c1c62fd2f7a Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Tue, 18 Jan 2022 21:37:02 -0800 Subject: [PATCH 22/40] Updated target_utils with TargetFileExt and TargetConfig --- .../lib/target/include/target/common/target_file_ext.h | 10 +++++----- docs/source/user_api/target_utils.rst | 10 ++++++++++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/buildcc/lib/target/include/target/common/target_file_ext.h b/buildcc/lib/target/include/target/common/target_file_ext.h index 9652e76c..bab96289 100644 --- a/buildcc/lib/target/include/target/common/target_file_ext.h +++ b/buildcc/lib/target/include/target/common/target_file_ext.h @@ -20,11 +20,11 @@ namespace buildcc { enum class TargetFileExt { - Asm, - C, - Cpp, - Header, - Invalid, + Asm, ///< Valid Assembly source extension + C, ///< Valid C source extension + Cpp, ///< Valid Cpp source extension + Header, ///< Valid Header extension + Invalid, ///< Not a valid C/C++ family extension }; } diff --git a/docs/source/user_api/target_utils.rst b/docs/source/user_api/target_utils.rst index 47205ade..c0bca4d6 100644 --- a/docs/source/user_api/target_utils.rst +++ b/docs/source/user_api/target_utils.rst @@ -7,3 +7,13 @@ target_env.h -------------- .. doxygenclass:: buildcc::TargetEnv + +target_file_ext.h +------------------ + +.. doxygenenum:: buildcc::TargetFileExt + +target_config.h +---------------- + +.. doxygenstruct:: buildcc::TargetConfig From ea9fa6779911387e7c6d9f69938cbb7f64ba62da Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Tue, 18 Jan 2022 21:37:11 -0800 Subject: [PATCH 23/40] Update target_config.h --- .../include/target/common/target_config.h | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/buildcc/lib/target/include/target/common/target_config.h b/buildcc/lib/target/include/target/common/target_config.h index dc506c6d..49e34810 100644 --- a/buildcc/lib/target/include/target/common/target_config.h +++ b/buildcc/lib/target/include/target/common/target_config.h @@ -28,8 +28,14 @@ namespace fs = std::filesystem; namespace buildcc { struct TargetConfig { - TargetConfig() {} + TargetConfig() = default; + /** + * @brief Get the File Ext object + * + * @param filepath + * @return TargetFileExt + */ TargetFileExt GetFileExt(const fs::path &filepath) const; bool IsValidSource(const fs::path &filepath) const; bool IsValidHeader(const fs::path &filepath) const; @@ -45,15 +51,11 @@ struct TargetConfig { std::string prefix_include_dir{"-I"}; std::string prefix_lib_dir{"-L"}; - std::string pch_command{"{compiler} {preprocessor_flags} {include_dirs} " - "{common_compile_flags} {pch_compile_flags} " - "{compile_flags} -o {output} -c {input}"}; - std::string compile_command{ - "{compiler} {preprocessor_flags} {include_dirs} {common_compile_flags} " - "{pch_object_flags} {compile_flags} -o {output} -c {input}"}; - std::string link_command{ - "{cpp_compiler} {link_flags} {compiled_sources} -o {output} " - "{lib_dirs} {lib_deps}"}; + // clang-format off + std::string pch_command{"{compiler} {preprocessor_flags} {include_dirs} {common_compile_flags} {pch_compile_flags} {compile_flags} -o {output} -c {input}"}; + std::string compile_command{"{compiler} {preprocessor_flags} {include_dirs} {common_compile_flags} {pch_object_flags} {compile_flags} -o {output} -c {input}"}; + std::string link_command{"{cpp_compiler} {link_flags} {compiled_sources} -o {output} {lib_dirs} {lib_deps}"}; + // clang-format on std::unordered_set valid_c_ext{".c"}; std::unordered_set valid_cpp_ext{".cpp", ".cxx", ".cc"}; From c35726c164b07bf81cf40a8b0d86a7d322aa9b23 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Tue, 18 Jan 2022 23:08:50 -0800 Subject: [PATCH 24/40] Updated environment APIs --- buildcc/lib/env/include/env/assert_throw.h | 3 ++- docs/source/user_api/environment.rst | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/buildcc/lib/env/include/env/assert_throw.h b/buildcc/lib/env/include/env/assert_throw.h index 1c58f089..b070f22e 100644 --- a/buildcc/lib/env/include/env/assert_throw.h +++ b/buildcc/lib/env/include/env/assert_throw.h @@ -26,7 +26,8 @@ namespace buildcc::env { /** * @brief Compile time expr asserts fatally when false */ -template inline void assert_throw(const char *message) { +template +inline void assert_throw([[maybe_unused]] const char *message) { if constexpr (!expr) { env::log_critical("assert", message); // TODO, If needed specialize this diff --git a/docs/source/user_api/environment.rst b/docs/source/user_api/environment.rst index 9b6457fe..febd2d4a 100644 --- a/docs/source/user_api/environment.rst +++ b/docs/source/user_api/environment.rst @@ -27,8 +27,28 @@ logging.h assert_fatal.h -------------- +.. doxygenfunction:: assert_fatal([[maybe_unused]] const char *) + +.. doxygenfunction:: assert_fatal(const std::string &) + +.. doxygenfunction:: assert_fatal(bool, const char *) + +.. doxygenfunction:: assert_fatal(bool, const std::string &) + +.. doxygendefine:: ASSERT_FATAL + assert_throw.h -------------- +.. doxygenfunction:: assert_throw([[maybe_unused]] const char *) + +.. doxygenfunction:: assert_throw(const std::string &) + +.. doxygenfunction:: assert_throw(bool, const char *) + +.. doxygenfunction:: assert_throw(bool, const std::string &) + +.. doxygendefine:: ASSERT_THROW + command.h --------- From 20b99d5284ae837aa2b57c6b290f2c041b8a3984 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Tue, 18 Jan 2022 23:09:01 -0800 Subject: [PATCH 25/40] Update target_config.h --- .../include/target/common/target_config.h | 38 +++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/buildcc/lib/target/include/target/common/target_config.h b/buildcc/lib/target/include/target/common/target_config.h index 49e34810..4dad6b2a 100644 --- a/buildcc/lib/target/include/target/common/target_config.h +++ b/buildcc/lib/target/include/target/common/target_config.h @@ -31,15 +31,47 @@ struct TargetConfig { TargetConfig() = default; /** - * @brief Get the File Ext object + * @brief Get the valid file extension from a path * - * @param filepath - * @return TargetFileExt + * See TargetConfig::valid_c_ext, TargetConfig::valid_cpp_ext, + * TargetConfig::valid_asm_ext, TargetConfig::valid_header_ext + * + * @param filepath Absolute / Relative path of the file + * @return TargetFileExt File path detected as per TargetConfig::valid_* + * variables */ TargetFileExt GetFileExt(const fs::path &filepath) const; + + /** + * @brief Checks for C/C++ source file validity. + * + * See TargetConfig::valid_c_ext, TargetConfig::valid_cpp_ext, + * TargetConfig::valid_asm_ext + * + * @param filepath Absolute / Relative path of file + * @return true If file extension belongs to the above valid_* list + * @return false If file extension does not belong to the above valid_* list + */ bool IsValidSource(const fs::path &filepath) const; + + /** + * @brief Checks for Header file validity + * + * See TargetConfig::valid_header_ext + * + * @param filepath Absolute / Relative path of file + * @return true If file extension belongs to above valid_* list + * @return false If file extension does not belong to above valid_* list + */ bool IsValidHeader(const fs::path &filepath) const; + /** + * @brief Expects Source file validity + * + * env::assert_fatal if not a valid source + * + * @param filepath Absolute / Relative path of file + */ void ExpectsValidSource(const fs::path &filepath) const; void ExpectsValidHeader(const fs::path &filepath) const; From 5a981222c593f1576951cb31e2bc755c5957b501 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Tue, 18 Jan 2022 23:10:29 -0800 Subject: [PATCH 26/40] Update target_config.h --- buildcc/lib/target/include/target/common/target_config.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/buildcc/lib/target/include/target/common/target_config.h b/buildcc/lib/target/include/target/common/target_config.h index 4dad6b2a..172c52b0 100644 --- a/buildcc/lib/target/include/target/common/target_config.h +++ b/buildcc/lib/target/include/target/common/target_config.h @@ -73,6 +73,14 @@ struct TargetConfig { * @param filepath Absolute / Relative path of file */ void ExpectsValidSource(const fs::path &filepath) const; + + /** + * @brief Expects header file validity + * + * env::assert_fatal if not a valid header + * + * @param filepath Absolute / Relative path of file + */ void ExpectsValidHeader(const fs::path &filepath) const; std::string target_ext{""}; From 9a44e2048cc12862dfb638ca115cd947e68b6351 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Tue, 18 Jan 2022 23:11:28 -0800 Subject: [PATCH 27/40] Update target.rst --- docs/source/user_api/target.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/source/user_api/target.rst b/docs/source/user_api/target.rst index 639adec4..52de9136 100644 --- a/docs/source/user_api/target.rst +++ b/docs/source/user_api/target.rst @@ -4,6 +4,10 @@ TargetInfo target_info.h -------------- +.. doxygenclass:: buildcc::TargetInfo + +.. doxygentypedef:: BaseTargetInfo + Target ======= From 929e1cb32eb07ff8fa29f37d2ef87126238b3bb4 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Tue, 18 Jan 2022 23:14:46 -0800 Subject: [PATCH 28/40] Update target.rst --- docs/source/user_api/target.rst | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/docs/source/user_api/target.rst b/docs/source/user_api/target.rst index 52de9136..2f42b246 100644 --- a/docs/source/user_api/target.rst +++ b/docs/source/user_api/target.rst @@ -1,3 +1,30 @@ +Target Info APIs +================= + +source_api.h +------------- + +include_api.h +--------------- + +lib_api.h +---------- + +deps_api.h +----------- + +flag_api.h +------------ + +pch_api.h +----------- + +sync_api.h +------------ + +target_getter.h +----------------- + TargetInfo =========== @@ -8,6 +35,14 @@ target_info.h .. doxygentypedef:: BaseTargetInfo +Target APIs +============= + +.. important:: Target APIs can also use TargetInfo APIs + +target_info_getter.h +--------------------- + Target ======= From ab43c57870165e2ad14a51dc903e04c4e92370b2 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Tue, 18 Jan 2022 23:17:58 -0800 Subject: [PATCH 29/40] Update target.rst --- docs/source/user_api/target.rst | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/docs/source/user_api/target.rst b/docs/source/user_api/target.rst index 2f42b246..fb5def9e 100644 --- a/docs/source/user_api/target.rst +++ b/docs/source/user_api/target.rst @@ -4,27 +4,43 @@ Target Info APIs source_api.h ------------- +.. doxygenclass:: buildcc::internal::SourceApi + include_api.h --------------- +.. doxygenclass:: buildcc::internal::IncludeApi + lib_api.h ---------- -deps_api.h +.. doxygenclass:: buildcc::internal::LibApi + +pch_api.h ----------- +.. doxygenclass:: buildcc::internal::PchApi + flag_api.h ------------ -pch_api.h +.. doxygenclass:: buildcc::internal::FlagApi + +deps_api.h ----------- +.. doxygenclass:: buildcc::internal::DepsApi + sync_api.h ------------ +.. doxygenclass:: buildcc::internal::SyncApi + target_getter.h ----------------- +.. doxygenclass:: buildcc::internal::TargetInfoGetter + TargetInfo =========== From 5602a77e2f098084f2faf24cd6f8b6c109a16c24 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Tue, 18 Jan 2022 23:23:36 -0800 Subject: [PATCH 30/40] Updated target utils --- .../include/target/common/target_type.h | 6 +++--- docs/source/user_api/target_utils.rst | 20 ++++++++++++++----- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/buildcc/lib/target/include/target/common/target_type.h b/buildcc/lib/target/include/target/common/target_type.h index 88bd5140..ff8d05a1 100644 --- a/buildcc/lib/target/include/target/common/target_type.h +++ b/buildcc/lib/target/include/target/common/target_type.h @@ -20,9 +20,9 @@ namespace buildcc { enum class TargetType { - Executable, - StaticLibrary, - DynamicLibrary, + Executable, ///< Executable Target type + StaticLibrary, ///< Static library target type + DynamicLibrary, ///< Dynamic library target type }; } diff --git a/docs/source/user_api/target_utils.rst b/docs/source/user_api/target_utils.rst index c0bca4d6..b85fc251 100644 --- a/docs/source/user_api/target_utils.rst +++ b/docs/source/user_api/target_utils.rst @@ -3,17 +3,27 @@ Target Utils Commonly used Utils (Classes / Structs) for **Generator**, **TargetInfo** and **Target** classes. -target_env.h --------------- - -.. doxygenclass:: buildcc::TargetEnv - target_file_ext.h ------------------ .. doxygenenum:: buildcc::TargetFileExt +target_type.h +-------------- + +.. doxygenenum:: buildcc::TargetType + +target_env.h +-------------- + +.. doxygenclass:: buildcc::TargetEnv + target_config.h ---------------- .. doxygenstruct:: buildcc::TargetConfig + +target_state.h +--------------- + +.. doxygenstruct:: buildcc::TargetState From dc7086a984e9358dc35b80690fa9c27f1230b304 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Tue, 18 Jan 2022 23:29:22 -0800 Subject: [PATCH 31/40] Update target.rst --- docs/source/user_api/target.rst | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/docs/source/user_api/target.rst b/docs/source/user_api/target.rst index fb5def9e..ffe38635 100644 --- a/docs/source/user_api/target.rst +++ b/docs/source/user_api/target.rst @@ -59,23 +59,51 @@ Target APIs target_info_getter.h --------------------- +.. doxygenclass:: buildcc::internal::TargetGetter + Target ======= target.h --------- +.. doxygenclass:: buildcc::Target + +.. doxygentypedef:: buildcc::BaseTarget + Specialized Target ================== target_custom.h --------------- +.. doxygentypedef:: buildcc::Target_custom + target_gcc.h ------------- +.. doxygenclass:: buildcc::ExecutableTarget_gcc + +.. doxygenclass:: buildcc::StaticTarget_gcc + +.. doxygenclass:: buildcc::DynamicTarget_gcc + target_msvc.h ------------- +.. doxygenclass:: buildcc::ExecutableTarget_msvc + +.. doxygenclass:: buildcc::StaticTarget_msvc + +.. doxygenclass:: buildcc::DynamicTarget_msvc + target_generic.h ----------------- + +.. doxygenclass:: buildcc::ExecutableTarget_generic + +.. doxygenclass:: buildcc::StaticTarget_generic + +.. doxygenclass:: buildcc::DynamicTarget_generic + +.. doxygenclass:: buildcc::Target_generic From 71d7abcf3e04159736e0844d7a0ce877713f75d1 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Tue, 18 Jan 2022 23:31:06 -0800 Subject: [PATCH 32/40] Update TODO.md --- TODO.md | 1 - 1 file changed, 1 deletion(-) diff --git a/TODO.md b/TODO.md index 580db67f..87a228cb 100644 --- a/TODO.md +++ b/TODO.md @@ -26,7 +26,6 @@ Contains the following working features - Serialization Interface - Namespace changes - - Remove ``buildcc::base`` - Remove ``buildcc::env`` - We should only have 3 namespaces ``buildcc``, ``buildcc::plugin`` and ``buildcc::internal`` - Environment updates From 9c04fb8ffa3a34d68a0a182e6f45ec7c6f443360 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Tue, 18 Jan 2022 23:31:34 -0800 Subject: [PATCH 33/40] Update namespaces.rst --- docs/source/arch/namespaces.rst | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/source/arch/namespaces.rst b/docs/source/arch/namespaces.rst index 9572cb56..7e55af10 100644 --- a/docs/source/arch/namespaces.rst +++ b/docs/source/arch/namespaces.rst @@ -15,7 +15,4 @@ User Developer ---------- -* ``buildcc::base`` * ``buildcc::internal`` - -.. note:: Consider removing ``buildcc::base`` since a lot of the APIs are typedef`ed to the ``buildcc`` namespace From dea02967a17d30a3291640988a2b502ae03da766 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Wed, 19 Jan 2022 18:22:55 -0800 Subject: [PATCH 34/40] Update target.rst --- docs/source/user_api/target.rst | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/source/user_api/target.rst b/docs/source/user_api/target.rst index ffe38635..30931368 100644 --- a/docs/source/user_api/target.rst +++ b/docs/source/user_api/target.rst @@ -107,3 +107,26 @@ target_generic.h .. doxygenclass:: buildcc::DynamicTarget_generic .. doxygenclass:: buildcc::Target_generic + +Example +-------- + +.. code-block:: cpp + :linenos: + + // Generic toolchain GCC + Toolchain_gcc gcc; + + // Target compatible GCC toolchain + ExecutableTarget_gcc hello_world("name", gcc, "relative_to_global_env_root_dir"); + + // NOTE: See APIs above, they are self explanatory + hello_world.AddSource(""); + + // Setup the tasks + hello_world.Build(); + + // Run the task + tf::Executor executor; + executor.run(hello_world.GetTaskflow()); + executor.wait_for_all(); From 99e12195c5e9ce1c568fbc2e355e76500706172f Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Wed, 19 Jan 2022 18:43:22 -0800 Subject: [PATCH 35/40] Added compile.toml, immediate.toml and README for single example --- example/hybrid/single/README.md | 19 +++++++++++++++++++ example/hybrid/single/compile.toml | 17 +++++++++++++++++ example/hybrid/single/immediate.toml | 14 ++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 example/hybrid/single/README.md create mode 100644 example/hybrid/single/compile.toml create mode 100644 example/hybrid/single/immediate.toml diff --git a/example/hybrid/single/README.md b/example/hybrid/single/README.md new file mode 100644 index 00000000..4c488dbc --- /dev/null +++ b/example/hybrid/single/README.md @@ -0,0 +1,19 @@ +# Single Example + +Running the Single example using BuildExe + +NOTE: Follow the **Getting Started** guide first + +## Script mode + +``` +buildexe --config compile.toml --config $BUILDCC_HOME/host/host_toolchain.toml +buildexe --config compile.toml --config %BUILDCC_HOME%/host/host_toolchain.toml +``` + +## Immediate mode + +``` +buildexe --config immediate.toml --config $BUILDCC_HOME/host/host_toolchain.toml +buildexe --config immediate.toml --config %BUILDCC_HOME%/host/host_toolchain.toml +``` diff --git a/example/hybrid/single/compile.toml b/example/hybrid/single/compile.toml new file mode 100644 index 00000000..4c3f17b8 --- /dev/null +++ b/example/hybrid/single/compile.toml @@ -0,0 +1,17 @@ +# Settings +root_dir = "" +build_dir = "_build_internal" +loglevel = "info" +clean = true + +# BuildExe run mode +mode = "script" + +# Target information +name = "single" +type = "executable" +relative_to_root = "" +srcs = ["build.cpp"] + +[script] +configs = ["build.toml"] diff --git a/example/hybrid/single/immediate.toml b/example/hybrid/single/immediate.toml new file mode 100644 index 00000000..da544ed7 --- /dev/null +++ b/example/hybrid/single/immediate.toml @@ -0,0 +1,14 @@ +# Settings +root_dir = "" +build_dir = "_build" +loglevel = "trace" +clean = false + +# BuildExe run mode +mode = "immediate" + +# Target information +name = "hello_world" +type = "executable" +relative_to_root = "src" +srcs = ["main.cpp"] From 0319d2a02e9dafa008eccf83bc6f5575fe33dfdf Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Wed, 19 Jan 2022 18:48:44 -0800 Subject: [PATCH 36/40] Update testing.rst --- docs/source/arch/testing.rst | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/source/arch/testing.rst b/docs/source/arch/testing.rst index 20ce6a65..58c0b5ef 100644 --- a/docs/source/arch/testing.rst +++ b/docs/source/arch/testing.rst @@ -22,9 +22,6 @@ mock_env * Provided with the ``CommandExpect_Execute`` mocked API * The ``command`` and ``working_directory`` params are not used -.. doxygenclass:: buildcc::env::Command - :members: Execute - .. doxygenfunction:: CommandExpect_Execute * All of the logging APIs have been **stubbed** out since they are unnecessary for unit tests and very noisy when getting output From 9e0db6c4d98970e5dea25fa91a732f93567b9adb Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Wed, 19 Jan 2022 18:51:28 -0800 Subject: [PATCH 37/40] Update environment.rst --- docs/source/user_api/environment.rst | 49 ++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/docs/source/user_api/environment.rst b/docs/source/user_api/environment.rst index febd2d4a..e353b601 100644 --- a/docs/source/user_api/environment.rst +++ b/docs/source/user_api/environment.rst @@ -52,3 +52,52 @@ assert_throw.h command.h --------- + +.. doxygenclass:: buildcc::env::Command + +host_compiler.h +---------------- + +.. doxygenfunction:: is_gcc + +.. doxygenfunction:: is_mingw + +.. doxygenfunction:: is_clang + +.. doxygenfunction:: is_msvc + +host_os.h +---------- + +.. doxygenfunction:: is_linux + +.. doxygenfunction:: is_win + +.. doxygenfunction:: is_mac + +.. doxygenfunction:: is_unix + +.. doxygenenum:: OsId + +.. doxygenfunction:: get_host_os + +host_os_util.h +---------------- + +.. doxygenfunction:: get_os_envvar_delim + +.. doxygenfunction:: get_os_executable_extension + +task_state.h +-------------- + +.. doxygenenum:: TaskState + +.. doxygenfunction:: get_task_state + +util.h +--------- + +.. doxygenfunction:: save_file(const char *, const std::string &, bool) + +.. doxygenfunction:: load_file From 1bb7bd3ca14021c4a35e8737f7422eda5c3a7576 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Wed, 19 Jan 2022 18:56:58 -0800 Subject: [PATCH 38/40] Update walkthroughs.rst --- docs/source/getting_started/walkthroughs.rst | 31 ++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/docs/source/getting_started/walkthroughs.rst b/docs/source/getting_started/walkthroughs.rst index 7046f895..5fcc4dce 100644 --- a/docs/source/getting_started/walkthroughs.rst +++ b/docs/source/getting_started/walkthroughs.rst @@ -9,5 +9,36 @@ Walkthrough Examples * Flags (Preprocessor, Compile and Link flags) * Generators * Target Info + +TODO +------ + * Custom Targets * Custom Arguments +* Debugging + +Simple +------- + +* See ``SourceApi`` + +IncludeDirs +------------ + +* See ``IncludeDirApi`` +* Read why Header files and Include dirs are tracked + +LibDeps +--------- + +* See ``LibApi`` + +Flags +------- + +* See ``FlagApi`` + +Generator +--------- + +* See :doc:`../user_api/generator` From 638bcfe0def2106b2650035e5fead1cea2650936 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Wed, 19 Jan 2022 20:32:05 -0800 Subject: [PATCH 39/40] Update target_info.h --- buildcc/lib/target/include/target/target_info.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/buildcc/lib/target/include/target/target_info.h b/buildcc/lib/target/include/target/target_info.h index 76dcc38a..022df822 100644 --- a/buildcc/lib/target/include/target/target_info.h +++ b/buildcc/lib/target/include/target/target_info.h @@ -55,18 +55,18 @@ class TargetInfo : public internal::SourceApi, private: // Inputs - friend class SourceApi; - friend class IncludeApi; - friend class LibApi; - friend class PchApi; - friend class FlagApi; - friend class DepsApi; + friend class internal::SourceApi; + friend class internal::IncludeApi; + friend class internal::LibApi; + friend class internal::PchApi; + friend class internal::FlagApi; + friend class internal::DepsApi; // Feature - friend class SyncApi; + friend class internal::SyncApi; // Getters - friend class TargetInfoGetter; + friend class internal::TargetInfoGetter; protected: TargetEnv env_; From 8a58fb899ae885c208476d18b438dbfb0a83b708 Mon Sep 17 00:00:00 2001 From: Niket Naidu Date: Wed, 19 Jan 2022 20:41:33 -0800 Subject: [PATCH 40/40] Update target.h --- buildcc/lib/target/include/target/target.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildcc/lib/target/include/target/target.h b/buildcc/lib/target/include/target/target.h index efc65760..edcad7e7 100644 --- a/buildcc/lib/target/include/target/target.h +++ b/buildcc/lib/target/include/target/target.h @@ -93,7 +93,7 @@ class Target : public internal::BuilderInterface, friend class internal::CompileObject; friend class internal::LinkTarget; - friend class TargetGetter; + friend class internal::TargetGetter; private: void Initialize();