diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 74783463..456d9bbc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -109,13 +109,16 @@ if(SWIG_FOUND) # Post build of java binding : compile java files (generate class files) and create jar set(AVTRANSCODER_JAVA_OUTPUT_PATH "${PROJECT_BINARY_DIR}/src/AvTranscoder") + set(AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH "${AVTRANSCODER_JAVA_OUTPUT_PATH}/target") set(AVTRANSCODER_JAR_PATH "${PROJECT_BINARY_DIR}/src") set(AVTRANSCODER_JAR_NAME "avtranscoder.jar") + execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH}) + ADD_CUSTOM_COMMAND( TARGET avtranscoder-java POST_BUILD - COMMAND ${Java_JAVAC_EXECUTABLE} ${AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH} "${AVTRANSCODER_JAVA_OUTPUT_PATH}/*.java" - COMMAND ${Java_JAR_EXECUTABLE} cf ${AVTRANSCODER_JAR_NAME} "${AVTRANSCODER_JAVA_OUTPUT_PATH}/*.class" + COMMAND ${Java_JAVAC_EXECUTABLE} "-d" ${AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH} "${AVTRANSCODER_JAVA_OUTPUT_PATH}/*.java" + COMMAND ${Java_JAR_EXECUTABLE} cf ${AVTRANSCODER_JAR_NAME} "-C" ${AVTRANSCODER_JAVA_CLASS_OUTPUT_PATH} "." ) # Install jar file