如何将环境变量传递给 ExternalProject_Add CONFIGURE_COMMAND?
How to pass an environment variable to ExternalProject_Add CONFIGURE_COMMAND?
我有一个带有 autotools 项目的第三方库。我想使用 ExternalProject_Add 来构建库。
这可以通过以下方式完成:
ExternalProject_Add(project_lib
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/configure --prefix=${LIB_OUTPUT}
BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build
)
现在的问题是我需要将环境变量传递给 configure
,但我找不到方法。
在控制台中,我将按以下方式进行操作:
CPPFLAGS="-fPIC" ./configure --prefix=output
有没有办法通过 ExternalProject_Add/CONFIGURE_COMMAND
将 CPPFLAGS="-fPIC"
env 传递给 configure
?
通过cmake(cmake --help
)执行configure
命令即可command mode:
-E = CMake command mode.
所以不用直接调用configure
我们可以通过环境变量通过cmake命令模式执行它:
ExternalProject_Add(project_lib
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env CPPFLAGS=-fPIC ${CMAKE_CURRENT_SOURCE_DIR}/lib/configure --prefix=${LIB_OUTPUT}
BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build
)
[cmake-developers] Setting up environment using ExternalProject_Add
我有一个带有 autotools 项目的第三方库。我想使用 ExternalProject_Add 来构建库。
这可以通过以下方式完成:
ExternalProject_Add(project_lib
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/configure --prefix=${LIB_OUTPUT}
BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build
)
现在的问题是我需要将环境变量传递给 configure
,但我找不到方法。
在控制台中,我将按以下方式进行操作:
CPPFLAGS="-fPIC" ./configure --prefix=output
有没有办法通过 ExternalProject_Add/CONFIGURE_COMMAND
将 CPPFLAGS="-fPIC"
env 传递给 configure
?
通过cmake(cmake --help
)执行configure
命令即可command mode:
-E = CMake command mode.
所以不用直接调用configure
我们可以通过环境变量通过cmake命令模式执行它:
ExternalProject_Add(project_lib
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env CPPFLAGS=-fPIC ${CMAKE_CURRENT_SOURCE_DIR}/lib/configure --prefix=${LIB_OUTPUT}
BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build
)
[cmake-developers] Setting up environment using ExternalProject_Add