1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-15 03:48:02 +08:00

FileAPI: Add symbolic property to targets

This commit is contained in:
Taylor Sasser
2025-09-30 15:24:14 -04:00
parent d92b6c3e20
commit 62a1d3e7f1
80 changed files with 292 additions and 5 deletions

View File

@@ -1134,6 +1134,15 @@ with members:
This field was added in codemodel version 2.9. Abstract targets were not
included in codemodel version 2.8 and earlier.
``symbolic``
Optional member that is present with boolean value ``true`` if the target
is :prop_tgt:`SYMBOLIC`. Symbolic targets are created by calls to
:command:`add_library(INTERFACE SYMBOLIC) <add_library(INTERFACE-SYMBOLIC)>`,
and are also abstract targets that are not part of the build system.
This field was added in codemodel version 2.9. Symbolic targets were not
included in codemodel version 2.8 and earlier.
``backtrace``
Optional member that is present when a CMake language backtrace to
the command in the source code that created the target is available.

View File

@@ -93,6 +93,10 @@
"type": "boolean",
"description": "True if the target is defined in a local scope rather than being a global target"
},
"symbolicV2_9": {
"type": "boolean",
"description": "True if an interface target has the SYMBOLIC property set"
},
"abstractV2_9": {
"type": "boolean",
"description": "True if the target is not part of the build system"
@@ -1416,6 +1420,9 @@
"sources": {
"$ref": "#/definitions/sourcesV2_5"
},
"symbolic": {
"$ref": "#/definitions/symbolicV2_9"
},
"sourceGroups": {
"$ref": "#/definitions/sourceGroups"
},

View File

@@ -1269,6 +1269,9 @@ Json::Value Target::Dump()
target["local"] = true;
}
}
if (this->GT->IsSymbolic()) {
target["symbolic"] = true;
}
if (!this->GT->IsInBuildSystem()) {
target["abstract"] = true;
}

View File

@@ -314,6 +314,10 @@ def check_target(c, major, minor):
expected_keys.append("abstract")
assert is_bool(obj["abstract"], expected["abstract"])
if expected["symbolic"] is not None:
expected_keys.append("symbolic")
assert is_bool(obj["symbolic"], expected["symbolic"])
assert is_dict(obj["paths"])
assert sorted(obj["paths"].keys()) == ["build", "source"]
assert matches(obj["paths"]["build"], expected["build"])
@@ -895,6 +899,7 @@ def gen_check_build_system_targets(c, g, inSource):
read_codemodel_json_data("targets/link_imported_static_exe.json"),
read_codemodel_json_data("targets/link_imported_object_exe.json"),
read_codemodel_json_data("targets/link_imported_interface_exe.json"),
read_codemodel_json_data("targets/link_imported_interface_symbolic_exe.json"),
read_codemodel_json_data("targets/all_build_interface.json"),
read_codemodel_json_data("targets/zero_check_interface.json"),
@@ -1063,11 +1068,13 @@ def gen_check_abstract_targets(c, g, inSource):
read_codemodel_json_data("targets/imported_exe.json"),
read_codemodel_json_data("targets/imported_lib.json"),
read_codemodel_json_data("targets/imported_interface_lib.json"),
read_codemodel_json_data("targets/imported_interface_symbolic_lib.json"),
read_codemodel_json_data("targets/imported_object_lib.json"),
read_codemodel_json_data("targets/imported_shared_lib.json"),
read_codemodel_json_data("targets/imported_static_lib.json"),
read_codemodel_json_data("targets/iface_none.json"),
read_codemodel_json_data("targets/iface_symbolic.json")
]
if sys.platform == "darwin":

View File

