-cmake_minimum_required(VERSION 2.8)
-project(SimGrid-Java C)
-set(UPDATE_TYPE svn)
-set(CMAKE_C_FLAGS "" CACHE TYPE INTERNAL FORCE)
-set(CMAKE_EXE_LINKER_FLAGS "" CACHE TYPE INTERNAL FORCE)
-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_HOME_DIRECTORY}/lib")
-set(soversion 1)
-
-set(SIMGRID_JAVA_VERSION_MAJOR "3")
-set(SIMGRID_JAVA_VERSION_MINOR "7")
-set(SIMGRID_JAVA_VERSION_PATCH "1")
-set(DIST_NAME ${PROJECT_NAME}-${SIMGRID_JAVA_VERSION_MAJOR}.${SIMGRID_JAVA_VERSION_MINOR})
-
-########
-## GCC #
-########
-exec_program("${CMAKE_C_COMPILER} --version" OUTPUT_VARIABLE "COMPILER_C_VERSION")
-string(REGEX MATCH "[0-9].[0-9].[0-9]" COMPILER_C_VERSION "${COMPILER_C_VERSION}")
-string(REGEX MATCH "^[0-9].[0-9]" COMPILER_C_VERSION_MAJOR_MINOR "${COMPILER_C_VERSION}")
-string(REPLACE "${COMPILER_C_VERSION_MAJOR_MINOR}." "" COMPILER_C_VERSION_PATCH "${COMPILER_C_VERSION}")
-
-########
-## GIT #
-########
-if(EXISTS ${CMAKE_HOME_DIRECTORY}/.git/ AND NOT WIN32)
- exec_program("git remote | head -n 1" OUTPUT_VARIABLE remote RETURN_VALUE ret)
- exec_program("git config --get remote.${remote}.url" OUTPUT_VARIABLE url RETURN_VALUE ret)
-
- if(url)
- exec_program("git --git-dir=${CMAKE_HOME_DIRECTORY}/.git log --oneline -1" OUTPUT_VARIABLE "GIT_VERSION")
- message(STATUS "Git version: ${GIT_VERSION}")
- exec_program("git --git-dir=${CMAKE_HOME_DIRECTORY}/.git log -n 1 --format=%ai ." OUTPUT_VARIABLE "GIT_DATE")
- message(STATUS "Git date: ${GIT_DATE}")
- string(REGEX REPLACE " .*" "" GIT_VERSION "${GIT_VERSION}")
- STRING(REPLACE " +0000" "" GIT_DATE ${GIT_DATE})
- STRING(REPLACE " " "~" GIT_DATE ${GIT_DATE})
- STRING(REPLACE ":" "-" GIT_DATE ${GIT_DATE})
- endif(url)
-endif(EXISTS ${CMAKE_HOME_DIRECTORY}/.git/ AND NOT WIN32)
-
-#########
-# CDASH #
-#########
-SET(DROP_METHOD "http")
-SET(DROP_SITE "cdash.inria.fr/CDash")
-SET(DROP_LOCATION "/submit.php?project=simgrid")
-SET(DROP_SITE_CDASH TRUE)
-SET(TRIGGER_SITE "http://cdash.inria.fr/CDash/cgi-bin/Submit-Random-TestingResults.cgi")
-SET(BUILDNAME "SimGrid-Java" CACHE TYPE INTERNAL FORCE)
-set(osname ${CMAKE_SYSTEM_NAME})
-set(cpu ${CMAKE_SYSTEM_PROCESSOR})
-set(DISTRIB2 ${CMAKE_SYSTEM_VERSION})
-SET(SITE "${osname}_${DISTRIB2}_${cpu}")
-SET(CTEST_SITE "${osname}_${DISTRIB2}_${cpu}")
-SET(CTEST_PROJECT_NAME "${PROJECT_NAME}")
-SET(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE "3000000")
-SET(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE "3000000")
-set(PIPOL_IMAGE $ENV{PIPOL_IMAGE})
-if(NOT ${PIPOL_IMAGE} MATCHES "\n")
-set(SITE ${PIPOL_IMAGE})
-endif(NOT ${PIPOL_IMAGE} MATCHES "\n")
-message(STATUS "SITE : ${SITE}")
-message(STATUS "BUILDNAME : ${BUILDNAME}")
-
-###############################
-# Test the build dependencies #
-###############################
-include(FindSimGrid.cmake)
-include(FindJavaSG.cmake)
-
-###############################
-# Declare our package content #
-###############################
-set(JMSG_C_SRC
- ${CMAKE_HOME_DIRECTORY}/src/smx_context_java.h
- ${CMAKE_HOME_DIRECTORY}/src/smx_context_java.c
- ${CMAKE_HOME_DIRECTORY}/src/jxbt_utilities.c
- ${CMAKE_HOME_DIRECTORY}/src/jxbt_utilities.h
- ${CMAKE_HOME_DIRECTORY}/src/jmsg.c
- ${CMAKE_HOME_DIRECTORY}/src/jmsg.h
- ${CMAKE_HOME_DIRECTORY}/src/jmsg_comm.c
- ${CMAKE_HOME_DIRECTORY}/src/jmsg_comm.h
- ${CMAKE_HOME_DIRECTORY}/src/jmsg_host.c
- ${CMAKE_HOME_DIRECTORY}/src/jmsg_host.h
- ${CMAKE_HOME_DIRECTORY}/src/jmsg_process.c
- ${CMAKE_HOME_DIRECTORY}/src/jmsg_process.h
- ${CMAKE_HOME_DIRECTORY}/src/jmsg_task.c
- ${CMAKE_HOME_DIRECTORY}/src/jmsg_task.h
- ${CMAKE_HOME_DIRECTORY}/src/jmsg_synchro.c
- ${CMAKE_HOME_DIRECTORY}/src/jmsg_synchro.h
- ${CMAKE_HOME_DIRECTORY}/src/jmsg_rngstream.c
- ${CMAKE_HOME_DIRECTORY}/src/jmsg_rngstream.h
-)
-
-set(JMSG_JAVA_SRC
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/Host.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/HostFailureException.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/HostNotFoundException.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/JniException.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/Msg.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/MsgException.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/NativeException.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/Process.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/ProcessKilledError.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/ProcessNotFoundException.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/Task.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/TaskCancelledException.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/TimeoutException.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/TransferFailureException.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/Mutex.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/Comm.java
- ${CMAKE_HOME_DIRECTORY}/org/simgrid/msg/RngStream.java
-)
-
-set(JAVA_EXAMPLES
- ${CMAKE_HOME_DIRECTORY}/examples/async/AsyncTest.java
- ${CMAKE_HOME_DIRECTORY}/examples/async/FinalizeTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/async/Forwarder.java
- ${CMAKE_HOME_DIRECTORY}/examples/async/Master.java
- ${CMAKE_HOME_DIRECTORY}/examples/async/Slave.java
- ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/Bittorrent.java
- ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/Common.java
- ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/Connection.java
- ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/MessageTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/Peer.java
- ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/Tracker.java
- ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/TrackerTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/chord/Chord.java
- ${CMAKE_HOME_DIRECTORY}/examples/chord/Common.java
- ${CMAKE_HOME_DIRECTORY}/examples/chord/Node.java
- ${CMAKE_HOME_DIRECTORY}/examples/chord/ChordTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/chord/FindSuccessorAnswerTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/chord/FindSuccessorTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/chord/GetPredecessorAnswerTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/chord/NotifyTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/commTime/FinalizeTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/commTime/Master.java
- ${CMAKE_HOME_DIRECTORY}/examples/commTime/Slave.java
- ${CMAKE_HOME_DIRECTORY}/examples/commTime/CommTimeTest.java
- ${CMAKE_HOME_DIRECTORY}/examples/masterslave/FinalizeTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/masterslave/Forwarder.java
- ${CMAKE_HOME_DIRECTORY}/examples/masterslave/Master.java
- ${CMAKE_HOME_DIRECTORY}/examples/masterslave/Masterslave.java
- ${CMAKE_HOME_DIRECTORY}/examples/masterslave/Slave.java
- ${CMAKE_HOME_DIRECTORY}/examples/master_slave_bypass/Master.java
- ${CMAKE_HOME_DIRECTORY}/examples/master_slave_bypass/MsBypass.java
- ${CMAKE_HOME_DIRECTORY}/examples/master_slave_bypass/Slave.java
- ${CMAKE_HOME_DIRECTORY}/examples/master_slave_bypass/FinalizeTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/master_slave_kill/Master.java
- ${CMAKE_HOME_DIRECTORY}/examples/master_slave_kill/MsKill.java
- ${CMAKE_HOME_DIRECTORY}/examples/master_slave_kill/Slave.java
- ${CMAKE_HOME_DIRECTORY}/examples/master_slave_kill/FinalizeTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/migration/Emigrant.java
- ${CMAKE_HOME_DIRECTORY}/examples/migration/Migration.java
- ${CMAKE_HOME_DIRECTORY}/examples/migration/Policeman.java
- ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/centralized/MutexCentral.java
- ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/centralized/GrantTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/centralized/Coordinator.java
- ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/centralized/ReleaseTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/centralized/Node.java
- ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/centralized/RequestTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/pingPong/PingPongTask.java
- ${CMAKE_HOME_DIRECTORY}/examples/pingPong/Sender.java
- ${CMAKE_HOME_DIRECTORY}/examples/pingPong/Receiver.java
- ${CMAKE_HOME_DIRECTORY}/examples/pingPong/PingPongTest.java
- ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/Master.java
- ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/Slave.java
- ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/StartKillTime.java
- ${CMAKE_HOME_DIRECTORY}/examples/suspend/DreamMaster.java
- ${CMAKE_HOME_DIRECTORY}/examples/suspend/LazyGuy.java
- ${CMAKE_HOME_DIRECTORY}/examples/suspend/Suspend.java
-)
-
-set(CMAKE_SRC
- ${CMAKE_HOME_DIRECTORY}/ChangeLog
- ${CMAKE_HOME_DIRECTORY}/CMakeLists.txt
- ${CMAKE_HOME_DIRECTORY}/FindJavaSG.cmake
- ${CMAKE_HOME_DIRECTORY}/FindSimGrid.cmake
-)
-
-set(XML_FILES
- ${CMAKE_HOME_DIRECTORY}/examples/master_slave_bypass/platform.xml
- ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/bittorrent.xml
- ${CMAKE_HOME_DIRECTORY}/examples/platform.xml
- ${CMAKE_HOME_DIRECTORY}/examples/commTime/commTimeDeployment.xml
- ${CMAKE_HOME_DIRECTORY}/examples/async/asyncDeployment.xml
- ${CMAKE_HOME_DIRECTORY}/examples/migration/migrationDeployment.xml
- ${CMAKE_HOME_DIRECTORY}/examples/masterslave/deploy.xml
- ${CMAKE_HOME_DIRECTORY}/examples/masterslave/masterslaveDeployment.xml
- ${CMAKE_HOME_DIRECTORY}/examples/chord/chord100.xml
- ${CMAKE_HOME_DIRECTORY}/examples/chord/chord.xml
- ${CMAKE_HOME_DIRECTORY}/examples/chord/chord10.xml
- ${CMAKE_HOME_DIRECTORY}/examples/chord/chord10000.xml
- ${CMAKE_HOME_DIRECTORY}/examples/chord/chord1000.xml
- ${CMAKE_HOME_DIRECTORY}/examples/chord/chord90.xml
- ${CMAKE_HOME_DIRECTORY}/examples/suspend/suspendDeployment.xml
- ${CMAKE_HOME_DIRECTORY}/examples/master_slave_kill/platform.xml
- ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/centralized/mutex_centralized_deployment.xml
- ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/ring3.xml
- ${CMAKE_HOME_DIRECTORY}/examples/priority/priorityDeployment.xml
- ${CMAKE_HOME_DIRECTORY}/examples/pingPong/pingPongDeployment.xml
- ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/deployment_kill.xml
- ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/deployment_start.xml
- ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/deployment_start_kill.xml
- ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/deployment.xml
-)
-
-set(source_to_pack
- ${CMAKE_SRC}
- ${JMSG_C_SRC}
- ${JMSG_JAVA_SRC}
- ${JAVA_EXAMPLES}
- ${XML_FILES}
-)
-
-string(REPLACE "org/" "${CMAKE_HOME_DIRECTORY}/org/" JAVA_FILES "${JMSG_JAVA_SRC}")
-string(REPLACE "org/" "${CMAKE_HOME_DIRECTORY}/classes/org/" JMSG_JAVA_SRC_CLASS "${JMSG_JAVA_SRC}")
-string(REPLACE ".java" ".class" JMSG_JAVA_SRC_CLASS "${JMSG_JAVA_SRC_CLASS}")
-string(REPLACE "examples/" "${CMAKE_HOME_DIRECTORY}/examples/" JAVA_EXAMPLES_CLASS "${JAVA_EXAMPLES}")
-string(REPLACE ".java" ".class" JAVA_EXAMPLES_CLASS "${JAVA_EXAMPLES_CLASS}")
-
-#########
-# FLAGS #
-#########
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -g -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wcomment -Wformat -Wwrite-strings -Wno-unused-function -Wno-unused-parameter -Wno-strict-aliasing -Wno-format-nonliteral -Werror ")
-set(INCLUDE_PATH "-I${CMAKE_HOME_DIRECTORY}/src -I${SIMGRID_INCLUDES} ")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${INCLUDE_PATH}")
-
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error=int-to-pointer-cast -Wno-error=pointer-to-int-cast")
-if(COMPILER_C_VERSION_MAJOR_MINOR MATCHES "4.6")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error=unused-but-set-variable")
-endif(COMPILER_C_VERSION_MAJOR_MINOR MATCHES "4.6")
-
-###########
-# TARGETS #
-###########
-# SG_java
-add_library(SG_java SHARED ${JMSG_C_SRC})