fileAPI: Add direct dependencies to target codemodel files

This adds the following new arrays, which together capture all direct
dependencies and interface dependencies of a target:

- linkLibraries
- interfaceLinkLibraries
- compileDependencies
- interfaceCompileDependencies
- objectDependencies
- orderDependencies

Fixes: #21995, #25213
This commit is contained in:
Craig Scott
2025-10-04 10:01:12 +10:00
committed by Brad King
parent 004d825f3e
commit f38f325e08
90 changed files with 2729 additions and 81 deletions

View File

@@ -1337,9 +1337,19 @@ with members:
``dependencies``
Optional member that is present when the target depends on other targets.
It is not present if the target is not part of the build system (i.e. it is
not an imported target or an interface library with no generated sources).
The value is a JSON array of entries corresponding to the dependencies.
It is only present if the target is part of the build system.
Imported targets are not part of the build system. Interface libraries
are only part of the build system if they have sources or file sets.
The value is a JSON array of entries corresponding to the build dependencies.
The array includes not just direct dependencies, but also transitive
dependencies. All listed targets will build before this one.
The list of dependencies reflects the *build graph* dependencies, not
necessarily the link dependencies. If there are cycles in the link
dependencies of static libraries, not all link dependencies will be
reflected in this list of build graph dependencies.
Each entry is a JSON object with members:
``id``
@@ -1353,6 +1363,216 @@ with members:
available. The value is an unsigned integer 0-based index into
the ``backtraceGraph`` member's ``nodes`` array.
``linkLibraries``
Optional member that may be present when the target links directly to one or
more other targets or libraries. It contains items that are used when
linking this target. These come from the target's
:prop_tgt:`LINK_LIBRARIES` property (evaluated non-transitively), or the
:prop_tgt:`INTERFACE_LINK_LIBRARIES_DIRECT` property of another target it
links to directly or transitively.
Items that are only applied as usage requirements (such as being wrapped in a
:genex:`$<COMPILE_ONLY:...>` expression) will not be present in this member.
The value is a JSON array of entries. Each entry is a JSON object with
members:
``id``
Optional member that is present when the library to be linked is a target.
It uniquely identifies the target on which this one has a direct link
relationship. This matches the main ``id`` member of that other target.
The target this ``id`` identifies is not necessarily part of the build
system. It may be an imported target or an interface library with no
sources or file sets.
Exactly one of ``id`` or ``fragment`` will always be present.
``fragment``
Optional member that is present when the library to be linked is not a
target. It is a string containing the raw linker command line arguments
that capture the relationship. These will typically be linking to
libraries or frameworks by name rather than as a target.
Exactly one of ``id`` or ``fragment`` will always be present.
``backtrace``
Optional member that is present when a CMake language backtrace to
the command invocation that created this relationship is available.
The value is an unsigned integer 0-based index into the
``backtraceGraph`` member's ``nodes`` array.
``fromDependency``
Optional member that is only present when the relationship is the result of
an :prop_tgt:`INTERFACE_LINK_LIBRARIES_DIRECT` target property on one of
this target's directly or transitively linked libraries. It is a JSON
object with one member:
``id``
A string uniquely identifying the target whose
:prop_tgt:`INTERFACE_LINK_LIBRARIES_DIRECT` property created the
relationship. The value matches the main ``id`` member of that target.
This field was added in codemodel version 2.9.
``interfaceLinkLibraries``
Optional member that may be present when the target has one or more interface
link libraries. It contains items that are used when linking consumers of
this target. These come from the target's
:prop_tgt:`INTERFACE_LINK_LIBRARIES` property.
Items that are only applied as usage requirements (such as being wrapped in a
:genex:`$<COMPILE_ONLY:...>` expression) will not be present in this member.
The value is a JSON array of entries. Each entry is a JSON object with
members:
``id``
Optional member that is present when the interface link library is for a
target. It uniquely identifies that target, with the value matching the
main ``id`` member of that target.
The target this ``id`` identifies is not necessarily part of the build
system. It may be an imported target or an interface library with no
sources or file sets.
Exactly one of ``id`` or ``fragment`` will always be present.
``fragment``
Optional member that is present when the interface link library is not for
a target. It is a string containing the raw linker command line arguments
to be applied to consumers of this target's interface link libraries.
These will typically be linker arguments for linking to libraries or
frameworks by name rather than as a target.
Exactly one of ``id`` or ``fragment`` will always be present.
``backtrace``
Optional member that is present when a CMake language backtrace to the
command invocation that created this interface relationship is available.
The value is an unsigned integer 0-based index into the
``backtraceGraph`` member's ``nodes`` array.
This field was added in codemodel version 2.9.
``compileDependencies``
Optional member that may be present when the target links directly to one or
more other targets that may provide usage requirements to this one. They
affect how this target's sources are compiled. These relationships are
defined by the target's :prop_tgt:`LINK_LIBRARIES` property (evaluated
non-transitively) and the :prop_tgt:`INTERFACE_LINK_LIBRARIES_DIRECT`
property of other targets it links to directly or transitively.
Relationships that only apply linking requirements (such as being wrapped
in a :genex:`$<LINK_ONLY:...>` expression) will not be present in this
member.
The value is a JSON array of entries. Each entry is a JSON object with
members:
``id``
A string uniquely identifying the target on which this target directly
depends. This matches the main ``id`` member of the other target.
The target this ``id`` identifies is not necessarily part of the build
system. It may be an imported target or an interface library with no
sources or file sets.
``backtrace``
Optional member that is present when a CMake language backtrace to
the command invocation that created this relationship is available.
The value is an unsigned integer 0-based index into the
``backtraceGraph`` member's ``nodes`` array.
``fromDependency``
Optional member that is only present when the relationship is the result of
an :prop_tgt:`INTERFACE_LINK_LIBRARIES_DIRECT` target property on one of
this target's directly or transitively linked libraries. It is a JSON
object with one member:
``id``
A string uniquely identifying the target whose
:prop_tgt:`INTERFACE_LINK_LIBRARIES_DIRECT` property created the
relationship. The value matches the main ``id`` member of that target.
This field was added in codemodel version 2.9.
``interfaceCompileDependencies``
Optional member that may be present when the target has one or more interface
linking relationships to other targets. It contains items that affect how
consumers' sources are compiled. These relationships are defined by the
target's :prop_tgt:`INTERFACE_LINK_LIBRARIES` property.
Relationships that only apply linking requirements (such as being wrapped
in a :genex:`$<LINK_ONLY:...>` expression) will not be present in this
member.
The value is a JSON array of entries. Each entry is a JSON object with
members:
``id``
A string uniquely identifying the target on which this target specifies
an interface relationship. This matches the main ``id`` member of the
other target.
The target this ``id`` identifies is not necessarily part of the build
system. It may be an imported target or an interface library with no
sources or file sets.
``backtrace``
Optional member that is present when a CMake language backtrace to
the command invocation that created this relationship is available.
The value is an unsigned integer 0-based index into the
``backtraceGraph`` member's ``nodes`` array.
This field was added in codemodel version 2.9.
``objectDependencies``
Optional member that is present when the target has one or more entries in
its :prop_tgt:`SOURCES` property where the entry is specified using
:genex:`$<TARGET_OBJECTS:...>`, and where no other generator expression is
used within the :genex:`$<TARGET_OBJECTS:...>` expression.
The value is a JSON array of entries. Each entry is a JSON object with
members:
``id``
A string uniquely identifying the target whose objects are referred to in
the :genex:`$<TARGET_OBJECTS:...>` expression. This matches the main
``id`` member of that other target.
``backtrace``
Optional member that is present when a CMake language backtrace to
the command invocation that created this dependency is available.
The value is an unsigned integer 0-based index into the
``backtraceGraph`` member's ``nodes`` array.
This field was added in codemodel version 2.9.
``orderDependencies``
Optional member that is present when the target has one or more direct order
dependencies on other targets. Such dependencies may arise from calls to
:command:`add_dependencies` or from internal CMake processing.
Unlike the ``dependencies`` array, the ``ZERO_CHECK`` target will not be
included in ``orderDependencies`` (this is only relevant for
:generator:`Xcode` and :ref:`Visual Studio <Visual Studio Generators>`
generators).
The value is a JSON array of entries. Each entry is a JSON object with
members:
``id``
A string uniquely identifying the target on which this target depends.
This matches the main ``id`` member of the other target.
``backtrace``
Optional member that is present when a CMake language backtrace to
the command invocation that created this dependency is available.
The value is an unsigned integer 0-based index into the
``backtraceGraph`` member's ``nodes`` array.
This field was added in codemodel version 2.9.
``fileSets``
An optional member that is present when a target defines one or more
file sets. The value is a JSON array of entries corresponding to the