@@ -8,6 +8,7 @@
"^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
"^link_imported_exe::@ba7eb709d0b48779c6c8$",
"^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
"^link_imported_interface_symbolic_exe::@ba7eb709d0b48779c6c8$",
"^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
"^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
"^link_imported_static_exe::@ba7eb709d0b48779c6c8$"
@@ -15,6 +16,7 @@
"abstractTargetIds": [
"^imported_exe::@ba7eb709d0b48779c6c8$",
"^imported_interface_lib::@ba7eb709d0b48779c6c8$",
"^imported_interface_symbolic_lib::@ba7eb709d0b48779c6c8$",
"^imported_lib::@ba7eb709d0b48779c6c8$",
"^imported_object_lib::@ba7eb709d0b48779c6c8$",
"^imported_shared_lib::@ba7eb709d0b48779c6c8$",
@@ -42,7 +44,7 @@
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 35,
"line": 39,
"command": "install",
"hasParent": true
},
@@ -72,7 +74,7 @@
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 38,
"line": 42,
"command": "install",
"hasParent": true
},

View File

@@ -9,7 +9,8 @@
"^iface_srcs::@25b7fa8ea00134654b85$"
],
"abstractTargetIds": [
"^iface_none::@25b7fa8ea00134654b85$"
"^iface_none::@25b7fa8ea00134654b85$",
"^iface_symbolic::@25b7fa8ea00134654b85$"
],
"projectName": "Interface",
"minimumCMakeVersion": "3.13",

View File

