2017-06-06 7 views
0

私はCMakeのjarファイルにpre_buildコマンドを追加しようとしています。明らかにadd_jarはこのオプションをサポートしていません。同様のことをする方法はありますか?add_jarへのpre_buildコマンドの追加cmake

+0

[ドキュメント](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

+0

あなたのコメントありがとう!私は最初にいくつかのJavaファイルを生成して、それを私のjarファイルに追加したかったのです。私はこの問題を解決することができました。 – loz

+0

あなたの質問の投稿は[XY problem](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)を記述しています:* PRE_BUILD *はソースファイルの生成には使用されません。これを行うための適切な方法。 – Tsyvarev

答えて

0

私はこの問題を解決しましたが、私はちょうど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) 
関連する問題