Hi, Surely. You would have to use a CMakePresets.json file and tweak some version numbers / paths. It's a bit verbose, but it's the only way you can get this working with Qt Creator at the moment.
{ "version": 4, "cmakeMinimumRequired": { "major": 3, "minor": 23, "patch": 0 }, "configurePresets": [ { "name": "clang-ninja", "displayName": "Clang x64 Ninja", "generator": "Ninja", "binaryDir": "${sourceDir}/build-${presetName}", "toolchainFile" : "c:/Qt/6.8.0/msvc2022_64/lib/cmake/Qt6/qt.toolchain.cmake", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "CMAKE_CXX_COMPILER" : "clang++.exe", "CMAKE_C_COMPILER": "clang.exe" }, "environment" : { "VCToolsVersion": "14.42.34433", "WindowsSDKVersion" : "10.0.22621.0", "VCArch": "x64", "VCToolsInstallDir": "$env{ProgramFiles(x86)}/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/$env{VCToolsVersion}", "WindowsSdkDir" : "$env{ProgramFiles(x86)}/Windows Kits/10", "WindowsSdkIncVerDir": "$env{WindowsSdkDir}/Include/$env{WindowsSDKVersion}", "WindowsSdkLibVerDir": "$env{WindowsSdkDir}/Lib/$env{WindowsSDKVersion}", "INCLUDE": "$env{VCToolsInstallDir}/ATLMFC/include;$env{VCToolsInstallDir}/include;$env{WindowsSdkIncVerDir}/ucrt;$env{WindowsSdkIncVerDir}/shared;$env{WindowsSdkIncVerDir}/um;$env{WindowsSdkIncVerDir}/winrt;$env{WindowsSdkIncVerDir}/cppwinrt", "LIB": "$env{VCToolsInstallDir}/ATLMFC/lib/$env{VCArch};$env{VCToolsInstallDir}/lib/$env{VCArch};$env{WindowsSdkLibVerDir}/ucrt/$env{VCArch};$env{WindowsSdkLibVerDir}/um/$env{VCArch}", "PATH": "$env{ProgramFiles}/LLVM/bin;$env{VCToolsInstallDir}/bin/HostX64/$env{VCArch};$env{WindowsSdkDir}/bin/$env{WindowsSDKVersion}/$env{VCArch};$penv{PATH}" } } ], "buildPresets": [ { "name": "clang-ninja", "configurePreset": "clang-ninja" } ] } The result looks like this: [cmake] Running C:\Program Files\CMake\bin\cmake.exe -S C:/Projects/Helloš -B C:/Projects/Helloš/build-clang-ninja "-DCMAKE_C_COMPILER:FILEPATH=C:/Program Files/LLVM/bin/clang.exe" "-DCMAKE_GENERATOR:STRING=Ninja" "-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=C:\Projects\Helloš\build-clang-ninja/.qtc/package-manager/auto-setup.cmake" "-DCMAKE_CXX_FLAGS_INIT:STRING=" "-DQT_QMAKE_EXECUTABLE:FILEPATH=C:/Qt/6.8.0/msvc2022_64/bin/qmake.exe" "-DCMAKE_PREFIX_PATH:PATH=C:/Qt/6.8.0/msvc2022_64" "-DCMAKE_TOOLCHAIN_FILE:FILEPATH=c:/Qt/6.8.0/msvc2022_64/lib/cmake/Qt6/qt.toolchain.cmake" "-DCMAKE_BUILD_TYPE:STRING=Release" "-DCMAKE_CXX_COMPILER:FILEPATH=C:/Program Files/LLVM/bin/clang++.exe" in C:\Projects\Helloš\build-clang-ninja. [cmake] -- The C compiler identification is Clang 19.1.4 with GNU-like command-line [cmake] -- The CXX compiler identification is Clang 19.1.4 with GNU-like command-line [cmake] -- Detecting C compiler ABI info [cmake] -- Detecting C compiler ABI info - done [cmake] -- Check for working C compiler: C:/Program Files/LLVM/bin/clang.exe - 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: C:/Program Files/LLVM/bin/clang++.exe - skipped [cmake] -- Detecting CXX compile features [cmake] -- Detecting CXX compile features - done [cmake] -- Clang [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] -- Found Threads: TRUE [cmake] -- Performing Test HAVE_STDATOMIC [cmake] -- Performing Test HAVE_STDATOMIC - Success [cmake] -- Found WrapAtomic: TRUE [cmake] -- Configuring done (3.9s) [cmake] -- Generating done (0.0s) [cmake] -- Build files have been written to: C:/Projects/Helloš/build-clang-ninja Cheers, Cristian ________________________________ From: Qt-creator <qt-creator-boun...@qt-project.org> on behalf of Hugo Melder via Qt-creator <qt-creator@qt-project.org> Sent: Monday, November 25, 2024 15:20 To: qt-creator@qt-project.org <qt-creator@qt-project.org> Subject: [Qt-creator] [Qt Creator] Windows Kit libraries not picked up in Clang (GNU-like command-line) Configuration Hi, We are currently integrating address sanitisation in out build system, which requires using clang.exe/clang++.exe instead of clang-cl.exe (see https://gitlab.kitware.com/cmake/cmake/-/issues/26430#note_1590998). However, when configuring a āKitā in QTC with clang.exe, the libraries from the Windows Kit (C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22000.0\um\x64) are no longer added to the library path. I assume that QTC does not initialise the environment correctly, because it works perfectly fine in a VS Dev prompt. Here is an example project that demonstrates this. cmake_minimum_required(VERSION 3.16) project(testProj VERSION 1.0.0 LANGUAGES C CXX) message(STATUS ${CMAKE_C_COMPILER_ID}) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Qt6 REQUIRED COMPONENTS Core) find_library(LIB_advapi32 advapi32 REQUIRED) qt_standard_project_setup() qt_add_executable(testProj main.cpp) target_link_libraries(testProj PRIVATE Qt6::Core) Qt Creator 14.0.1 Enterprise [cmake] Running C:\x86_64-pc-windows\CMake\bin\cmake.exe -S C:/Users/hugo/Documents/QtProject -B C:/Users/hugo/Documents/QtProject/build/Desktop_Qt_6_8_0_Clang_GNU_like-Debug "-DQT_QMAKE_EXECUTABLE:FILEPATH=C:/Qt/6.8.0/msvc2022_64/bin/qmake.exe" "-DCMAKE_CXX_COMPILER:FILEPATH=C:/x86_64-pc-windows/LLVM/bin/clang++.exe" "-DCMAKE_C_COMPILER:FILEPATH=C:/x86_64-pc-windows/LLVM/bin/clang.exe" "-DCMAKE_PREFIX_PATH:PATH=C:/Qt/6.8.0/msvc2022_64" "-DCMAKE_CXX_FLAGS_INIT:STRING=-DQT_QML_DEBUG" "-DCMAKE_GENERATOR:STRING=Ninja" "-DCMAKE_BUILD_TYPE:STRING=Debug" "-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=C:\Users\hugo\Documents\QtProject\build\Desktop_Qt_6_8_0_Clang_GNU_like-Debug/.qtc/package-manager/auto-setup.cmake" in C:\Users\hugo\Documents\QtProject\build\Desktop_Qt_6_8_0_Clang_GNU_like-Debug. [cmake] -- The C compiler identification is Clang 19.1.3 with GNU-like command-line [cmake] -- The CXX compiler identification is Clang 19.1.3 with GNU-like command-line [cmake] -- Detecting C compiler ABI info [cmake] -- Detecting C compiler ABI info - done [cmake] -- Check for working C compiler: C:/x86_64-pc-windows/LLVM/bin/clang.exe - 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: C:/x86_64-pc-windows/LLVM/bin/clang++.exe - skipped [cmake] -- Detecting CXX compile features [cmake] -- Detecting CXX compile features - done [cmake] -- Clang [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] -- Found Threads: TRUE [cmake] -- Performing Test HAVE_STDATOMIC [cmake] -- Performing Test HAVE_STDATOMIC - Success [cmake] -- Found WrapAtomic: TRUE [cmake] CMake Error at CMakeLists.txt:11 (find_library): [cmake] Could not find LIB_advapi32 using the following names: advapi32 [cmake] [cmake] [cmake] -- Configuring incomplete, errors occurred! [cmake] [cmake] The command "C:\x86_64-pc-windows\CMake\bin\cmake.exe -S C:/Users/hugo/Documents/QtProject -B C:/Users/hugo/Documents/QtProject/build/Desktop_Qt_6_8_0_Clang_GNU_like-Debug "-DQT_QMAKE_EXECUTABLE:FILEPATH=C:/Qt/6.8.0/msvc2022_64/bin/qmake.exe" "-DCMAKE_CXX_COMPILER:FILEPATH=C:/x86_64-pc-windows/LLVM/bin/clang++.exe" "-DCMAKE_C_COMPILER:FILEPATH=C:/x86_64-pc-windows/LLVM/bin/clang.exe" "-DCMAKE_PREFIX_PATH:PATH=C:/Qt/6.8.0/msvc2022_64" "-DCMAKE_CXX_FLAGS_INIT:STRING=-DQT_QML_DEBUG" "-DCMAKE_GENERATOR:STRING=Ninja" "-DCMAKE_BUILD_TYPE:STRING=Debug" "-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=C:\Users\hugo\Documents\QtProject\build\Desktop_Qt_6_8_0_Clang_GNU_like-Debug/.qtc/package-manager/auto-setup.cmake"" terminated with exit code 1. [cmake] [cmake] Elapsed time: 00:07. Inside an x64 Visual Studio 2022 Developer Command Prompt v17.10.0-pre.3.0 C:\Users\hugo\Documents\QtProject>echo %VSCMD_ARG_TGT_ARCH% x64 C:\Users\hugo>clang --version clang version 19.1.3 Target: x86_64-pc-windows-msvc Thread model: posix InstalledDir: C:\x86_64-pc-windows\LLVM\bin C:\Users\hugo\Documents\QtProject>cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_PREFIX_PATH="C:\Qt\6.8.0\msvc2022_64" -B build -G Ninja -- The C compiler identification is Clang 19.1.3 with GNU-like command-line -- The CXX compiler identification is Clang 19.1.3 with GNU-like command-line -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: C:/x86_64-pc-windows/LLVM/bin/clang.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: C:/x86_64-pc-windows/LLVM/bin/clang++.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Clang -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Check if compiler accepts -pthread -- Check if compiler accepts -pthread - no -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - not found -- Found Threads: TRUE -- Performing Test HAVE_STDATOMIC -- Performing Test HAVE_STDATOMIC - Success -- Found WrapAtomic: TRUE -- Configuring done (5.9s) -- Generating done (0.2s) -- Build files have been written to: C:/Users/hugo/Documents/QtProject/build Is it generally possible in QTC to use clang (GNU-like command-like) with a VS environment? I really do not like the āmagicā going on in QTCās build configuration. ~ Hugo
-- Qt-creator mailing list Qt-creator@qt-project.org https://lists.qt-project.org/listinfo/qt-creator