-
Notifications
You must be signed in to change notification settings - Fork 514
Description
Brief Issue Summary
Some UTILITY targets, such as the ones created by Doxygen.cmake, have a list of sources attached. If one of these targets happens to be placed at index [0] in the list of configurations passed to CppConfigurationProvider.updateFileGroup() by updateConfigurationData(), then provideConfigurations() for those sources will provide incomplete configurations for those sources.
This is because such a UTILITY target breaks the assumption articulated in this comment in getConfiguration():
return configurations?.values().next().value; // Any value is fine if the target doesn't matchCMake Tools Diagnostics
// With "all" selected as Build Target:
{
"os": "linux",
"vscodeVersion": "1.99.2",
"cmtVersion": "1.13.0",
"configurations": [
{
"folder": "/home/malsyned/work/preferred/fsg/preferred-fsg",
"cmakeVersion": "4.0.0",
"configured": true,
"generator": "Unix Makefiles",
"usesPresets": true,
"compilers": {
"C": "/home/malsyned/packages/LLVM-ET-Arm-19.1.5-Linux-x86_64/bin/clang",
"CXX": "/home/malsyned/packages/LLVM-ET-Arm-19.1.5-Linux-x86_64/bin/clang++"
}
}
],
"cpptoolsIntegration": {
"isReady": true,
"hasCodeModel": true,
"activeBuildType": "Debug",
"buildTypesSeen": [
"Debug"
],
"requests": [
"file:///home/malsyned/work/preferred/fsg/preferred-fsg/src/main.c"
],
"responses": [
{
"uri": "file:///home/malsyned/work/preferred/fsg/preferred-fsg/src/main.c",
"configuration": {
"includePath": [],
"defines": [],
"compilerPath": "/home/malsyned/packages/LLVM-ET-Arm-19.1.5-Linux-x86_64/bin/clang++",
"compilerArgs": [],
"compilerFragments": [
"--target=arm-none-eabi"
]
}
}
],
"partialMatches": [],
"targetCount": 44,
"executablesCount": 2,
"librariesCount": 12,
"targets": []
},
"settings": [
{
"communicationMode": "automatic",
"useCMakePresets": "auto",
"configureOnOpen": true
}
]
}
// With a valid executable selected as Build Target
{
"os": "linux",
"vscodeVersion": "1.99.2",
"cmtVersion": "1.13.0",
"configurations": [
{
"folder": "/home/malsyned/work/preferred/fsg/preferred-fsg",
"cmakeVersion": "4.0.0",
"configured": true,
"generator": "Unix Makefiles",
"usesPresets": true,
"compilers": {
"C": "/home/malsyned/packages/LLVM-ET-Arm-19.1.5-Linux-x86_64/bin/clang",
"CXX": "/home/malsyned/packages/LLVM-ET-Arm-19.1.5-Linux-x86_64/bin/clang++"
}
}
],
"cpptoolsIntegration": {
"isReady": true,
"hasCodeModel": true,
"activeBuildType": "Debug",
"buildTypesSeen": [
"Debug"
],
"requests": [
"file:///home/malsyned/work/preferred/fsg/preferred-fsg/src/main.c"
],
"responses": [
{
"uri": "file:///home/malsyned/work/preferred/fsg/preferred-fsg/src/main.c",
"configuration": {
"includePath": [
"/home/malsyned/work/preferred/fsg/preferred-fsg/src/app",
"/home/malsyned/work/preferred/fsg/preferred-fsg/build/arm-debug/_deps/freertos-kernel-src/include",
"/home/malsyned/work/preferred/fsg/preferred-fsg/src/arm/ti/rm44l520pge/openrtos",
"/home/malsyned/work/preferred/fsg/preferred-fsg/src/arm/ti/rm44l520pge/halcogen",
"/home/malsyned/work/preferred/fsg/preferred-fsg/src/arm/ti/rm44l520pge/halcogen/include",
"/home/malsyned/work/preferred/fsg/preferred-fsg/build/arm-debug/src/arm/ti/rm44l520pge/openrtos/Source_Code/OpenRTOS/kernel/portable/GCC/Hercules",
"/home/malsyned/work/preferred/fsg/preferred-fsg/src/arm",
"/home/malsyned/work/preferred/fsg/preferred-fsg/build/arm-debug/_deps/rtt-src/RTT",
"/home/malsyned/work/preferred/fsg/preferred-fsg/src/arm/ti/rm44l520pge"
],
"defines": [
"DEBUG"
],
"compilerPath": "/home/malsyned/packages/LLVM-ET-Arm-19.1.5-Linux-x86_64/bin/clang",
"compilerArgs": [],
"compilerFragments": [
"-mcpu=cortex-r4f -mfpu=vfpv3-d16 -mfloat-abi=hard -fno-strict-aliasing -fdata-sections -ffunction-sections -g",
"-g3",
"-fdebug-macro",
"--target=arm-none-eabi"
]
}
}
],
"partialMatches": [],
"targetCount": 44,
"executablesCount": 2,
"librariesCount": 12,
"targets": []
},
"settings": [
{
"communicationMode": "automatic",
"useCMakePresets": "auto",
"configureOnOpen": true
}
]
}Debug Log
[main] Configuring project: preferred-fsg
[main] Saving open files before configure/build
[driver] Removing /home/malsyned/work/preferred/fsg/preferred-fsg/build/arm-debug/CMakeCache.txt
[driver] Removing /home/malsyned/work/preferred/fsg/preferred-fsg/build/arm-debug/CMakeFiles
[driver] Start configure
[driver] Running pre-configure checks and steps
[cmakefileapi-driver] Configuring using preset
[cmakefileapi-driver] Invoking CMake /usr/bin/cmake with arguments ["-DARM_CPU=cortex-r4f","-DARM_FPU=vfpv3-d16","-DARM_FLOAT_ABI=hard","-DCMAKE_EXPORT_COMPILE_COMMANDS=1","-DCPPUTEST_TESTS_DETAILED=1","-DCMAKE_BUILD_TYPE=Debug","-DCMAKE_TOOLCHAIN_FILE=cmake/llvm-et-arm.cmake","-S","/home/malsyned/work/preferred/fsg/preferred-fsg","-B","/home/malsyned/work/preferred/fsg/preferred-fsg/build/arm-debug"]
[proc] Executing command: /usr/bin/cmake -DARM_CPU=cortex-r4f -DARM_FPU=vfpv3-d16 -DARM_FLOAT_ABI=hard -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCPPUTEST_TESTS_DETAILED=1 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=cmake/llvm-et-arm.cmake -S /home/malsyned/work/preferred/fsg/preferred-fsg -B /home/malsyned/work/preferred/fsg/preferred-fsg/build/arm-debug
[proc] with environment: {"CASROOT":"/usr","CHROME_DESKTOP":"code.desktop","CINNAMON_VERSION":"6.4.9","CMT_DEVRUN":"1","CSF_DrawPluginDefaults":"/usr/share/opencascade/resources/DrawResources","CSF_EXCEPTION_PROMPT":"1","CSF_IGESDefaults":"/usr/share/opencascade/resources/XSTEPResource","CSF_LANGUAGE":"us","CSF_MDTVTexturesDirectory":"/usr/share/opencascade/resources/Textures","CSF_MIGRATION_TYPES":"/usr/share/opencascade/resources/StdResource/MigrationSheet.txt","CSF_OCCTResourcePath":"/usr/share/opencascade/resources","CSF_PluginDefaults":"/usr/share/opencascade/resources/StdResource","CSF_SHMessage":"/usr/share/opencascade/resources/SHMessage","CSF_STEPDefaults":"/usr/share/opencascade/resources/XSTEPResource","CSF_ShadersDirectory":"/usr/share/opencascade/resources/Shaders","CSF_StandardDefaults":"/usr/share/opencascade/resources/StdResource","CSF_StandardLiteDefaults":"/usr/share/opencascade/resources/StdResource","CSF_TObjDefaults":"/usr/share/opencascade/resources/StdResource","CSF_TObjMessage":"/usr/share/opencascade/resources/TObj","CSF_XCAFDefaults":"/usr/share/opencascade/resources/StdResource","CSF_XSMessage":"/usr/share/opencascade/resources/XSMessage","CSF_XmlOcafResource":"/usr/share/opencascade/resources/XmlOcafResource","DBUS_SESSION_BUS_ADDRESS":"unix:path=/run/user/1000/bus","DEBUGINFOD_URLS":"https://debuginfod.archlinux.org ","DESKTOP_SESSION":"cinnamon","DISPLAY":":0","DRAWDEFAULT":"/usr/share/opencascade/resources/DrawResources/DrawDefault","DRAWHOME":"/usr/share/opencascade/resources/DrawResources","EDITOR":"/usr/bin/nano","ELECTRON_NO_ATTACH_CONSOLE":"1","GDK_BACKEND":"x11","GDMSESSION":"cinnamon","GIO_LAUNCHED_DESKTOP_FILE":"/usr/share/applications/code.desktop","GIO_LAUNCHED_DESKTOP_FILE_PID":"14652","GJS_DEBUG_OUTPUT":"stderr","GJS_DEBUG_TOPICS":"JS ERROR;JS LOG","GNOME_DESKTOP_SESSION_ID":"this-is-deprecated","GTK2_RC_FILES":"/home/malsyned/.gtkrc-2.0","GTK3_MODULES":"xapp-gtk3-module","GTK_MODULES":"canberra-gtk-module","HG":"/usr/bin/hg","HOME":"/home/malsyned","LANG":"en_US.UTF-8","LC_ADDRESS":"en_US.UTF-8","LC_IDENTIFICATION":"en_US.UTF-8","LC_MEASUREMENT":"en_US.UTF-8","LC_MONETARY":"en_US.UTF-8","LC_NAME":"en_US.UTF-8","LC_NUMERIC":"en_US.UTF-8","LC_PAPER":"en_US.UTF-8","LC_TELEPHONE":"en_US.UTF-8","LC_TIME":"en_US.UTF-8","LESSOPEN":"|/usr/bin/lesspipe.sh %s","LIBVA_DRIVER_NAME":"nvidia","LLVM_ET_ARM_PATH":"/home/malsyned/packages/LLVM-ET-Arm-19.1.5-Linux-x86_64","LOGNAME":"malsyned","MAIL":"/var/spool/mail/malsyned","MMGT_CLEAR":"1","MOTD_SHOWN":"pam","NO_AT_BRIDGE":"1","ORIGINAL_XDG_CURRENT_DESKTOP":"X-Cinnamon","PATH":"/home/malsyned/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/opt/microchip/xc16/v2.10/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin","PWD":"/home/malsyned","PYTHONSTARTUP":"/home/malsyned/.pythonrc","QT_QPA_PLATFORMTHEME":"qt5ct","SAL_USE_VCLPLUGIN":"gtk","SESSION_MANAGER":"local/malsyned:@/tmp/.ICE-unix/3848,unix/malsyned:/tmp/.ICE-unix/3848","SHELL":"/bin/bash","SHLVL":"1","USER":"malsyned","VSCODE_CLI":"1","VSCODE_CRASH_REPORTER_PROCESS_TYPE":"extensionHost","VSCODE_CWD":"/home/malsyned","VSCODE_ESM_ENTRYPOINT":"vs/workbench/api/node/extensionHostProcess","VSCODE_HANDLES_UNCAUGHT_ERRORS":"true","VSCODE_IPC_HOOK":"/run/user/1000/vscode-f2c9b164-1.99-main.sock","VSCODE_NLS_CONFIG":"{\"userLocale\":\"en-us\",\"osLocale\":\"en-us\",\"resolvedLanguage\":\"en\",\"defaultMessagesFile\":\"/opt/visual-studio-code/resources/app/out/nls.messages.json\",\"locale\":\"en-us\",\"availableLanguages\":{}}","VSCODE_PID":"14670","XAUTHORITY":"/home/malsyned/.Xauthority","XC16_TOOLCHAIN_ROOT":"/opt/microchip/xc16/v2.10","XDG_CURRENT_DESKTOP":"X-Cinnamon","XDG_DATA_DIRS":"/home/malsyned/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop","XDG_GREETER_DATA_DIR":"/var/lib/lightdm-data/malsyned","XDG_RUNTIME_DIR":"/run/user/1000","XDG_SEAT":"seat0","XDG_SEAT_PATH":"/org/freedesktop/DisplayManager/Seat0","XDG_SESSION_CLASS":"user","XDG_SESSION_DESKTOP":"cinnamon","XDG_SESSION_ID":"2","XDG_SESSION_PATH":"/org/freedesktop/DisplayManager/Session0","XDG_SESSION_TYPE":"x11","XDG_VTNR":"7","_":"/opt/visual-studio-code/bin/../code","ELECTRON_RUN_AS_NODE":"1","VSCODE_L10N_BUNDLE_LOCATION":"","VSCODE_DOTNET_INSTALL_TOOL_ORIGINAL_HOME":"/home/malsyned","APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL":"1","APPLICATIONINSIGHTS_CONFIGURATION_CONTENT":"{}"}
[cmake] -- The C compiler identification is Clang 19.1.5
[cmake] -- The CXX compiler identification is Clang 19.1.5
[cmake] -- The ASM compiler identification is Clang with GNU-like command-line
[cmake] -- Found assembler: /home/malsyned/packages/LLVM-ET-Arm-19.1.5-Linux-x86_64/bin/clang
[cmake] -- Detecting C compiler ABI info
[cmake] -- Detecting C compiler ABI info - done
[cmake] -- Check for working C compiler: /home/malsyned/packages/LLVM-ET-Arm-19.1.5-Linux-x86_64/bin/clang - skipped
[cmake] -- Detecting C compile features
[cmake] -- Detecting C compile features - done
[cmake] -- Detecting CXX compiler ABI info
[cmake] -- Detecting CXX compiler ABI info - done
[cmake] -- Check for working CXX compiler: /home/malsyned/packages/LLVM-ET-Arm-19.1.5-Linux-x86_64/bin/clang++ - skipped
[cmake] -- Detecting CXX compile features
[cmake] -- Detecting CXX compile features - done
[cmake] -- Performing Test DEBUG_MACRO_FLAG
[cmake] -- Performing Test DEBUG_MACRO_FLAG - Success
[cmake] -- Performing Test GENERAL_REGS_ONLY_FLAG
[cmake] -- Performing Test GENERAL_REGS_ONLY_FLAG - Failed
[cmake] -- Performing Test WARN_VFP_CLOBBER_FLAG
[cmake] -- Performing Test WARN_VFP_CLOBBER_FLAG - Success
[cmake] -- Found Doxygen: /usr/bin/doxygen (found version "1.13.2") found components: doxygen dot
[cmake] -- Found Git: /usr/bin/git (found version "2.49.0")
[cmake] -- Using a custom FREERTOS_PORT.
[cmake] -- Looking for sys/types.h
[cmake] -- Looking for sys/types.h - found
[cmake] -- Looking for stdint.h
[cmake] -- Looking for stdint.h - found
[cmake] -- Looking for stddef.h
[cmake] -- Looking for stddef.h - found
[cmake] -- Check size of long long
[cmake] -- Check size of long long - done
[cmake] -- Setting CPPUTEST_PLATFORM: Gcc
[cmake] -- Looking for fopen_s
[cmake] -- Looking for fopen_s - not found
[cmake] -- Looking for kill
[cmake] -- Looking for kill - not found
[cmake] -- Looking for fork
[cmake] -- Looking for fork - not found
[cmake] -- Looking for waitpid
[cmake] -- Looking for waitpid - not found
[cmake] -- Looking for gettimeofday
[cmake] -- Looking for gettimeofday - not found
[cmake] -- Looking for pthread_mutex_lock
[cmake] -- Looking for pthread_mutex_lock - not found
[cmake] -- Looking for strdup
[cmake] -- Looking for strdup - not found
[cmake] -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
[cmake] -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
[cmake] -- Check if compiler accepts -pthread
[cmake] -- Check if compiler accepts -pthread - no
[cmake] -- Looking for pthread_create in pthreads
[cmake] -- Looking for pthread_create in pthreads - not found
[cmake] -- Looking for pthread_create in pthread
[cmake] -- Looking for pthread_create in pthread - not found
[cmake] -- Could NOT find Threads (missing: Threads_FOUND)
[cmake] -- Configuring done (2.3s)
[cmake] -- Generating done (0.1s)
[cmake] -- Build files have been written to: /home/malsyned/work/preferred/fsg/preferred-fsg/build/arm-debug
[cmakefileapi-parser] Read reply folder: /home/malsyned/work/preferred/fsg/preferred-fsg/build/arm-debug/.cmake/api/v1/reply
[cmakefileapi-parser] Found index files: ["cache-v2-67820b73205ab44be163.json","cmakeFiles-v1-9179efbbaa19715f3a9a.json","codemodel-v2-03d8cad993f644b0a492.json","directory-.-Debug-bd45beedfb51236c4180.json","directory-_deps.cpputest-build-Debug-2001403ed54af95ad282.json","directory-_deps.cpputest-build.src-Debug-c5247a96bf30e8d9ffc4.json","directory-_deps.cpputest-build.src.CppUTest-Debug-f7e5e05e2376250fea8b.json","directory-_deps.cpputest-build.src.CppUTestExt-Debug-faf64c9264f1013c6ac0.json","directory-_deps.freertos-kernel-build-Debug-5154e9a5facf64cfd517.json","directory-_deps.freertos-kernel-build.include-Debug-d356773737b72fa6bc5a.json","directory-_deps.freertos-kernel-build.portable-Debug-b5f863bdaf8ff39bb0da.json","directory-src.app-Debug-2e167ed549b5f7501b6a.json","directory-src.arm-Debug-6fbaf8ae9d717803baf2.json","directory-src.arm.ti.rm44l520pge-Debug-7f28aaf7b3a60d50b60f.json","directory-src.arm.ti.rm44l520pge.halcogen-Debug-a334fd7129867a6a5bec.json","directory-src.arm.ti.rm44l520pge.openrtos-Debug-f6ae54396dbbf5693454.json","directory-tests-Debug-b01f6abb0ab61427ef3b.json","index-2025-04-15T01-59-12-0727.json","target-Continuous-Debug-e1cbd7b23bb9ed6c0b72.json","target-ContinuousBuild-Debug-f46c841649756006ad00.json","target-ContinuousConfigure-Debug-8227b390ea7a72618aac.json","target-ContinuousCoverage-Debug-ee5b3d75515c452ea995.json","target-ContinuousMemCheck-Debug-83814e786e6c436c120a.json","target-ContinuousStart-Debug-558b13874adbfd41d68c.json","target-ContinuousSubmit-Debug-b26b87c5590a7289b2d9.json","target-ContinuousTest-Debug-a06e58aded5796b63837.json","target-ContinuousUpdate-Debug-31e432bc9fb623995563.json","target-CppUTest-Debug-7b0a44eb9900033287bc.json","target-CppUTestExt-Debug-87697f85ccd5d54d8da7.json","target-Experimental-Debug-f4af877508453d517859.json","target-ExperimentalBuild-Debug-e959fd81e597253b91ef.json","target-ExperimentalConfigure-Debug-e9501939413a34e9be33.json","target-ExperimentalCoverage-Debug-df7de4a4c329ca27e594.json","target-ExperimentalMemCheck-Debug-a36468afa1f39435ccc6.json","target-ExperimentalStart-Debug-dd9f88a5f1c51246bf4e.json","target-ExperimentalSubmit-Debug-02ca7017426fe88e5131.json","target-ExperimentalTest-Debug-987fb328e465efe07914.json","target-ExperimentalUpdate-Debug-6d93f6f03ed14abb1761.json","target-Nightly-Debug-463f6e1cb9a9d6b8c641.json","target-NightlyBuild-Debug-3bef9c0b6e73eca0574b.json","target-NightlyConfigure-Debug-91d795028dd5f81f0dc1.json","target-NightlyCoverage-Debug-c9b389b4b84ac128f436.json","target-NightlyMemCheck-Debug-b65e9c1addf4070f633c.json","target-NightlyMemoryCheck-Debug-a849357c696adc22d25e.json","target-NightlyStart-Debug-45b585be59935c89fe0d.json","target-NightlySubmit-Debug-2fd9533183372570cd19.json","target-NightlyTest-Debug-9e3712890fc74af58f2f.json","target-NightlyUpdate-Debug-9c7be0b2924e45f6c0f5.json","target-app-Debug-3b7f545f7114ad367de6.json","target-doc-Debug-3d28f2d638c9d2949a87.json","target-freertos_config-Debug-d1e8d7fcf9da251fc951.json","target-freertos_kernel-Debug-9ffbf0fab4dddd8fbe2d.json","target-freertos_kernel_port-Debug-891b43989f5d69e0277a.json","target-freertos_kernel_port_headers-Debug-d1c68409f9fbb429f34a.json","target-gitdescribe-Debug-4422059a8d49f57268e0.json","target-halcogen-Debug-1060c74a922c2ae1ec9d.json","target-hercules_bsp-Debug-3f675fb98a203c7cce63.json","target-preferred-fsg-Debug-9c52a2e28b306641b439.json","target-preferred-fsg-tests-all-Debug-322493639340846e0c06.json","target-segger-rtt-Debug-a151acc331202c4a0d4c.json","target-segger-rtt-picolibc-Debug-a5e2134c4fb246ddaf1d.json","target-segger-rtt-stdstreams-Debug-47ae225c03bc44a63f53.json","toolchains-v1-852637e0fed7669a4b9f.json"]
[cache] Reading CMake cache file /home/malsyned/work/preferred/fsg/preferred-fsg/build/arm-debug/CMakeCache.txt
[cache] Parsing CMake cache string
[extension] [6171] cmake.cleanConfigure finished (returned {"result":0,"resultType":0})Additional Information
IntelliSense fails to find header files when Build Target is all:

IntelliSense finds header files when Build Target is preferred-fsg:

CMake File API replies for a UTILITY target and an EXECUTABLE target which both have src/main.c as a source file, leading to this bug:
Metadata
Metadata
Assignees
Labels
Type
Projects
Status