@@ -12,12 +12,14 @@
"^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
"^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
"^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
"^link_imported_interface_exe::@ba7eb709d0b48779c6c8$"
"^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
"^link_imported_interface_symbolic_exe::@ba7eb709d0b48779c6c8$"
],
"abstractTargetIds": [
"^imported_exe::@ba7eb709d0b48779c6c8$",
"^imported_lib::@ba7eb709d0b48779c6c8$",
"^imported_interface_lib::@ba7eb709d0b48779c6c8$",
"^imported_interface_symbolic_lib::@ba7eb709d0b48779c6c8$",
"^imported_object_lib::@ba7eb709d0b48779c6c8$",
"^imported_shared_lib::@ba7eb709d0b48779c6c8$",
"^imported_static_lib::@ba7eb709d0b48779c6c8$"

View File

@@ -11,6 +11,7 @@
"^iface_srcs::@25b7fa8ea00134654b85$"
],
"abstractTargetIds": [
"^iface_none::@25b7fa8ea00134654b85$"
"^iface_none::@25b7fa8ea00134654b85$",
"^iface_symbolic::@25b7fa8ea00134654b85$"
]
}

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [
@@ -96,6 +97,10 @@
{
"id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
},
{
"id": "^link_imported_interface_symbolic_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
}
]
}

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [
@@ -201,6 +202,10 @@
"id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
},
{
"id": "^link_imported_interface_symbolic_exe::@ba7eb709d0b48779c6c8$",
"backtrace": null
},
{
"id": "^iface_srcs::@25b7fa8ea00134654b85$",
"backtrace": null

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": [
{

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": [
{

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": true,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [],

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -0,0 +1,39 @@
{
"name": "iface_symbolic",
"id": "^iface_symbolic::@25b7fa8ea00134654b85$",
"directorySource": "^interface$",
"projectName": "Interface",
"type": "INTERFACE_LIBRARY",
"imported": null,
"local": null,
"symbolic": true,
"abstract": true,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [],
"sourceGroups": null,
"compileGroups": null,
"backtrace": [
{
"file": "^interface/CMakeLists\\.txt$",
"line": 4,
"command": "add_library",
"hasParent": true
},
{
"file": "^interface/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"folder": null,
"nameOnDisk": null,
"artifacts": null,
"build": "^interface$",
"source": "^interface$",
"install": null,
"link": null,
"archive": null,
"dependencies": null
}

View File

@@ -7,6 +7,7 @@
"imported": true,
"local": true,
"abstract": true,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [],

View File

@@ -7,6 +7,7 @@
"imported": true,
"local": true,
"abstract": true,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [],

View File

@@ -7,6 +7,7 @@
"imported": true,
"local": true,
"abstract": true,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [],

View File

@@ -0,0 +1,39 @@
{
"name": "imported_interface_symbolic_lib",
"id": "^imported_interface_symbolic_lib::@ba7eb709d0b48779c6c8$",
"directorySource": "^imported$",
"projectName": "Imported",
"type": "INTERFACE_LIBRARY",
"imported": true,
"local": true,
"abstract": true,
"symbolic": true,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [],
"sourceGroups": null,
"compileGroups": null,
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 35,
"command": "add_library",
"hasParent": true
},
{
"file": "^imported/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"folder": null,
"nameOnDisk": null,
"artifacts": null,
"build": "^imported$",
"source": "^imported$",
"install": null,
"link": null,
"archive": null,
"dependencies": null
}

View File

@@ -7,6 +7,7 @@
"imported": true,
"local": true,
"abstract": true,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [],

View File

@@ -7,6 +7,7 @@
"imported": true,
"local": true,
"abstract": true,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [],

View File

@@ -7,6 +7,7 @@
"imported": true,
"local": true,
"abstract": true,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [],

View File

@@ -7,6 +7,7 @@
"imported": true,
"local": true,
"abstract": true,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [],

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": true,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [],

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -0,0 +1,97 @@
{
"name": "link_imported_interface_symbolic_exe",
"id": "^link_imported_interface_symbolic_exe::@ba7eb709d0b48779c6c8$",
"directorySource": "^imported$",
"projectName": "Imported",
"type": "EXECUTABLE",
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [
{
"path": "^empty\\.c$",
"isGenerated": null,
"fileSetName": null,
"sourceGroupName": "Source Files",
"compileGroupLanguage": "C",
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 36,
"command": "add_executable",
"hasParent": true
},
{
"file": "^imported/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
]
}
],
"sourceGroups": [
{
"name": "Source Files",
"sourcePaths": [
"^empty\\.c$"
]
}
],
"compileGroups": [
{
"language": "C",
"sourcePaths": [
"^empty\\.c$"
],
"includes": null,
"frameworks": null,
"defines": null,
"compileCommandFragments": null
}
],
"backtrace": [
{
"file": "^imported/CMakeLists\\.txt$",
"line": 36,
"command": "add_executable",
"hasParent": true
},
{
"file": "^imported/CMakeLists\\.txt$",
"line": null,
"command": null,
"hasParent": false
}
],
"folder": null,
"nameOnDisk": "^link_imported_interface_symbolic_exe(\\.exe)?$",
"artifacts": [
{
"path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_interface_symbolic_exe(\\.exe)?$",
"_dllExtra": false
},
{
"path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_interface_symbolic_exe\\.pdb$",
"_dllExtra": true
}
],
"build": "^imported$",
"source": "^imported$",
"install": null,
"link": {
"language": "C",
"lto": null,
"commandFragments": null
},
"archive": null,
"dependencies": [
{
"id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
"backtrace": null
}
]
}

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": null,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -7,6 +7,7 @@
"imported": null,
"local": null,
"abstract": null,
"symbolic": null,
"isGeneratorProvided": true,
"fileSets": null,
"sources": [

View File

@@ -32,6 +32,10 @@ add_library(imported_interface_lib INTERFACE IMPORTED)
add_executable(link_imported_interface_exe ../empty.c)
target_link_libraries(link_imported_interface_exe PRIVATE imported_interface_lib)
add_library(imported_interface_symbolic_lib INTERFACE SYMBOLIC IMPORTED)
add_executable(link_imported_interface_symbolic_exe ../empty.c)
target_link_libraries(link_imported_interface_symbolic_exe PRIVATE imported_interface_lib)
install(IMPORTED_RUNTIME_ARTIFACTS imported_shared_lib
DESTINATION lib
)

View File

@@ -1,3 +1,4 @@
project(Interface)
add_library(iface_none INTERFACE)
add_library(iface_srcs INTERFACE ../empty.c)
add_library(iface_symbolic INTERFACE SYMBOLIC)