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