CMake-安装后设置文件权限(java)

CMake-安装后设置文件权限(java),java,cmake,Java,Cmake,我有一个关于使用CMake设置权限的问题。现在我正在修改使用Ant脚本构建Java代码的CMake文件。我们希望将Java代码转换为CMake,以便能够利用构建避免。在阅读了CMake文档之后,我们似乎可以编译和安装Java软件包,但是install_jar()命令不允许我们像install命令那样设置权限 我假设我们希望使用install\u jar命令,以便在根据依赖项进行编译时可以使用find\u jar命令,因此我希望保留install\u jar命令。CMake是否有某种chmod命令

我有一个关于使用CMake设置权限的问题。现在我正在修改使用Ant脚本构建Java代码的CMake文件。我们希望将Java代码转换为CMake,以便能够利用构建避免。在阅读了CMake文档之后,我们似乎可以编译和安装Java软件包,但是install_jar()命令不允许我们像install命令那样设置权限

我假设我们希望使用install\u jar命令,以便在根据依赖项进行编译时可以使用find\u jar命令,因此我希望保留install\u jar命令。CMake是否有某种chmod命令,或者在安装后设置已安装文件权限的最佳实践方法

谢谢,

install\u 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\u jar\u
,并将
PERMISSIONS
关键字添加到
install()
调用中即可

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

安装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\u jar\u
,并将
PERMISSIONS
关键字添加到
install()
调用中即可


可能,这个问题需要向CMake开发者报告。

只是想知道为什么要从ant迁移到CMake?如果你真的在寻找一个改进的构建环境,gradel、ivy等可能是不错的选择。我们有一个相当复杂的系统。其中大部分包含C++代码。Java是构建的一小部分,CMake是我们的主要构建工具,我们通过Jenkins来执行开发人员/夜间构建。通过新的CMake Java增强功能,将Java构建集成到CMake中似乎更容易。如果有一些Java构建实用程序可以与CMake很好地集成,我洗耳恭听。你给CMake开发团队写信了吗?没有,我会继续这样做。只是想知道为什么要从ant迁移到CMake?如果你真的在寻找一个改进的构建环境,gradel、ivy等可能是不错的选择。我们有一个相当复杂的系统。其中大部分包含C++代码。Java是构建的一小部分,CMake是我们的主要构建工具,我们通过Jenkins来执行开发人员/夜间构建。通过新的CMake Java增强功能,将Java构建集成到CMake中似乎更容易。如果有一些Java构建实用程序能够与CMake很好地集成,我洗耳恭听。你给CMake开发团队写信了吗?我没有,我会继续写下去。