Merge topic 'fileapi-file-sets-base-dirs-relative'

a3a85524cd fileapi: Fix file sets' base directories relative to top source

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8977
This commit is contained in:
Brad King
2023-11-20 14:12:42 +00:00
committed by Kitware Robot
4 changed files with 9 additions and 7 deletions

View File

@@ -1094,7 +1094,9 @@ with members:
``baseDirectories``
A JSON array of strings specifying the base directories containing sources
in the file set.
in the file set. If the file is inside the top-level source directory
then the path is specified relative to that directory. Otherwise the path
is absolute.
This field was added in codemodel version 2.5.

View File

@@ -1635,7 +1635,7 @@ Json::Value Target::DumpFileSet(cmFileSet const* fs,
Json::Value baseDirs = Json::arrayValue;
for (auto const& directory : directories) {
baseDirs.append(directory);
baseDirs.append(RelativeIfUnder(this->TopSource, directory));
}
fileSet["baseDirectories"] = baseDirs;

View File

@@ -10,25 +10,25 @@
"name": "HEADERS",
"type": "HEADERS",
"visibility": "PUBLIC",
"baseDirectories": [".*/Tests/RunCMake/FileAPI/fileset$"]
"baseDirectories": ["^fileset$"]
},
{
"name": "a",
"type": "HEADERS",
"visibility": "PRIVATE",
"baseDirectories": [".*/Tests/RunCMake/FileAPI/fileset$"]
"baseDirectories": ["^fileset$"]
},
{
"name": "b",
"type": "HEADERS",
"visibility": "PUBLIC",
"baseDirectories": [".*/Tests/RunCMake/FileAPI/fileset/dir$"]
"baseDirectories": ["^fileset/dir$"]
},
{
"name": "c",
"type": "HEADERS",
"visibility": "INTERFACE",
"baseDirectories": [".*/Tests/RunCMake/FileAPI/fileset$"]
"baseDirectories": ["^fileset$"]
}
],
"sources": [

View File

@@ -10,7 +10,7 @@
"name": "HEADERS",
"type": "HEADERS",
"visibility": "INTERFACE",
"baseDirectories": [".*/Tests/RunCMake/FileAPI/fileset$"]
"baseDirectories": ["^fileset$"]
}
],
"sources": [