1

我有一个涉及使用 CMake 设置权限的问题。现在我正在修改使用 Ant 脚本构建 Java 代码的 CMake 文件。我们想将我们的 Java 代码转换为 CMake,以便我们可以使用 Build Avoidance。阅读 CMake 文档后,我们似乎可以编译和安装我们的 Java 包,但是 install_jar() 命令不允许我们像 install 命令那样设置权限。

我假设我们要使用 install_jar 命令,以便在针对依赖项进行编译时可以使用 find_jar 命令,所以我想保留 install_jar 命令。是否有某种用于 CMake 的 chmod 命令,或者在安装后设置已安装文件权限的一些最佳实践方法?

谢谢,

4

1 回答 1

1

基本上,install_jar()定义是,只需install()调用:

function(INSTALL_JAR _TARGET_NAME _DESTINATION)
    get_property(__FILES
        TARGET ${_TARGET_NAME}
        PROPERTY INSTALL_FILES
    )

    if (__FILES)
        install(FILES ${__FILES}
                DESTINATION ${_DESTINATION}
        )
    else (__FILES)
        message(SEND_ERROR "The target ${_TARGET_NAME} is not known in this scope.")
    endif (__FILES)
endfunction(INSTALL_JAR _TARGET_NAME _DESTINATION)

因此,您可以编写自己的install_jar_with_args()并将PERMISSIONS关键字添加到install()调用中。

可能需要将此问题报告给 CMake 开发人员。

于 2012-12-18T03:37:15.543 回答