-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Milestone
Description
What is your question?
Hello!
Could you explain how to work with environment variables in editable mode?
I have two conan recipes: dep and pkg:
from conan import ConanFile
class Dep(ConanFile):
name = "dep"
version = "1.0"
def layout(self):
self.folders.root = "."
self.folders.build = "mybuild"
self.layouts.build.buildenv_info.define_path("PACKAGE_PATH", "build_env")
self.layouts.build.runenv_info.define_path("PACKAGE_PATH", "run_env")
def package_info(self):
self.buildenv_info.define("PACKAGE_PATH", str(self.package_folder))
self.runenv_info.define("PACKAGE_PATH", str(self.package_folder))from conan import ConanFile
class Pkg(ConanFile):
name = "pkg"
version = "1.0"
def requirements(self):
self.tool_requires("dep/1.0")I try to add set dep package in editable mode and use it inside pkg:
conan editable add dep --name=dep --version=1.0
conan install pkgI expect that the pkg/conanbuildenv.sh script contains the PACKAGE_PATH envronment variable with path to <dep_root>/mybuild/build_env directory, however, it contains PACKAGE_PATH with path to <dep_root>:
script_folder="/home/user/pkg"
echo "echo Restoring environment" > "$script_folder/deactivate_conanbuildenv.sh"
for v in PACKAGE_PATH
do
is_defined="true"
value=$(printenv $v) || is_defined="" || true
if [ -n "$value" ] || [ -n "$is_defined" ]
then
echo export "$v='$value'" >> "$script_folder/deactivate_conanbuildenv.sh"
else
echo unset $v >> "$script_folder/deactivate_conanbuildenv.sh"
fi
done
export PACKAGE_PATH="/home/user/dep"The PACKAGE_PATH is set correctly in editable mode if I remove it from package_info method.
What am I doing wrong? How to set PACKAGE_PATH variable to mybuild/build_env in editable mode?
Have you read the CONTRIBUTING guide?
- I've read the CONTRIBUTING guide
Metadata
Metadata
Assignees
Labels
No labels