Merge topic 'fbuild_compdb'

5e25ee691a FASTBuild: generate compile_commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11373
This commit is contained in:
Brad King 2025-10-30 12:57:31 +00:00 committed by Kitware Robot
commit 8eb6796779
3 changed files with 14 additions and 4 deletions

View File

@ -477,11 +477,18 @@ void cmGlobalFastbuildGenerator::Generate()
this->GetCMakeInstance()->GetIsInTryCompile()) {
return;
}
std::string const workingDir =
this->GetCMakeInstance()->GetHomeOutputDirectory();
// Make "rebuild-bff" target up-to-date after the generation.
// This is actually a noop, it just asks CMake to touch the generated file
// so FASTBuild would consider the target as up-to-date.
AskCMakeToMakeRebuildBFFUpToDate(
this->GetCMakeInstance()->GetHomeOutputDirectory());
AskCMakeToMakeRebuildBFFUpToDate(workingDir);
if (this->GlobalSettingIsOn("CMAKE_EXPORT_COMPILE_COMMANDS")) {
std::string output;
ExecuteFastbuildTarget(workingDir, FASTBUILD_ALL_TARGET_NAME, output,
{ "-compdb" });
}
}
void cmGlobalFastbuildGenerator::AskCMakeToMakeRebuildBFFUpToDate(

View File

@ -407,7 +407,7 @@ add_RunCMake_test(Configure -DMSVC_IDE=${MSVC_IDE})
add_RunCMake_test(CpsExportImportBuild)
add_RunCMake_test(CpsExportImportInstall)
add_RunCMake_test(DisallowedCommands)
if("${CMAKE_GENERATOR}" MATCHES "Unix Makefiles|Ninja")
if("${CMAKE_GENERATOR}" MATCHES "Unix Makefiles|Ninja|FASTBuild")
add_RunCMake_test(ExportCompileCommands)
endif()
add_RunCMake_test(ExcludeFromAll)

View File

@ -9,4 +9,7 @@ endif()
run_cmake_with_options(BeforeProject -DCMAKE_PROJECT_INCLUDE_BEFORE=BeforeProjectBEFORE.cmake)
run_cmake(CustomCompileRule)
run_cmake(Properties)
run_cmake(PropertiesGenerateCommand)
if(NOT RunCMake_GENERATOR STREQUAL "FASTBuild")
run_cmake(PropertiesGenerateCommand)
endif()