summaryrefslogtreecommitdiffstats
path: root/Source/cmFileSet.cxx
Commit message (Collapse)AuthorAgeFilesLines
* GenEx: Consolidate target property evaluation context argumentsBrad King2025-09-221-11/+10
|
* cmFileSet: Constify local generator usageBrad King2025-09-211-2/+2
|
* LICENSE: Replace references to Copyright.txt with LICENSE.rstKitware Robot2025-03-031-1/+1
| | | | | | | | | | ``` git grep -lz 'Copyright.txt or https://cmake.org/licensing ' | while IFS= read -r -d $'\0' f ; do sed -i '/Copyright.txt or https:\/\/cmake.org\/licensing / { s/Copyright.txt/LICENSE.rst/ }' "$f" ; done ```
* Revise C++ coding style using clang-format with "east const"Kitware Robot2025-01-231-10/+10
| | | | | | | | | | | | | | | Run the `clang-format.bash` script to update all our C and C++ code to a new style defined by `.clang-format`, now with "east const" enforcement. Use `clang-format` version 18. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit. Issue: #26123
* cmFileSet: Fix poor performance of large file sets with export() on WindowsJochem van Boxtel2024-06-041-5/+31
| | | | | | | | | | | | | | | Exporting targets having large FILE_SETs with install(EXPORT) or export(EXPORT) currently performs poorly on Windows compared to Unix-like systems, because cmFileSet::EvaluateDirectoryEntries calls SystemTools::SameFile on every pair of parent directories in the file set. SystemTools::SameFile opens and closes two read-only filesystem handles. This causes a significant performance drop on Windows for FILE_SETs with even a couple of dozens of files. Use the recently added SystemTools::GetFileId function in kwsys (https://gitlab.kitware.com/utils/kwsys/-/merge_requests/298) instead of SameFile to cache the identity of a directory in cmFileSet::EvaluateDirectoryEntries. This means only one filesystem handle is needed per distinct directory path, instead of two per (even if they're equal) directory pair.
* cmFileSet: add a query for includeable file set typesBen Boeckel2023-10-201-0/+5
|
* cxxmodules: generate synthetic targets as an initial passBen Boeckel2023-08-171-0/+7
| | | | | | We need to be able to construct BMIs that will be usable from the client modules for the target importing the module, so create BMI-only compilation rules for `IMPORTED` targets to create these BMIs.
* CMake code rely on cmList class for CMake lists management (part. 1)Marc Chevrier2023-04-241-4/+5
|
* cmGeneratorExpression: Require cmake instanceKyle Edwards2022-11-111-4/+5
|
* cmFileSet: support makefile-less error reporting of visibilityBen Boeckel2022-04-271-3/+6
|
* cmFileSet: store visibility with the filesetBen Boeckel2022-04-111-1/+61
| | | | | The visibility is intrinsic to the fileset, so store it with it. This avoids recalculating it on every addition to the fileset.
* target_sources(): Enforce stricter requirements for FILE_SET nameKyle Edwards2022-03-031-0/+10
| | | | Fixes: #23286
* cmTarget: Add cmFileSet and associated propertiesKyle Edwards2021-10-271-0/+151