为ExternalProject_Add CONFIGURE_COMMAND设置WORKING_DIRECTORY

the*_*ler 3 cmake external-project

我正在尝试将Automake项目添加为外部项目.Automake配置脚本(通常与之一起运行./configure)包含资源文件的相对路径.我手动运行configure时找到该文件,因为我的工作目录位于源目录中.但是,当我运行configureExternalProject_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)
Run Code Online (Sandbox Code Playgroud)

如何设置配置步骤的工作目录,以便配置脚本找到所需的文件?

Tsy*_*rev 6

ExternalProject_Add配置步骤中,构建目录(BINARY_DIR选项)是最新的,因此您可以设置此选项:

ExternalProject_Add(...
    BINARY_DIR <dir>
    ...
)
Run Code Online (Sandbox Code Playgroud)

对于源内构建(当构建目录与源目录相同时),可以使用BUILD_IN_SOURCE选项作为设置BINARY_DIR选项的替代选项:

ExternalProject_Add(...
    BUILD_IN_SOURCE 1
    ...
)
Run Code Online (Sandbox Code Playgroud)

更多信息请参见ExternalProject文档页面.