1
0

CMakeLists.txt 1.0 KB

123456789101112131415161718192021222324252627282930
  1. PROJECT(hello Java)
  2. SET(CMAKE_VERBOSE_MAKEFILE 1)
  3. SET(OLD_CUSTOM_COMMAND_WAY )
  4. IF(NOT OLD_CUSTOM_COMMAND_WAY)
  5. INCLUDE_DIRECTORIES(${hello_SOURCE_DIR}
  6. ${hello_BINARY_DIR} )
  7. ADD_LIBRARY(hello A.java HelloWorld.java)
  8. ENDIF(NOT OLD_CUSTOM_COMMAND_WAY)
  9. IF(OLD_CUSTOM_COMMAND_WAY)
  10. ADD_CUSTOM_COMMAND(
  11. OUTPUT ${hello_BINARY_DIR}/A.class
  12. MAIN_DEPENDENCY ${hello_SOURCE_DIR}/A.java
  13. COMMAND ${CMAKE_Java_COMPILER} ARGS -d ${hello_BINARY_DIR} ${hello_SOURCE_DIR}/A.java)
  14. ADD_CUSTOM_COMMAND(
  15. OUTPUT ${hello_BINARY_DIR}/HelloWorld.class
  16. MAIN_DEPENDENCY ${hello_SOURCE_DIR}/HelloWorld.java
  17. COMMAND ${CMAKE_Java_COMPILER} ARGS -d ${hello_BINARY_DIR} ${hello_SOURCE_DIR}/HelloWorld.java)
  18. ADD_CUSTOM_TARGET(foo.jar ALL
  19. DEPENDS ${hello_BINARY_DIR}/A.class ${hello_BINARY_DIR}/HelloWorld.class)
  20. ADD_CUSTOM_COMMAND( TARGET foo.jar
  21. PRE_BUILD
  22. COMMAND ${CMAKE_COMMAND}
  23. ARGS -E chdir ${CMAKE_CURRENT_BINARY_DIR}
  24. ${CMAKE_Java_ARCHIVE}
  25. -cvf foo.jar *.class)
  26. ENDIF(OLD_CUSTOM_COMMAND_WAY)