View File

@@ -372,6 +372,128 @@
"additionalProperties": false
}
},
"linkLibrariesV2_9": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the target for the dependency"
},
"fragment": {
"type": "string",
"description": "Raw linker command line arguments that capture the dependency"
},
"backtrace": {
"type": "integer",
"minimum": 0,
"description": "Index into backtraceGraph nodes array of the command that created the dependency, if available"
},
"fromDependency": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of another target whose INTERFACE_LINK_LIBRARIES_DIRECT property created this dependency"
}
}
}
},
"additionalProperties": false
}
},
"interfaceLinkLibrariesV2_9": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the target for the dependency"
},
"fragment": {
"type": "string",
"description": "Raw linker command line arguments that capture the dependency"
},
"backtrace": {
"type": "integer",
"minimum": 0,
"description": "Index into backtraceGraph nodes array of the command that created the dependency, if available"
}
},
"additionalProperties": false
}
},
"compileDependenciesV2_9": {
"type": "array",
"items": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the target for the dependency"
},
"backtrace": {
"type": "integer",
"minimum": 0,
"description": "Index into backtraceGraph nodes array of the command that created the dependency, if available"
},
"fromDependency": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of another target whose INTERFACE_LINK_LIBRARIES_DIRECT property created this dependency"
}
}
}
},
"additionalProperties": false
}
},
"interfaceCompileDependenciesV2_9": {
"type": "array",
"items": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the target for the dependency"
},
"backtrace": {
"type": "integer",
"minimum": 0,
"description": "Index into backtraceGraph nodes array of the command that created the dependency, if available"
}
},
"additionalProperties": false
}
},
"onlyTargetDependenciesArrayV2_9": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the target for the dependency"
},
"backtrace": {
"type": "integer",
"minimum": 0,
"description": "Index into backtraceGraph nodes array of the command that created the dependency, if available"
}
},
"additionalProperties": false
}
},
"fileSetsV2_5": {
"type": "array",
"items": {
@@ -1414,6 +1536,24 @@
"dependencies": {
"$ref": "#/definitions/dependencies"
},
"linkLibraries": {
"$ref": "#/definitions/linkLibrariesV2_9"
},
"interfaceLinkLibraries": {
"$ref": "#/definitions/interfaceLinkLibrariesV2_9"
},
"compileDependencies": {
"$ref": "#/definitions/compileDependenciesV2_9"
},
"interfaceCompileDependencies": {
"$ref": "#/definitions/interfaceCompileDependenciesV2_9"
},
"objectDependencies": {
"$ref": "#/definitions/onlyTargetDependenciesArrayV2_9"
},
"orderDependencies": {
"$ref": "#/definitions/onlyTargetDependenciesArrayV2_9"
},
"fileSets": {
"$ref": "#/definitions/fileSetsV2_5"
},

View File

@@ -15,3 +15,8 @@ fileapi-direct-dependencies
* Entries in the ``directories`` and ``projects`` arrays of the "codemodel"
object's ``configurations`` entries gained a new ``abstractTargetIndexes``
array.
* The :manual:`cmake-file-api(7)` "codemodel" version 2 "target" object gained
new ``linkLibraries``, ``interfaceLinkLibraries``, ``compileDependencies``,
``interfaceCompileDependencies``, ``objectDependencies``, and
``orderDependencies`` fields.

View File

@@ -41,6 +41,7 @@
#include "cmInstallScriptGenerator.h"
#include "cmInstallSubdirectoryGenerator.h"
#include "cmInstallTargetGenerator.h"
#include "cmLinkItem.h"
#include "cmLinkLineComputer.h" // IWYU pragma: keep
#include "cmList.h"
#include "cmListFileCache.h"
@@ -521,6 +522,13 @@ class Target
std::string const& role = std::string());
Json::Value DumpDependencies();
Json::Value DumpDependency(cmTargetDepend const& td);
Json::Value DumpLinkItem(cmLinkItem const& linkItem);
Json::Value DumpLinkImplementationLibraries(cmGeneratorTarget::UseTo usage);
Json::Value DumpLinkInterfaceLibraries(cmGeneratorTarget::UseTo usage);
Json::Value DumpObjectDependencies();
Json::Value DumpOrderDependencies();
Json::Value DumpFolder();
Json::Value DumpLauncher(char const* name, char const* type);
Json::Value DumpLaunchers();
@@ -1322,6 +1330,36 @@ Json::Value Target::Dump()
}
{
Json::Value linkLibraries =
this->DumpLinkImplementationLibraries(cmGeneratorTarget::UseTo::Link);
if (!linkLibraries.empty()) {
target["linkLibraries"] = std::move(linkLibraries);
}
Json::Value ifaceLinkLibraries =
this->DumpLinkInterfaceLibraries(cmGeneratorTarget::UseTo::Link);
if (!ifaceLinkLibraries.empty()) {
target["interfaceLinkLibraries"] = std::move(ifaceLinkLibraries);
}
Json::Value compileDependencies =
this->DumpLinkImplementationLibraries(cmGeneratorTarget::UseTo::Compile);
if (!compileDependencies.empty()) {
target["compileDependencies"] = std::move(compileDependencies);
}
Json::Value ifaceCompileDependencies =
this->DumpLinkInterfaceLibraries(cmGeneratorTarget::UseTo::Compile);
if (!ifaceCompileDependencies.empty()) {
target["interfaceCompileDependencies"] =
std::move(ifaceCompileDependencies);
}
Json::Value objectDependencies = this->DumpObjectDependencies();
if (!objectDependencies.empty()) {
target["objectDependencies"] = std::move(objectDependencies);
}
Json::Value orderDependencies = this->DumpOrderDependencies();
if (!orderDependencies.empty()) {
target["orderDependencies"] = std::move(orderDependencies);
}
if (!this->GT->IsImported()) {
this->ProcessLanguages();
}
@@ -2170,6 +2208,113 @@ Json::Value Target::DumpDependency(cmTargetDepend const& td)
return dependency;
}
Json::Value Target::DumpLinkItem(cmLinkItem const& linkItem)
{
Json::Value itemJson = Json::objectValue;
if (linkItem.Target) {
itemJson["id"] = TargetId(linkItem.Target, this->TopBuild);
} else {
itemJson["fragment"] = linkItem.AsStr();
}
if (linkItem.InterfaceDirectFrom) {
Json::Value jsonDirectFrom = Json::objectValue;
jsonDirectFrom["id"] =
TargetId(linkItem.InterfaceDirectFrom, this->TopBuild);
itemJson["fromDependency"] = jsonDirectFrom;
}
this->AddBacktrace(itemJson, linkItem.Backtrace);
return itemJson;
}
Json::Value Target::DumpLinkImplementationLibraries(
cmGeneratorTarget::UseTo usage)
{
Json::Value jsonLibs = Json::arrayValue;
cmLinkImplementationLibraries const* implLibs =
this->GT->GetLinkImplementationLibraries(this->Config, usage);
if (implLibs) {
for (cmLinkItem const& linkItem : implLibs->Libraries) {
// Non-target compile items are never used, so we drop them here too
if (usage == cmGeneratorTarget::UseTo::Link || linkItem.Target) {
jsonLibs.append(this->DumpLinkItem(linkItem));
}
}
}
return jsonLibs;
}
Json::Value Target::DumpLinkInterfaceLibraries(cmGeneratorTarget::UseTo usage)
{
Json::Value jsonLibs = Json::arrayValue;
cmLinkInterfaceLibraries const* ifaceLibs =
this->GT->GetLinkInterfaceLibraries(this->Config, this->GT, usage);
if (ifaceLibs) {
for (cmLinkItem const& linkItem : ifaceLibs->Libraries) {
// Non-target compile items are never used, so we drop them here too
if (usage == cmGeneratorTarget::UseTo::Link || linkItem.Target) {
jsonLibs.append(this->DumpLinkItem(linkItem));
}
}
}
return jsonLibs;
}
Json::Value Target::DumpObjectDependencies()
{
// Object dependencies are a special case. They cannot be config-specific
// because they are obtained by matching the pattern $<TARGET_OBJECTS:xxx>
// against the SOURCES property, and the matcher rejects any cases where
// "xxx" contains a generator expression. We can't use
// GetSourceObjectLibraries() either because that also returns object
// libraries added via LINK_LIBRARIES rather than $<TARGET_OBJECTS:xxx>,
// and the whole point of orderDependencies is to capture those that are
// not listed in LINK_LIBRARIES.
std::vector<BT<cmGeneratorTarget*>> objectLibraries;
this->GT->GetObjectLibrariesInSources(objectLibraries);
// We don't want to repeat the same target in the list. We will only
// retain one backtrace for cases where the same target is added multiple
// times from different commands. We also need a deterministic ordering,
// so we can't use cmGeneratorTarget* pointers in a std::set here.
using TargetIdMap = std::map<std::string, BT<cmGeneratorTarget*>>;
TargetIdMap uniqueObjectLibraries;
for (BT<cmGeneratorTarget*> const& target : objectLibraries) {
uniqueObjectLibraries[TargetId(target.Value, this->TopBuild)] = target;
}
Json::Value jsonDependencies = Json::arrayValue;
for (TargetIdMap::value_type const& idTargetPair : uniqueObjectLibraries) {
Json::Value jsonDependency = Json::objectValue;
jsonDependency["id"] = idTargetPair.first;
this->AddBacktrace(jsonDependency, idTargetPair.second.Backtrace);
jsonDependencies.append(jsonDependency);
}
return jsonDependencies;
}
Json::Value Target::DumpOrderDependencies()
{
// The generated build systems don't account for per-config dependencies.
// This is due to limitations of Xcode and/or Visual Studio, which have
// (or at least once had) no way to express a per-config inter-target
// dependency.
Json::Value jsonDependencies = Json::arrayValue;
for (cmLinkItem const& linkItem : this->GT->GetUtilityItems()) {
// We don't want to dump dependencies on reserved targets like ZERO_CHECK
if (linkItem.Target &&
cmGlobalGenerator::IsReservedTarget(linkItem.Target->GetName())) {
continue;
}
Json::Value jsonDependency = Json::objectValue;
jsonDependency["id"] = TargetId(linkItem.Target, this->TopBuild);
this->AddBacktrace(jsonDependency, linkItem.Backtrace);
jsonDependencies.append(jsonDependency);
}
return jsonDependencies;
}
Json::Value Target::DumpFolder()
{
Json::Value folder;

View File

@@ -4953,7 +4953,7 @@ bool cmGeneratorTarget::GetConfigCommonSourceFilesForXcode(
}
void cmGeneratorTarget::GetObjectLibrariesInSources(
std::vector<cmGeneratorTarget*>& objlibs) const
std::vector<BT<cmGeneratorTarget*>>& objlibs) const
{
// FIXME: This searches SOURCES for TARGET_OBJECTS for backwards
// compatibility with the OLD behavior of CMP0026 since this
@@ -4974,7 +4974,7 @@ void cmGeneratorTarget::GetObjectLibrariesInSources(
cmGeneratorTarget* objLib =
this->LocalGenerator->FindGeneratorTargetToUse(objLibName);
if (objLib) {
objlibs.push_back(objLib);
objlibs.emplace_back(objLib, entry.Backtrace);
}
}
}

