0
我試圖在我的CMake中添加一個pre_build命令。顯然add_jar不支持這個選項。有什麼辦法可以做類似的事嗎?將pre_build命令添加到add_jar cmake
我試圖在我的CMake中添加一個pre_build命令。顯然add_jar不支持這個選項。有什麼辦法可以做類似的事嗎?將pre_build命令添加到add_jar cmake
我解決了這個問題,我不得不在add_custom_command上使用輸出參數。基本上我想生成一些java文件,並將其添加到我的jar。這裏的步驟,我做了什麼:
add_library(MyLib ${SRC})
add_custom_command(
OUTPUT "${PATH}/${file}.java"
COMMAND ${ANDROID_HOME}/build-tools/22.0.1/aidl "${PATH}/${file}.aidl" "${PATH}/${file}.java"
)
add_jar(MyLib_java
SOURCES ${JAVA_SRC} "${PATH}/${file}.java"
OUTPUT_DIR ${CMAKE_BINARY_DIR}/lib
)
add_dependencies(MyLib_java MyLib)
根據[文件](https://cmake.org/cmake/help/v3.7/command/add_custom_command.html),* PRE_BUILD *爲'選項add_custom_command'僅在Visual Studio中受支持,其他情況等於* PRE_LINK *。但* PRE_LINK *不能用於自定義目標(非庫和非可執行),如'add_jar'創建。 「有什麼辦法可以做類似的事情嗎?」 - 「類似的東西」太模糊了......你能提供一個你需要這個功能的例子嗎? – Tsyvarev
感謝您的評論!我想先生成一些java文件,然後將其添加到我的jar文件中。我能解決這個問題。 – loz
所以你的問題文章描述了[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem):* PRE_BUILD *不用於生成源文件,你的回答描述正確的方式來做到這一點。 – Tsyvarev