我正在尝试将Automake项目添加为外部项目。
Automake配置脚本(通常与./configure
一起运行)包含资源文件的相对路径。我手动运行configure时找到该文件,因为我的工作目录位于源目录中。但是,当我使用configure
运行ExternalProject_Add
时,它无法找到资源文件,因为工作目录为CMAKE_CURRENT_BINARY_DIR
。
ExternalProject_Add(zlib
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}
CONFIGURE_COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/configure
BUILD_COMMAND make)
如何设置配置步骤的工作目录,以便配置脚本找到所需的文件?
答案 0 :(得分:5)
在ExternalProject_Add
配置步骤中,构建目录( BINARY_DIR 选项)是最新的,因此您可以设置此选项:
ExternalProject_Add(...
BINARY_DIR <dir>
...
)
对于源内构建(当构建目录与源目录相同时), BUILD_IN_SOURCE 选项可用作设置 BINARY_DIR 选项的替代选项:
ExternalProject_Add(...
BUILD_IN_SOURCE 1
...
)
更多信息请参阅ExternalProject documentation页。