Skip to content

Commit f8f6427

Browse files
authored
Toolchain flags api (#197)
1 parent 06bed39 commit f8f6427

38 files changed

+362
-160
lines changed

bootstrap/src/build_buildcc.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ void buildcc_cb(BaseTarget &target, const BaseGenerator &schema_gen,
6363
// TOOLCHAIN
6464
target.GlobSources("lib/toolchain/src/api");
6565
target.GlobSources("lib/toolchain/src/common");
66+
target.GlobSources("lib/toolchain/src/toolchain");
6667
target.AddIncludeDir("lib/toolchain/include");
6768
target.GlobHeaders("lib/toolchain/include/toolchain");
6869
target.GlobHeaders("lib/toolchain/include/toolchain/api");
@@ -72,6 +73,7 @@ void buildcc_cb(BaseTarget &target, const BaseGenerator &schema_gen,
7273
target.GlobSources("lib/target/src/common");
7374
target.GlobSources("lib/target/src/generator");
7475
target.GlobSources("lib/target/src/api");
76+
target.GlobSources("lib/target/src/target_info");
7577
target.GlobSources("lib/target/src/target");
7678
target.GlobSources("lib/target/src/target/friend");
7779

buildcc/lib/args/test/test_persistent_storage.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ TEST_GROUP(PersistentStorageTestGroup)
1616
};
1717
// clang-format on
1818

19-
buildcc::BaseToolchain gcc(buildcc::ToolchainId::Gcc, "gcc", "as", "gcc", "g++",
20-
"ar", "ld");
19+
static buildcc::BaseToolchain gcc(buildcc::ToolchainId::Gcc, "gcc", "as", "gcc",
20+
"g++", "ar", "ld");
2121

2222
TEST(PersistentStorageTestGroup, BasicUsage) {
2323
buildcc::PersistentStorage persistent;

buildcc/lib/target/cmake/common_target_src.cmake

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ set(COMMON_TARGET_SRCS
2323
include/target/api/include_api.h
2424
include/target/api/lib_api.h
2525
include/target/api/pch_api.h
26-
include/target/api/flag_api.h
2726
include/target/api/deps_api.h
2827

2928
src/api/sync_api.cpp
@@ -38,6 +37,10 @@ set(COMMON_TARGET_SRCS
3837
src/generator/generator.cpp
3938
include/target/generator.h
4039

40+
# Target Info
41+
src/target_info/target_info.cpp
42+
include/target/target_info.h
43+
4144
# Target friend
4245
src/target/friend/compile_pch.cpp
4346
src/target/friend/compile_object.cpp
@@ -49,6 +52,5 @@ set(COMMON_TARGET_SRCS
4952
# Target
5053
src/target/target.cpp
5154
src/target/build.cpp
52-
include/target/target_info.h
5355
include/target/target.h
5456
)

buildcc/lib/target/include/target/api/deps_api.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ namespace buildcc::internal {
2525

2626
// Requires
2727
// - TargetStorer
28-
// - TargetState
2928
// - TargetEnv
3029
template <typename T> class DepsApi {
3130
public:

buildcc/lib/target/include/target/api/include_api.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ namespace buildcc::internal {
2525

2626
// Requires
2727
// - TargetStorer
28-
// - TargetState
2928
// - TargetConfig
3029
// - TargetEnv
3130
template <typename T> class IncludeApi {

buildcc/lib/target/include/target/api/lib_api.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ namespace buildcc::internal {
3232

3333
// Requires
3434
// - TargetStorer
35-
// - TargetState
3635
// - TargetEnv
3736
// T::GetTargetPath
3837
template <typename T> class LibApi {

buildcc/lib/target/include/target/api/pch_api.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ namespace buildcc::internal {
2525

2626
// Requires
2727
// - TargetStorer
28-
// - TargetState
2928
// - TargetConfig
3029
// - TargetEnv
3130
template <typename T> class PchApi {

buildcc/lib/target/include/target/api/source_api.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ namespace buildcc::internal {
2525

2626
// Requires
2727
// - TargetStorer
28-
// - TargetState
2928
// - TargetConfig
3029
// - TargetEnv
3130
template <typename T> class SourceApi {

buildcc/lib/target/include/target/api/sync_api.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ enum class SyncOption {
4343

4444
// Requires
4545
// - TargetStorer
46-
// - TargetState
4746
template <typename T> class SyncApi {
4847
public:
4948
/**

buildcc/lib/target/include/target/api/target_getter.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424

2525
#include "toolchain/toolchain.h"
2626

27+
#include "target/common/target_state.h"
28+
2729
#include "taskflow/taskflow.hpp"
2830

2931
namespace fs = std::filesystem;
@@ -32,6 +34,11 @@ namespace buildcc::internal {
3234

3335
template <typename T> class TargetGetter {
3436
public:
37+
// Target State
38+
const TargetState &GetState() const;
39+
bool IsBuilt() const;
40+
bool IsLocked() const;
41+
3542
const std::string &GetName() const;
3643
const Toolchain &GetToolchain() const;
3744
TargetType GetType() const;

0 commit comments

Comments
 (0)