Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Cosmetics for cmake and java.
[simgrid.git] / buildtools / Cmake / src / CMakeJarAndClass.txt
1         foreach(file ${JMSG_JAVA_SRC})
2                 set(java_src_to_compile "${java_src_to_compile}${file}\t")      
3         endforeach(file ${JMSG_JAVA_SRC})
4         string(REPLACE ".java" ".class" java_output "${JMSG_JAVA_SRC}")  
5         
6         # build .jar file from .class files
7         ADD_CUSTOM_TARGET(simgrid.jar
8         COMMAND rm -rf ${PROJECT_DIRECTORY}/src/.classes
9         COMMAND mkdir -p ${PROJECT_DIRECTORY}/src/.classes
10         COMMAND mkdir -p ${PROJECT_DIRECTORY}/src/.classes/surf
11         COMMAND cp ${PROJECT_DIRECTORY}/src/surf/simgrid.dtd ${PROJECT_DIRECTORY}/src/.classes/surf/simgrid.dtd
12         COMMAND ${JAVA_COMPILE} -d ${PROJECT_DIRECTORY}/src/.classes -cp ${PROJECT_DIRECTORY}/src/.classes ${java_src_to_compile}
13         )
14         
15         ADD_CUSTOM_COMMAND(
16         TARGET simgrid
17         POST_BUILD
18         COMMAND make simgrid.jar
19         )
20         
21         ADD_CUSTOM_COMMAND(
22         TARGET simgrid.jar
23         POST_BUILD 
24         COMMAND ${CMAKE_COMMAND}
25         ARGS -E chdir ${PROJECT_DIRECTORY}
26         ${JAVA_ARCHIVE} -cvf ${PROJECT_DIRECTORY}/src/simgrid.jar -C ${PROJECT_DIRECTORY}/src/.classes .
27         )
28         
29         ADD_CUSTOM_COMMAND(
30         TARGET simgrid.jar
31         POST_BUILD 
32         COMMAND rm -f ${PROJECT_DIRECTORY}/examples/java/basic/*.class
33         COMMAND ${JAVA_COMPILE}
34         ARGS -d ${PROJECT_DIRECTORY}/examples/java/basic -cp ${PROJECT_DIRECTORY}/src/simgrid.jar
35         ${PROJECT_DIRECTORY}/examples/java/basic/*.java
36         )
37         
38         ADD_CUSTOM_COMMAND(
39         TARGET simgrid.jar
40         POST_BUILD
41         COMMAND rm -f ${PROJECT_DIRECTORY}/examples/java/ping_pong/*.class
42         COMMAND ${JAVA_COMPILE}
43         ARGS -d ${PROJECT_DIRECTORY}/examples/java/ping_pong -cp ${PROJECT_DIRECTORY}/src/simgrid.jar
44         ${PROJECT_DIRECTORY}/examples/java/ping_pong/*.java
45         )
46         
47         ADD_CUSTOM_COMMAND(
48         TARGET simgrid.jar
49         POST_BUILD 
50         COMMAND rm -f ${PROJECT_DIRECTORY}/examples/java/comm_time/*.class
51         COMMAND ${JAVA_COMPILE}
52         ARGS -d ${PROJECT_DIRECTORY}/examples/java/comm_time -cp ${PROJECT_DIRECTORY}/src/simgrid.jar
53         ${PROJECT_DIRECTORY}/examples/java/comm_time/*.java
54         )
55         
56         ADD_CUSTOM_COMMAND(
57         TARGET simgrid.jar
58         POST_BUILD 
59         COMMAND rm -f ${PROJECT_DIRECTORY}/examples/java/suspend/*.class
60         COMMAND ${JAVA_COMPILE}
61         ARGS -d ${PROJECT_DIRECTORY}/examples/java/suspend -cp ${PROJECT_DIRECTORY}/src/simgrid.jar
62         ${PROJECT_DIRECTORY}/examples/java/suspend/*.java
63         )