You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am seing some different behaviour in conan_package_tools version 0.37.0 concerning build profile (CPT_PROFILE_BUILD) compared to version 0.36.0.
The CPT_PROFILE_BUILD is always specified when building a configuration. This seems to affect the cmake_paths generator.
When the CPT_PROFILE_BUILD environment is specified, the paths from my "build_requires" dependencies in the conanfile.py are no longer written to my conan_paths.cmake file.
In my case, this results in GTest no longer being found.
I have created two test projects to illustrate this:
My custom gtest recipe: https://github.com/lbakman/gtest_conan
I have modified the gtest recipe from conan-center-index, because I want the cmake directory to stay in the output directory. For this test, build with "conan create . cci.20210126@lau/stable".
My consuming project: https://github.com/lbakman/hello_conan
You can see the difference by executing the following docker commands. I have tried to find the minimal command line that can reproduce the problem on a local machine.
The following represents the docker command line I get from 0.36.0: docker run --rm -v "$HOME/.conan/data:/home/conan/.conan/data" -v "$(pwd):/home/conan/project" -e CONAN_USERNAME="lau" -e CONAN_CHANNEL="testing" -e CONAN_REFERENCE="world/1.0.0@lau/testing" -e CPT_PROFILE="@@include(default)@@@@[settings]@@arch=x86_64@@build_type=Release@@compiler=gcc@@compiler.libcxx=libstdc++11@@[options]@@@@[env]@@@@[build_requires]@@@@" -e CPT_BUILD_POLICY="missing" -e CPT_CONANFILE="conanfile.py" conanio/gcc8:latest /bin/sh -c "cd project; run_create_in_docker"
The following represents the docker command line I get from 0.37.0: docker run --rm -v "$HOME/.conan/data:/home/conan/.conan/data" -v "$(pwd):/home/conan/project" -e CONAN_USERNAME="lau" -e CONAN_CHANNEL="testing" -e CONAN_REFERENCE="world/1.0.0@lau/testing" -e CPT_PROFILE="@@include(default)@@@@[settings]@@arch=x86_64@@build_type=Release@@compiler=gcc@@compiler.libcxx=libstdc++11@@[options]@@@@[env]@@@@[build_requires]@@@@" -e CPT_PROFILE_BUILD="@@include(default)@@@@[settings]@@@@[options]@@@@[env]@@@@[build_requires]@@@@" -e CPT_BUILD_POLICY="missing" -e CPT_CONANFILE="conanfile.py" conanio/gcc8:latest /bin/sh -c "cd project; run_create_in_docker"
If you take a look at the generated conan_paths.cmake files from each build, you can see that in the first command line, GTEST is referenced in the file and in the second command line, it is not.
I can fix it by adding my build_requires to the build.py file in addition to my conanfile.py, but that seems counter intuitive to me.
Environment Details
Conan Package Tools Version: 0.37.0
Operating System: Linux
Operation System Version: Rocky 8.5, Centos 8
Compiler+version: gcc-8.4.0
Docker image: conanio/gcc8
Conan version: conan 1.42.1
Python version: python 3.6.0
The text was updated successfully, but these errors were encountered:
Description of Problem, Request, or Question
I am seing some different behaviour in conan_package_tools version 0.37.0 concerning build profile (CPT_PROFILE_BUILD) compared to version 0.36.0.
The CPT_PROFILE_BUILD is always specified when building a configuration. This seems to affect the cmake_paths generator.
When the CPT_PROFILE_BUILD environment is specified, the paths from my "build_requires" dependencies in the conanfile.py are no longer written to my conan_paths.cmake file.
In my case, this results in GTest no longer being found.
I have created two test projects to illustrate this:
My custom gtest recipe: https://github.com/lbakman/gtest_conan
I have modified the gtest recipe from conan-center-index, because I want the cmake directory to stay in the output directory. For this test, build with "conan create . cci.20210126@lau/stable".
My consuming project: https://github.com/lbakman/hello_conan
You can see the difference by executing the following docker commands. I have tried to find the minimal command line that can reproduce the problem on a local machine.
The following represents the docker command line I get from 0.36.0:
docker run --rm -v "$HOME/.conan/data:/home/conan/.conan/data" -v "$(pwd):/home/conan/project" -e CONAN_USERNAME="lau" -e CONAN_CHANNEL="testing" -e CONAN_REFERENCE="world/1.0.0@lau/testing" -e CPT_PROFILE="@@include(default)@@@@[settings]@@arch=x86_64@@build_type=Release@@compiler=gcc@@compiler.libcxx=libstdc++11@@[options]@@@@[env]@@@@[build_requires]@@@@" -e CPT_BUILD_POLICY="missing" -e CPT_CONANFILE="conanfile.py" conanio/gcc8:latest /bin/sh -c "cd project; run_create_in_docker"
The following represents the docker command line I get from 0.37.0:
docker run --rm -v "$HOME/.conan/data:/home/conan/.conan/data" -v "$(pwd):/home/conan/project" -e CONAN_USERNAME="lau" -e CONAN_CHANNEL="testing" -e CONAN_REFERENCE="world/1.0.0@lau/testing" -e CPT_PROFILE="@@include(default)@@@@[settings]@@arch=x86_64@@build_type=Release@@compiler=gcc@@compiler.libcxx=libstdc++11@@[options]@@@@[env]@@@@[build_requires]@@@@" -e CPT_PROFILE_BUILD="@@include(default)@@@@[settings]@@@@[options]@@@@[env]@@@@[build_requires]@@@@" -e CPT_BUILD_POLICY="missing" -e CPT_CONANFILE="conanfile.py" conanio/gcc8:latest /bin/sh -c "cd project; run_create_in_docker"
If you take a look at the generated conan_paths.cmake files from each build, you can see that in the first command line, GTEST is referenced in the file and in the second command line, it is not.
I can fix it by adding my build_requires to the build.py file in addition to my conanfile.py, but that seems counter intuitive to me.
Environment Details
The text was updated successfully, but these errors were encountered: