conan
conan copied to clipboard
[bug] toolchainFile key not found
trafficstars
After introducing tools.cmake.cmaketoolchain.presets:max_schema_version https://github.com/conan-io/conan/pull/11655 conan build . stops working.
For schema version=2 toolchainFile is not specified, chacheVariable['CMAKE_TOOLCHAIN_FILE'] used instead https://github.com/conan-io/conan/blob/5251fbcabf9b84e4983db93d546999360e2b05a9/conan/tools/cmake/presets.py#L77-L80
But conan.tools.cmake.CMake.__init__() doesn't take it in account.
https://github.com/conan-io/conan/blob/5251fbcabf9b84e4983db93d546999360e2b05a9/conan/tools/cmake/cmake.py#L58-L60
Environment Details (include every applicable attribute)
- Operating System+version: Windows 10
- Compiler+version: Visual Studio 17 2022
- Conan version: 1.51.0
- Python version: 3.9
Steps to reproduce (Include if Applicable)
mkdir ttt
cd ttt
conan new ttt/0.0.1
conan profile new ttt --detect
conan profile update conf.tools.cmake.cmaketoolchain.presets:max_schema_version=3 ttt
conan install . -pr ttt
conan build .
Logs (Executed commands with output) (Include/Attach if Applicable)
PS C:\imperx\git\cyril\ttt> conan install .
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Debug
compiler=Visual Studio
compiler.runtime=MDd
compiler.toolset=v140
compiler.version=17
os=Windows
os_build=Windows
[options]
[build_requires]
[env]
[conf]
tools.cmake.cmaketoolchain.presets:max_schema_version=3
conanfile.py (ttt/0.0.1): Installing package
Requirements
Packages
Installing (downloading, building) binaries...
conanfile.py (ttt/0.0.1): Generator txt created conanbuildinfo.txt
conanfile.py (ttt/0.0.1): Calling generate()
conanfile.py (ttt/0.0.1): WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
conanfile.py (ttt/0.0.1): Aggregating env generators
conanfile.py (ttt/0.0.1): Generated conaninfo.txt
conanfile.py (ttt/0.0.1): Generated graphinfo
PS C:\imperx\git\cyril\ttt> conan build .
Using lockfile: 'C:\imperx\git\cyril\ttt/conan.lock'
Using cached profile from lockfile
conanfile.py (ttt/0.0.1): Calling build()
ERROR: conanfile.py (ttt/0.0.1): Error in build() method, line 36
cmake = CMake(self)
KeyError: 'toolchainFile'