【问题标题】:How to remove old binary files in the installation dir using cmake?如何使用 cmake 删除安装目录中的旧二进制文件?
【发布时间】:2019-03-19 08:14:35
【问题描述】:

我正在使用cmake 来构建和安装我的 C++ 应用程序。我有一个自定义安装目录设置:

set(CMAKE_INSTALL_PREFIX /home/user/release/myproj)

我使用make install 将二进制文件和库安装到此自定义安装位置。每次我调用make install 以清理此安装目录中可能的旧二进制文件时,有没有办法清理目标目录?

【问题讨论】:

  • 您可以使用install(CODE) 或install(SCRIPT) 为安装过程添加操作。在任何其他 install() 调用之前将此调用放在顶级 CMakeLists.txt 中,因此在安装任何文件之前将执行其他操作。但是,更明确的解决方案是在make install 之前删除安装目录或手动运行make uninstall。

标签: makefile cmake installation


【解决方案1】:

您可以在 cmake 中使用file 命令删除文件。这是删除旧二进制文件的示例,只需定义EXECUTABLE_OUTPUT_PATH:

    file(GLOB MY_FILES  ${EXECUTABLE_OUTPUT_PATH}/*)
    if (MY_FILES)
        file (REMOVE ${MY_FILES})
    endif()
    

【讨论】:

    猜你喜欢
    • 2015-02-21
    • 2016-04-20
    • 2023-01-27
    • 1970-01-01
    • 2014-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多