View File

@@ -511,7 +511,7 @@ public:
bool IsDotNetSdkTarget() const;
void GetObjectLibrariesInSources(
std::vector<cmGeneratorTarget*>& objlibs) const;
std::vector<BT<cmGeneratorTarget*>>& objlibs) const;
std::string GetFullNameImported(std::string const& config,
cmStateEnums::ArtifactType artifact) const;

View File

@@ -583,6 +583,7 @@ void cmGeneratorTarget::ExpandLinkItems(std::string const& prop,
cmLinkItem item = std::move(*maybeItem);
if (field == LinkInterfaceField::HeadInclude) {
item.InterfaceDirectFrom = this;
iface.HeadInclude.emplace_back(std::move(item));
continue;
}

View File

@@ -5053,10 +5053,10 @@ void cmGlobalXCodeGenerator::CreateXCodeDependHackMakefile(
}
}
std::vector<cmGeneratorTarget*> objlibs;
std::vector<BT<cmGeneratorTarget*>> objlibs;
gt->GetObjectLibrariesInSources(objlibs);
for (auto* objLib : objlibs) {
makefileStream << this->PostBuildMakeTarget(objLib->GetName(),
for (auto const& objLib : objlibs) {
makefileStream << this->PostBuildMakeTarget(objLib.Value->GetName(),
configName)
<< ": " << trel << '\n';
}
@@ -5074,9 +5074,9 @@ void cmGlobalXCodeGenerator::CreateXCodeDependHackMakefile(
}
}
for (auto* objLib : objlibs) {
for (auto const& objLib : objlibs) {
std::string const objLibName = objLib->GetName();
std::string const& objLibName = objLib.Value->GetName();
std::string d = cmStrCat(this->GetTargetTempDir(gt, configName),
"/lib", objLibName, ".a");

View File

@@ -41,6 +41,9 @@ public:
cmSourceFile const* ObjectSource = nullptr;
std::string Feature;
bool Cross = false;
// When the item was the result of a target's INTERFACE_LINK_LIBRARIES_DIRECT
// property, that originating target is provided here
cmGeneratorTarget const* InterfaceDirectFrom = nullptr;
cmListFileBacktrace Backtrace;
friend bool operator<(cmLinkItem const& l, cmLinkItem const& r);
friend bool operator==(cmLinkItem const& l, cmLinkItem const& r);

View File

@@ -8,6 +8,7 @@
#include "cmGeneratorTarget.h"
#include "cmLinkItem.h"
#include "cmListFileCache.h"
#include "cmMakefile.h"
void cmLinkItemGraphVisitor::VisitItem(cmLinkItem const& item)
@@ -120,12 +121,12 @@ void cmLinkItemGraphVisitor::GetDependencies(cmGeneratorTarget const& target,
}
}
std::vector<cmGeneratorTarget*> objectLibraries;
std::vector<BT<cmGeneratorTarget*>> objectLibraries;
target.GetObjectLibrariesInSources(objectLibraries);
for (auto const& lib : objectLibraries) {
auto const& name = lib->GetName();
auto const& name = lib.Value->GetName();
if (dependencies.find(name) == dependencies.cend()) {
auto objectItem = cmLinkItem(lib, false, lib->GetBacktrace());
auto objectItem = cmLinkItem(lib.Value, false, lib.Backtrace);
dependencies[name] = Dependency(DependencyType::Object, objectItem);
}
}

View File

@@ -567,6 +567,144 @@ def check_target(c, major, minor):
missing_exception=lambda e: "Dependency ID: %s" % e["id"],
extra_exception=lambda a: "Dependency ID: %s" % a["id"])
def is_same_link_library(actual, expected):
if "id" in actual:
return expected["id"] is not None and matches(actual["id"], expected["id"])
if "fragment" in actual:
return expected["fragment"] is not None and is_string(actual["fragment"], expected["fragment"])
assert False # actual must have one of id or fragment
if expected["linkLibraries"] is not None:
expected_keys.append("linkLibraries")
def check_link_library(actual, expected):
assert is_dict(actual)
expected_keys = []
# We always require exactly one of id or fragment
if expected["id"] is not None:
expected_keys.append("id")
assert matches(actual["id"], expected["id"])
assert "fragment" not in actual
else:
expected_keys.append("fragment")
assert is_string(actual["fragment"], expected["fragment"])
assert "id" not in actual
if expected["backtrace"] is not None:
expected_keys.append("backtrace")
check_backtrace(obj, actual["backtrace"], expected["backtrace"])
if expected["fromDependency"] is not None:
expected_keys.append("fromDependency")
assert is_dict(actual["fromDependency"])
assert matches(actual["fromDependency"]["id"], expected["fromDependency"])
assert sorted(actual["fromDependency"].keys()) == ["id"]
assert sorted(actual.keys()) == sorted(expected_keys)
check_list_match(is_same_link_library,
obj["linkLibraries"], expected["linkLibraries"],
check=check_link_library,
check_exception=lambda a, e: "Mismatched link library: %s" % (a["id"] if "id" in a else a["fragment"]),
missing_exception=lambda e: "Missing link library: %s" % (e["id"] if e["id"] is not None else e["fragment"]),
extra_exception=lambda a: "Extra link library: %s" % (a["id"] if "id" in a else a["fragment"]))
if expected["interfaceLinkLibraries"] is not None:
expected_keys.append("interfaceLinkLibraries")
def check_interface_link_library(actual, expected):
assert is_dict(actual)
expected_keys = []
# We always require exactly one of id or fragment
if expected["id"] is not None:
expected_keys.append("id")
assert matches(actual["id"], expected["id"])
assert "fragment" not in actual
else:
expected_keys.append("fragment")
assert is_string(actual["fragment"], expected["fragment"])
assert "id" not in actual
if expected["backtrace"] is not None:
expected_keys.append("backtrace")
check_backtrace(obj, actual["backtrace"], expected["backtrace"])
assert sorted(actual.keys()) == sorted(expected_keys)
check_list_match(is_same_link_library,
obj["interfaceLinkLibraries"], expected["interfaceLinkLibraries"],
check=check_interface_link_library,
check_exception=lambda a, e: "Mismatched interface link library: %s" % (a["id"] if "id" in a else a["fragment"]),
missing_exception=lambda e: "Missing interface link library: %s" % (e["id"] if e["id"] is not None else e["fragment"]),
extra_exception=lambda a: "Extra interface link library: %s" % (a["id"] if "id" in a else a["fragment"]))
if expected["compileDependencies"] is not None:
expected_keys.append("compileDependencies")
def check_usage_dependency(actual, expected):
assert is_dict(actual)
assert matches(actual["id"], expected["id"])
expected_keys = ["id"]
if expected["backtrace"] is not None:
expected_keys.append("backtrace")
check_backtrace(obj, actual["backtrace"], expected["backtrace"])
if expected["fromDependency"] is not None:
expected_keys.append("fromDependency")
assert is_dict(actual["fromDependency"])
assert matches(actual["fromDependency"]["id"], expected["fromDependency"])
assert sorted(actual["fromDependency"].keys()) == ["id"]
assert sorted(actual.keys()) == sorted(expected_keys)
check_list_match(lambda a, e: matches(a["id"], e["id"]),
obj["compileDependencies"], expected["compileDependencies"],
check=check_usage_dependency,
check_exception=lambda a, e: "Mismatched compile dependency: %s" % a["id"],
missing_exception=lambda e: "Missing compile dependency: %s" % e["id"],
extra_exception=lambda a: "Extra compile dependency: %s" % a["id"])
def check_only_target_dependency(actual, expected):
assert is_dict(actual)
assert matches(actual["id"], expected["id"])
expected_keys = ["id"]
if expected["backtrace"] is not None:
expected_keys.append("backtrace")
check_backtrace(obj, actual["backtrace"], expected["backtrace"])
assert sorted(actual.keys()) == sorted(expected_keys)
if expected["interfaceCompileDependencies"] is not None:
expected_keys.append("interfaceCompileDependencies")
check_list_match(lambda a, e: matches(a["id"], e["id"]),
obj["interfaceCompileDependencies"], expected["interfaceCompileDependencies"],
check=check_only_target_dependency,
check_exception=lambda a, e: "Mismatched interface compile dependency: %s" % a["id"],
missing_exception=lambda e: "Missing interface compile dependency: %s" % e["id"],
extra_exception=lambda a: "Extra interface compile dependency: %s" % a["id"])
if expected["objectDependencies"] is not None:
expected_keys.append("objectDependencies")
check_list_match(lambda a, e: matches(a["id"], e["id"]),
obj["objectDependencies"], expected["objectDependencies"],
check=check_only_target_dependency,
check_exception=lambda a, e: "Mismatched object dependency: %s" % a["id"],
missing_exception=lambda e: "Missing object dependency: %s" % e["id"],
extra_exception=lambda a: "Extra object dependency: %s" % a["id"])
if expected["orderDependencies"] is not None:
expected_keys.append("orderDependencies")
check_list_match(lambda a, e: matches(a["id"], e["id"]),
obj["orderDependencies"], expected["orderDependencies"],
check=check_only_target_dependency,
check_exception=lambda a, e: "Mismatched order dependency: %s" % a["id"],
missing_exception=lambda e: "Missing order dependency: %s" % e["id"],
extra_exception=lambda a: "Extra order dependency: %s" % a["id"])
if expected["sourceGroups"] is not None:
expected_keys.append("sourceGroups")
@@ -1046,7 +1184,8 @@ def gen_check_build_system_targets(c, g, inSource):
expected = filter_list(lambda e: e["name"] not in ("link_imported_object_exe"), expected)
for e in expected:
e["dependencies"] = filter_list(lambda d: not matches(d["id"], "^\\^link_imported_object_exe::@"), e["dependencies"])
if e["name"] in ("c_object_lib", "cxx_object_lib"):
e["orderDependencies"] = filter_list(lambda d: not matches(d["id"], "^\\^link_imported_object_exe::@"), e["orderDependencies"])
if e["name"] in ("c_object_lib", "cxx_object_lib", "inject_direct_lib_impl"):
e["artifacts"] = None
else:

View File

@@ -86,5 +86,20 @@
"id": "^cxx_alias_exe::@53632cba2752272bb008$",
"backtrace": null
}
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": [
{
"id": "^c_alias_exe::@53632cba2752272bb008$",
"backtrace": null
},
{
"id": "^cxx_alias_exe::@53632cba2752272bb008$",
"backtrace": null
}
]
}

