2012-12-18 86 views
1

我有一個涉及使用CMake設置權限的問題。現在我正在修改使用Ant腳本構建我們的Java代碼的CMake文件。我們希望將我們的Java代碼轉換爲CMake,以便我們可以使用Build Avoidance。在閱讀CMake文檔之後,似乎我們可以編譯和安裝我們的Java包,但install_jar()命令不允許我們像安裝命令那樣設置權限。CMake - 安裝後設置文件權限(java)

我假設我們想要使用install_jar命令,以便在針對依賴關係編譯時可以使用find_jar命令,所以我想保留install_jar命令。有沒有CMake的某種chmod命令,或者一些最佳實踐方式,用於在安裝後設置已安裝的文件權限?

感謝,

+0

只是好奇知道爲什麼從螞蟻搬到cmake?如果你真的想找一個改進的構建環境gradel,常春藤等可能是不錯的選擇。 – Jayan

+0

我們有一個相當複雜的系統。其中大部分包含C++代碼。 Java是構建的一小部分,CMake是我們用於通過Jenkins執行開發人員/夜間構建的主要構建實用程序。將我們的Java版本集成到CMake中並使用新的CMake Java增強功能似乎更容易。如果Java有一些與CMake很好地集成的構建工具,那麼我就是耳熟能詳。 – jluzwick

+0

您是否寫信給CMake開發團隊? – Jayan

回答

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開發者。