Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Install the libraries carefully so that we have a link from .so to .so.version
[simgrid.git] / buildtools / Cmake / src / CMakeJarAndClass.txt
1 #SET(CMAKE_VERBOSE_MAKEFILE 1)
2
3 set(JAVA_FILES ${JMSG_JAVA_SRC})
4 set(JAVA_CLASSES ${JAVA_FILES})
5 string(REPLACE "${PROJECT_DIRECTORY}/src/java/simgrid/msg" "${CMAKE_CURRENT_BINARY_DIR}/classes/simgrid/msg"
6                JAVA_CLASSES "${JAVA_CLASSES}")
7 string(REPLACE ".java" ".class;" 
8                JAVA_CLASSES "${JAVA_CLASSES}")
9                
10
11 file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/classes/")
12
13 # compile all .java files with javac to .class
14 ADD_CUSTOM_COMMAND(
15   OUTPUT ${JAVA_CLASSES}
16   DEPENDS ${JAVA_FILES}
17   COMMAND ${JAVA_COMPILE} -d ${CMAKE_CURRENT_BINARY_DIR}/classes/
18                           -cp ${CMAKE_CURRENT_BINARY_DIR}/classes/
19                           ${JAVA_FILES}
20   COMMENT "Compiling java sources of core library..."
21 )
22
23 ADD_CUSTOM_COMMAND(
24   OUTPUT ${PROJECT_DIRECTORY}/src/simgrid.jar
25   DEPENDS ${JAVA_CLASSES}
26   WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/classes  
27   COMMAND ${JAVA_ARCHIVE} -cvf ${PROJECT_DIRECTORY}/src/simgrid.jar .
28   COMMENT "Building simgrid.jar..."
29 )
30
31 ADD_CUSTOM_TARGET(java_basic ALL
32   COMMAND ${JAVA_COMPILE} -d ${PROJECT_DIRECTORY}/examples/java/basic -cp ${PROJECT_DIRECTORY}/src/simgrid.jar ${PROJECT_DIRECTORY}/examples/java/basic/*.java
33   DEPENDS ${PROJECT_DIRECTORY}/src/simgrid.jar ${PROJECT_DIRECTORY}/examples/java/basic/*.java
34 )
35         
36 ADD_CUSTOM_TARGET(java_ping_pong ALL
37   COMMAND ${JAVA_COMPILE} -d ${PROJECT_DIRECTORY}/examples/java/ping_pong -cp ${PROJECT_DIRECTORY}/src/simgrid.jar ${PROJECT_DIRECTORY}/examples/java/ping_pong/*.java
38   DEPENDS ${PROJECT_DIRECTORY}/src/simgrid.jar ${PROJECT_DIRECTORY}/examples/java/ping_pong/*.java
39 )
40         
41 ADD_CUSTOM_TARGET(java_comm_time ALL
42   COMMAND ${JAVA_COMPILE} -d ${PROJECT_DIRECTORY}/examples/java/comm_time -cp ${PROJECT_DIRECTORY}/src/simgrid.jar ${PROJECT_DIRECTORY}/examples/java/comm_time/*.java
43   DEPENDS ${PROJECT_DIRECTORY}/src/simgrid.jar ${PROJECT_DIRECTORY}/examples/java/comm_time/*.java
44 )
45         
46 ADD_CUSTOM_TARGET(java_suspend ALL
47   COMMAND ${JAVA_COMPILE} -d ${PROJECT_DIRECTORY}/examples/java/suspend -cp ${PROJECT_DIRECTORY}/src/simgrid.jar ${PROJECT_DIRECTORY}/examples/java/suspend/*.java
48   DEPENDS ${PROJECT_DIRECTORY}/src/simgrid.jar ${PROJECT_DIRECTORY}/examples/java/suspend/*.java
49 )