View File

@@ -82,5 +82,16 @@
"id": "^custom_exe::@c11385ffed57b860da63$",
"backtrace": null
}
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": [
{
"id": "^custom_exe::@c11385ffed57b860da63$",
"backtrace": null
}
]
}

View File

@@ -126,5 +126,60 @@
"id": "^cxx_static_exe::@a56b12a3f5c0529fb296$",
"backtrace": null
}
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": [
{
"id": "^cxx_lib::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_exe::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_exe_cross_emulator::@ee4a268216d1f53c4e2e$",
"backtrace": null
},
{
"id": "^cxx_exe_cross_emulator_args::@ee4a268216d1f53c4e2e$",
"backtrace": null
},
{
"id": "^cxx_exe_test_launcher_and_cross_emulator::@ee4a268216d1f53c4e2e$",
"backtrace": null
},
{
"id": "^cxx_exe_test_launcher::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_standard_compile_feature_exe::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_standard_exe::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_static_exe::@a56b12a3f5c0529fb296$",
"backtrace": null
}
]
}

View File

@@ -102,5 +102,36 @@
"id": "^compile_usage_exe::@79b6367c9e05c77f6a80$",
"backtrace": null
}
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": [
{
"id": "^link_transitive_direct_exe::@79b6367c9e05c77f6a80$",
"backtrace": null
},
{
"id": "^transitive_direct_lib::@79b6367c9e05c77f6a80$",
"backtrace": null
},
{
"id": "^inject_direct_lib_impl::@79b6367c9e05c77f6a80$",
"backtrace": null
},
{
"id": "^usage_lib::@79b6367c9e05c77f6a80$",
"backtrace": null
},
{
"id": "^link_usage_exe::@79b6367c9e05c77f6a80$",
"backtrace": null
},
{
"id": "^compile_usage_exe::@79b6367c9e05c77f6a80$",
"backtrace": null
}
]
}

