conan icon indicating copy to clipboard operation
conan copied to clipboard

[bug] toolchainFile key not found

Open comargo opened this issue 3 years ago • 0 comments
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'

comargo avatar Aug 02 '22 09:08 comargo