一尘不染

cmake:从脚本设置环境变量

linux

我有一个脚本来设置交叉编译所需的所有变量。这只是其中的一部分:

export CONFIG_SITE=~/workspace/eldk-5.4/powerpc/site-config-powerpc-linux
export CC="powerpc-linux-gcc  -m32 -mhard-float --sysroot=~/workspace/eldk-5.4/powerpc/sysroots/powerpc-linux"
export CXX="powerpc-linux-g++  -m32 -mhard-float --sysroot=~/workspace/eldk-5.4/powerpc/sysroots/powerpc-linux"
export CPP="powerpc-linux-gcc -E  -m32 -mhard-float --sysroot=~/workspace/eldk-5.4/powerpc/sysroots/powerpc-linux"
export AS="powerpc-linux-as "
export LD="powerpc-linux-ld  --sysroot=~/workspace/eldk-5.4/powerpc/sysroots/powerpc-linux"
export GDB=powerpc-linux-gdb

如果这样做source environment-setup-powerpc- linux,所有环境变量都将导入到当前的Shell会话中,并且可以编译我的示例。

是否可以在cmake中导入这些变量?如果是,怎么办?


更多细节:

  1. 我正在使用ELDK v 5.4,它的安装脚本生成一个脚本,该脚本设置所有环境变量
  2. 我找到了本教程该教程说明了如何手动设置交叉编译,但没有说明如何使用脚本来设置所有内容
  3. 如果我在设置cmake之前调用脚本,则一切正常,并且可以交叉编译,但是我希望cmake调用脚本

阅读 1699

收藏
2020-06-07

共1个答案

一尘不染

阅读cmake快速入门,您可以在命令行上指定变量:

cmake -DVARIABLE1=value1 -DVARIABLE2=value2 ...

否则,set可能需要cmake脚本中的命令,请参阅参考手册。要设置
环境变量 PATH,请执行以下操作:

set(ENV{PATH} "/home/martink")

要设置普通变量,请执行以下操作:

set(variable "value")

不知道您必须设置哪些,可能是环境的。

就是说, 在调用cmake之前设置环境变量
通常是解决问题的最简单方法,例如:https :
//stackoverflow.com/a/15053460/684229

2020-06-07