View File

@@ -82,5 +82,16 @@
"id": "^generated_exe::@[0-9a-f]+$",
"backtrace": null
}
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": [
{
"id": "^generated_exe::@[0-9a-f]+$",
"backtrace": null
}
]
}

View File

@@ -90,5 +90,24 @@
"id": "^exe_framework::@217a96c3a62328a73ef4$",
"backtrace": null
}
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": [
{
"id": "^shared_framework::@217a96c3a62328a73ef4$",
"backtrace": null
},
{
"id": "^static_framework::@217a96c3a62328a73ef4$",
"backtrace": null
},
{
"id": "^exe_framework::@217a96c3a62328a73ef4$",
"backtrace": null
}
]
}

View File

@@ -102,5 +102,36 @@
"id": "^link_imported_interface_symbolic_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
}
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": [
{
"id": "^link_imported_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
},
{
"id": "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
},
{
"id": "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
},
{
"id": "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
},
{
"id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
},
{
"id": "^link_imported_interface_symbolic_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
}
]
}

View File

@@ -82,5 +82,16 @@
"id": "^iface_srcs::@25b7fa8ea00134654b85$",
"backtrace": null
}
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": [
{
"id": "^iface_srcs::@25b7fa8ea00134654b85$",
"backtrace": null
}
]
}

