blob: 4eccbfdfe9ec810823b08bedab7acdc594406a6c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
PROJECT(hello Java)
SET(CMAKE_VERBOSE_MAKEFILE 1)
SET(OLD_CUSTOM_COMMAND_WAY )
message("${hello_SOURCE_DIR} STREQUAL ${hello_BINARY_DIR}")
IF("${hello_SOURCE_DIR}" STREQUAL "${hello_BINARY_DIR}")
SET(OLD_CUSTOM_COMMAND_WAY 1)
ENDIF("${hello_SOURCE_DIR}" STREQUAL "${hello_BINARY_DIR}")
IF(NOT OLD_CUSTOM_COMMAND_WAY)
INCLUDE_DIRECTORIES(${hello_SOURCE_DIR}
${hello_BINARY_DIR} )
ADD_LIBRARY(hello A.java HelloWorld.java)
ENDIF(NOT OLD_CUSTOM_COMMAND_WAY)
IF(OLD_CUSTOM_COMMAND_WAY)
ADD_CUSTOM_COMMAND(
OUTPUT ${hello_BINARY_DIR}/A.class
MAIN_DEPENDENCY ${hello_SOURCE_DIR}/A.java
COMMAND ${CMAKE_Java_COMPILER} ARGS -classpath . -d ${hello_BINARY_DIR} ${hello_SOURCE_DIR}/A.java)
ADD_CUSTOM_COMMAND(
OUTPUT ${hello_BINARY_DIR}/HelloWorld.class
MAIN_DEPENDENCY ${hello_SOURCE_DIR}/HelloWorld.java
DEPENDS ${hello_BINARY_DIR}/A.class
COMMAND ${CMAKE_Java_COMPILER} ARGS -classpath . -d ${hello_BINARY_DIR} ${hello_SOURCE_DIR}/HelloWorld.java)
ADD_CUSTOM_COMMAND(
OUTPUT ${hello_BINARY_DIR}/foo.jar
DEPENDS ${hello_BINARY_DIR}/A.class ${hello_BINARY_DIR}/HelloWorld.class
COMMAND ${CMAKE_COMMAND}
ARGS -E chdir ${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_Java_ARCHIVE}
-cvf foo.jar *.class)
ADD_CUSTOM_TARGET(foo.jar ALL
DEPENDS ${hello_BINARY_DIR}/foo.jar)
ENDIF(OLD_CUSTOM_COMMAND_WAY)
|