【发布时间】:2020-07-23 17:28:50
【问题描述】:
我有一个 CMakeLists.txt 文件,其中有多个我需要构建的外部项目。我正在使用 CMake 的 ExternalProject_Add 功能。
我需要在 ExternalProject_Add 项目模块之一中设置一个环境变量。项目需要它来执行构建。
我尝试使用 ${CMAKE_COMMAND} -E env 选项,但没有奏效:
CONFIGURE_COMMAND
${CMAKE_COMMAND} -E env ANDROID_SDK_ROOT="/home/subbu/Android/Sdk"
${CMAKE_COMMAND} -E env ANDROID_API_VERSION="android-22"
<SOURCE_DIR>/configure
-prefix <INSTALL_DIR>
-debug
我无法在网上找到示例。
请指教。
提前感谢您的帮助。
分部
【问题讨论】:
-
描述“没有用”是没有用的。这种方法究竟有什么问题?您有错误或其他问题吗?请在描述问题时具体。您的方法应该为 configuration 阶段设置变量(但不是为其他阶段:build、test 等)。但最好删除第二个
${CMAKE_COMMAND} -E env:您可以在单个cmake -E env包装器中指定多个环境变量。 -
顺便说一句,这里是一个例子:stackoverflow.com/questions/55708589/….
-
@Tsyvarev - 我正在使用 ExternalProject_Add 功能构建 Qt 库。我正在通过 cmake configure 命令调用“配置”脚本,以便为以后的构建准备 Qt。但是,此配置要求我设置 ANDROID_SDK_ROOT 和 ANDROID_API_VERSION 环境变量才能成功。我会试试你的例子。谢谢你的回复!!!
标签: linux cmake cmake-format cmakelists-options