View File

@@ -94,5 +94,28 @@
"id": "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
"backtrace": null
}
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": [
{
"id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
"backtrace": null
},
{
"id": "^c_object_exe::@5ed5358f70faf8d8af7a$",
"backtrace": null
},
{
"id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
"backtrace": null
},
{
"id": "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
"backtrace": null
}
]
}

View File

@@ -262,5 +262,196 @@
"id": "^compile_usage_exe::@79b6367c9e05c77f6a80$",
"backtrace": null
}
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": [
{
"id": "^interface_exe::@6890427a1f51a3e7e1df$",
"backtrace": null
},
{
"id": "^c_lib::@6890427a1f51a3e7e1df$",
"backtrace": null
},
{
"id": "^c_exe::@6890427a1f51a3e7e1df$",
"backtrace": null
},
{
"id": "^c_shared_lib::@6890427a1f51a3e7e1df$",
"backtrace": null
},
{
"id": "^c_shared_exe::@6890427a1f51a3e7e1df$",
"backtrace": null
},
{
"id": "^c_static_lib::@6890427a1f51a3e7e1df$",
"backtrace": null
},
{
"id": "^c_subdir::@6890427a1f51a3e7e1df$",
"backtrace": null
},
{
"id": "^c_static_exe::@6890427a1f51a3e7e1df$",
"backtrace": null
},
{
"id": "^c_alias_exe::@53632cba2752272bb008$",
"backtrace": null
},
{
"id": "^cxx_alias_exe::@53632cba2752272bb008$",
"backtrace": null
},
{
"id": "^cxx_lib::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_exe::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_exe_cross_emulator::@ee4a268216d1f53c4e2e$",
"backtrace": null
},
{
"id": "^cxx_exe_cross_emulator_args::@ee4a268216d1f53c4e2e$",
"backtrace": null
},
{
"id": "^cxx_exe_test_launcher_and_cross_emulator::@ee4a268216d1f53c4e2e$",
"backtrace": null
},
{
"id": "^cxx_exe_test_launcher::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_standard_compile_feature_exe::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_standard_exe::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^cxx_static_exe::@a56b12a3f5c0529fb296$",
"backtrace": null
},
{
"id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
"backtrace": null
},
{
"id": "^c_object_exe::@5ed5358f70faf8d8af7a$",
"backtrace": null
},
{
"id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
"backtrace": null
},
{
"id": "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
"backtrace": null
},
{
"id": "^link_imported_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
},
{
"id": "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
},
{
"id": "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
},
{
"id": "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
},
{
"id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
},
{
"id": "^link_imported_interface_symbolic_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
},
{
"id": "^iface_srcs::@25b7fa8ea00134654b85$",
"backtrace": null
},
{
"id": "^custom_exe::@c11385ffed57b860da63$",
"backtrace": null
},
{
"id": "^generated_exe::@[0-9a-f]+$",
"backtrace": null
},
{
"id": "^c_headers_1::@6b8db101d64c125f29fe$",
"backtrace": null
},
{
"id": "^c_headers_2::@6b8db101d64c125f29fe$",
"backtrace": null
},
{
"id": "^static_framework::@217a96c3a62328a73ef4$",
"backtrace": null
},
{
"id": "^shared_framework::@217a96c3a62328a73ef4$",
"backtrace": null
},
{
"id": "^exe_framework::@217a96c3a62328a73ef4$",
"backtrace": null
},
{
"id": "^link_transitive_direct_exe::@79b6367c9e05c77f6a80$",
"backtrace": null
},
{
"id": "^transitive_direct_lib::@79b6367c9e05c77f6a80$",
"backtrace": null
},
{
"id": "^inject_direct_lib_impl::@79b6367c9e05c77f6a80$",
"backtrace": null
},
{
"id": "^usage_lib::@79b6367c9e05c77f6a80$",
"backtrace": null
},
{
"id": "^link_usage_exe::@79b6367c9e05c77f6a80$",
"backtrace": null
},
{
"id": "^compile_usage_exe::@79b6367c9e05c77f6a80$",
"backtrace": null
}
]
}

View File

@@ -115,5 +115,50 @@
"id": "^ZERO_CHECK::@53632cba2752272bb008$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^c_lib::@6890427a1f51a3e7e1df$",
"fragment": null,
"backtrace": [
{
"file": "^alias/CMakeLists\\.txt$",
"line": 6,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^alias/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^c_lib::@6890427a1f51a3e7e1df$",
"backtrace": [
{
"file": "^alias/CMakeLists\\.txt$",
"line": 6,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^alias/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -152,6 +152,75 @@
"backtrace": null
}
],
"linkLibraries": [
{
"id": "^c_lib::@6890427a1f51a3e7e1df$",
"fragment": null,
"backtrace": [
{
"file": "^codemodel-v2\\.cmake$",
"line": 14,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^codemodel-v2\\.cmake$",
"line": null,
"command": null,
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": 3,
"command": "include",
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^c_lib::@6890427a1f51a3e7e1df$",
"backtrace": [
{
"file": "^codemodel-v2\\.cmake$",
"line": 14,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^codemodel-v2\\.cmake$",
"line": null,
"command": null,
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": 3,
"command": "include",
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null,
"debugger": {
"workingDirectory": "^/test/debugger/workingDirectory$"
}

View File

@@ -276,5 +276,11 @@
"id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -122,5 +122,11 @@
"id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -116,5 +116,11 @@
"id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -163,5 +163,50 @@
"id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
"fragment": null,
"backtrace": [
{
"file": "^object/CMakeLists\\.txt$",
"line": 10,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^object/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
"backtrace": [
{
"file": "^object/CMakeLists\\.txt$",
"line": 10,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^object/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -90,5 +90,11 @@
"id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -151,5 +151,74 @@
"id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^c_shared_lib::@6890427a1f51a3e7e1df$",
"fragment": null,
"backtrace": [
{
"file": "^codemodel-v2\\.cmake$",
"line": 19,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^codemodel-v2\\.cmake$",
"line": null,
"command": null,
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": 3,
"command": "include",
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^c_shared_lib::@6890427a1f51a3e7e1df$",
"backtrace": [
{
"file": "^codemodel-v2\\.cmake$",
"line": 19,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^codemodel-v2\\.cmake$",
"line": null,
"command": null,
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": 3,
"command": "include",
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -227,5 +227,11 @@
"id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -151,5 +151,74 @@
"id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^c_static_lib::@6890427a1f51a3e7e1df$",
"fragment": null,
"backtrace": [
{
"file": "^codemodel-v2\\.cmake$",
"line": 23,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^codemodel-v2\\.cmake$",
"line": null,
"command": null,
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": 3,
"command": "include",
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^c_static_lib::@6890427a1f51a3e7e1df$",
"backtrace": [
{
"file": "^codemodel-v2\\.cmake$",
"line": 23,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^codemodel-v2\\.cmake$",
"line": null,
"command": null,
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": 3,
"command": "include",
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -116,5 +116,11 @@
"id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -157,5 +157,70 @@
"id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^c_lib::@6890427a1f51a3e7e1df$",
"fragment": null,
"backtrace": [
{
"file": "^subdir/CMakeLists\\.txt$",
"line": 3,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^subdir/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": [
{
"id": "^c_lib::@6890427a1f51a3e7e1df$",
"fragment": null,
"backtrace": [
{
"file": "^subdir/CMakeLists\\.txt$",
"line": 3,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^subdir/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"compileDependencies": [
{
"id": "^c_lib::@6890427a1f51a3e7e1df$",
"backtrace": [
{
"file": "^subdir/CMakeLists\\.txt$",
"line": 3,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^subdir/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -98,5 +98,30 @@
"id": "^ZERO_CHECK::@79b6367c9e05c77f6a80$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^usage_lib::@79b6367c9e05c77f6a80$",
"backtrace": [
{
"file": "^direct/CMakeLists\\.txt$",
"line": 40,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^direct/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -115,5 +115,29 @@
"id": "^ZERO_CHECK::@c11385ffed57b860da63$",
"backtrace": null
}
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": [
{
"id": "^custom_tgt::@c11385ffed57b860da63$",
"backtrace": [
{
"file": "^custom/CMakeLists\\.txt$",
"line": 5,
"command": "add_dependencies",
"hasParent": true
},
{
"file": "^custom/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
]
}
]
}

View File

@@ -90,5 +90,11 @@
"id": "^ZERO_CHECK::@c11385ffed57b860da63$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -115,5 +115,50 @@
"id": "^ZERO_CHECK::@53632cba2752272bb008$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^cxx_lib::@a56b12a3f5c0529fb296$",
"fragment": null,
"backtrace": [
{
"file": "^alias/CMakeLists\\.txt$",
"line": 10,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^alias/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^cxx_lib::@a56b12a3f5c0529fb296$",
"backtrace": [
{
"file": "^alias/CMakeLists\\.txt$",
"line": 10,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^alias/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -258,6 +258,51 @@
"backtrace": null
}
],
"linkLibraries": [
{
"id": "^cxx_lib::@a56b12a3f5c0529fb296$",
"fragment": null,
"backtrace": [
{
"file": "^cxx/CMakeLists\\.txt$",
"line": 6,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^cxx/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^cxx_lib::@a56b12a3f5c0529fb296$",
"backtrace": [
{
"file": "^cxx/CMakeLists\\.txt$",
"line": 6,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^cxx/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null,
"debugger": {
"workingDirectory": "^/test/debugger/workingDirectory$"
}

View File

@@ -104,5 +104,11 @@
"id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -108,5 +108,11 @@
"id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -104,5 +104,11 @@
"id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -108,5 +108,11 @@
"id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -92,5 +92,11 @@
"id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -163,5 +163,50 @@
"id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
"fragment": null,
"backtrace": [
{
"file": "^object/CMakeLists\\.txt$",
"line": 14,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^object/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
"backtrace": [
{
"file": "^object/CMakeLists\\.txt$",
"line": 14,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^object/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -90,5 +90,11 @@
"id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -115,5 +115,50 @@
"id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
"fragment": null,
"backtrace": [
{
"file": "^cxx/CMakeLists\\.txt$",
"line": 13,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^cxx/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
"backtrace": [
{
"file": "^cxx/CMakeLists\\.txt$",
"line": 13,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^cxx/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -203,5 +203,11 @@
"id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -117,5 +117,11 @@
"id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -117,5 +117,11 @@
"id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -115,5 +115,50 @@
"id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
"fragment": null,
"backtrace": [
{
"file": "^cxx/CMakeLists\\.txt$",
"line": 17,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^cxx/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
"backtrace": [
{
"file": "^cxx/CMakeLists\\.txt$",
"line": 17,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^cxx/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -92,5 +92,11 @@
"id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -169,5 +169,124 @@
"id": "^ZERO_CHECK::@217a96c3a62328a73ef4$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^import_framework::@217a96c3a62328a73ef4$",
"fragment": null,
"backtrace": [
{
"file": "^framework/CMakeLists\\.txt$",
"line": 17,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^framework/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
},
{
"id": "^shared_framework::@217a96c3a62328a73ef4$",
"fragment": null,
"backtrace": [
{
"file": "^framework/CMakeLists\\.txt$",
"line": 17,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^framework/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
},
{
"id": "^static_framework::@217a96c3a62328a73ef4$",
"fragment": null,
"backtrace": [
{
"file": "^framework/CMakeLists\\.txt$",
"line": 17,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^framework/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^import_framework::@217a96c3a62328a73ef4$",
"backtrace": [
{
"file": "^framework/CMakeLists\\.txt$",
"line": 17,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^framework/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
},
{
"id": "^shared_framework::@217a96c3a62328a73ef4$",
"backtrace": [
{
"file": "^framework/CMakeLists\\.txt$",
"line": 17,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^framework/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
},
{
"id": "^static_framework::@217a96c3a62328a73ef4$",
"backtrace": [
{
"file": "^framework/CMakeLists\\.txt$",
"line": 17,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^framework/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -316,5 +316,11 @@
"id": "^ZERO_CHECK::@[0-9a-f]+$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -35,5 +35,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -69,5 +69,11 @@
"id": "^ZERO_CHECK::@25b7fa8ea00134654b85$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -35,5 +35,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -44,5 +44,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -40,5 +40,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -35,5 +35,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -35,5 +35,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -35,5 +35,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -35,5 +35,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -44,5 +44,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -40,5 +40,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -35,5 +35,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -90,5 +90,11 @@
"id": "^ZERO_CHECK::@79b6367c9e05c77f6a80$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -200,5 +200,98 @@
"id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^interface_lib::@6890427a1f51a3e7e1df$",
"fragment": null,
"backtrace": [
{
"file": "^include_test\\.cmake$",
"line": 4,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^include_test\\.cmake$",
"line": null,
"command": null,
"hasParent": true
},
{
"file": "^codemodel-v2\\.cmake$",
"line": 10,
"command": "include",
"hasParent": true
},
{
"file": "^codemodel-v2\\.cmake$",
"line": null,
"command": null,
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": 3,
"command": "include",
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^interface_lib::@6890427a1f51a3e7e1df$",
"backtrace": [
{
"file": "^include_test\\.cmake$",
"line": 4,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^include_test\\.cmake$",
"line": null,
"command": null,
"hasParent": true
},
{
"file": "^codemodel-v2\\.cmake$",
"line": 10,
"command": "include",
"hasParent": true
},
{
"file": "^codemodel-v2\\.cmake$",
"line": null,
"command": null,
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": 3,
"command": "include",
"hasParent": true
},
{
"file": "^CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -59,5 +59,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -98,5 +98,50 @@
"id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^imported_lib::@ba7eb709d0b48779c6c8$",
"fragment": null,
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 10,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^imported/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^imported_lib::@ba7eb709d0b48779c6c8$",
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 10,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^imported/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -98,5 +98,50 @@
"id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^imported_interface_lib::@ba7eb709d0b48779c6c8$",
"fragment": null,
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 33,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^imported/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^imported_interface_lib::@ba7eb709d0b48779c6c8$",
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 33,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^imported/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -98,5 +98,50 @@
"id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^imported_interface_symbolic_lib::@ba7eb709d0b48779c6c8$",
"fragment": null,
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 37,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^imported/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^imported_interface_symbolic_lib::@ba7eb709d0b48779c6c8$",
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 37,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^imported/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -98,5 +98,50 @@
"id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^imported_object_lib::@ba7eb709d0b48779c6c8$",
"fragment": null,
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 28,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^imported/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^imported_object_lib::@ba7eb709d0b48779c6c8$",
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 28,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^imported/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -98,5 +98,50 @@
"id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^imported_shared_lib::@ba7eb709d0b48779c6c8$",
"fragment": null,
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 18,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^imported/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^imported_shared_lib::@ba7eb709d0b48779c6c8$",
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 18,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^imported/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -98,5 +98,50 @@
"id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^imported_static_lib::@ba7eb709d0b48779c6c8$",
"fragment": null,
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 23,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^imported/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^imported_static_lib::@ba7eb709d0b48779c6c8$",
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 23,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^imported/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -159,5 +159,87 @@
"id": "^ZERO_CHECK::@79b6367c9e05c77f6a80$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^transitive_direct_lib::@79b6367c9e05c77f6a80$",
"fragment": null,
"backtrace": [
{
"file": "^direct/CMakeLists\\.txt$",
"line": 18,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^direct/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
},
{
"id": "^inject_direct_lib_impl::@79b6367c9e05c77f6a80$",
"fragment": null,
"backtrace": [
{
"file": "^direct/CMakeLists\\.txt$",
"line": 13,
"command": "set_property",
"hasParent": true
},
{
"file": "^direct/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": "^inject_direct_lib::@79b6367c9e05c77f6a80$"
}
],
"interfaceLinkLibraries": null,
"compileDependencies": [
{
"id": "^transitive_direct_lib::@79b6367c9e05c77f6a80$",
"backtrace": [
{
"file": "^direct/CMakeLists\\.txt$",
"line": 18,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^direct/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
},
{
"id": "^inject_direct_lib_impl::@79b6367c9e05c77f6a80$",
"backtrace": [
{
"file": "^direct/CMakeLists\\.txt$",
"line": 13,
"command": "set_property",
"hasParent": true
},
{
"file": "^direct/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": "^inject_direct_lib::@79b6367c9e05c77f6a80$"
}
],
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -115,5 +115,31 @@
"id": "^ZERO_CHECK::@79b6367c9e05c77f6a80$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^usage_lib::@79b6367c9e05c77f6a80$",
"fragment": null,
"backtrace": [
{
"file": "^direct/CMakeLists\\.txt$",
"line": 39,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^direct/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -110,5 +110,11 @@
"id": "^ZERO_CHECK::@217a96c3a62328a73ef4$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -92,5 +92,11 @@
"id": "^ZERO_CHECK::@217a96c3a62328a73ef4$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -92,5 +92,105 @@
"id": "^ZERO_CHECK::@79b6367c9e05c77f6a80$",
"backtrace": null
}
]
],
"linkLibraries": [
{
"id": "^inject_direct_lib::@79b6367c9e05c77f6a80$",
"fragment": null,
"backtrace": [
{
"file": "^direct/CMakeLists\\.txt$",
"line": 28,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^direct/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceLinkLibraries": [
{
"id": "^inject_direct_lib::@79b6367c9e05c77f6a80$",
"fragment": null,
"backtrace": [
{
"file": "^direct/CMakeLists\\.txt$",
"line": 28,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^direct/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
]
},
{
"id": null,
"fragment": "-lm",
"backtrace": [
{
"file": "^direct/CMakeLists\\.txt$",
"line": 28,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^direct/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
]
}
],
"compileDependencies": [
{
"id": "^inject_direct_lib::@79b6367c9e05c77f6a80$",
"backtrace": [
{
"file": "^direct/CMakeLists\\.txt$",
"line": 28,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^direct/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"fromDependency": null
}
],
"interfaceCompileDependencies": [
{
"id": "^inject_direct_lib::@79b6367c9e05c77f6a80$",
"backtrace": [
{
"file": "^direct/CMakeLists\\.txt$",
"line": 28,
"command": "target_link_libraries",
"hasParent": true
},
{
"file": "^direct/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
]
}
],
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -92,5 +92,11 @@
"id": "^ZERO_CHECK::@79b6367c9e05c77f6a80$",
"backtrace": null
}
]
],
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -73,5 +73,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -73,5 +73,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -73,5 +73,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -73,5 +73,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -73,5 +73,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -73,5 +73,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -73,5 +73,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -73,5 +73,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -73,5 +73,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}

View File

@@ -73,5 +73,11 @@
"install": null,
"link": null,
"archive": null,
"dependencies": null
"dependencies": null,
"linkLibraries": null,
"interfaceLinkLibraries": null,
"compileDependencies": null,
"interfaceCompileDependencies": null,
"objectDependencies": null,
"orderDependencies": null
}