From: Martin Quinson Date: Tue, 3 Nov 2015 00:11:30 +0000 (+0100) Subject: [cmake] all java stuff in the same place X-Git-Tag: v3_13~1600 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/aedba5608ade91e513d5d9977544acff137e46aa [cmake] all java stuff in the same place --- diff --git a/CMakeLists.txt b/CMakeLists.txt index c5f5292676..f793f39940 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -237,21 +237,6 @@ include(CheckSymbolExists) include(FindGraphviz) include(FindLibSigc++) -if(enable_java) - find_package(Java REQUIRED COMPONENTS Runtime Development) - find_package(JNI REQUIRED) - message("-- [Java] JNI found: ${JNI_FOUND}") - message("-- [Java] JNI include dirs: ${JNI_INCLUDE_DIRS}") - find_package(SWIG) - if(SWIG_FOUND) - include(UseSWIG) - message("-- [Java] Swig found: version ${SWIG_VERSION}") - else() - message("-- [Java] Swig NOT FOUND. Surf java bindings won't get refreshed. That's fine unless you work on this part yourself.") - endif() - mark_as_advanced(SWIG_EXECUTABLE) - set(HAVE_Java 1) -endif() if(enable_scala) find_package(Scala REQUIRED) message("-- [Scala] scalac found: ${SCALA_COMPILE}") diff --git a/tools/cmake/Documentation.cmake b/tools/cmake/Documentation.cmake index 038edc33bb..17f0fb2f26 100644 --- a/tools/cmake/Documentation.cmake +++ b/tools/cmake/Documentation.cmake @@ -122,7 +122,7 @@ add_custom_target(sync-gforge-dtd endif() # Doxygen found -if (HAVE_Java) +if (Java_FOUND) find_path(JAVADOC_PATH NAMES javadoc PATHS NO_DEFAULT_PATHS) mark_as_advanced(JAVADOC_PATH) diff --git a/tools/cmake/Java.cmake b/tools/cmake/Java.cmake index 71d4b850e5..509679254c 100644 --- a/tools/cmake/Java.cmake +++ b/tools/cmake/Java.cmake @@ -3,9 +3,27 @@ ## This file is loaded only if the Java option is activated ## -find_package(Java 1.7 REQUIRED) +find_package(Java 1.7 COMPONENTS Runtime Development) +if (not ${Java_FOUND}) + message(FATAL_ERROR "Java not found (need at least Java7). Please install the JDK or disable that option") +endif() +set(Java_FOUND 1) include(UseJava) +find_package(JNI REQUIRED) +message("-- [Java] JNI found: ${JNI_FOUND}") +message("-- [Java] JNI include dirs: ${JNI_INCLUDE_DIRS}") + +find_package(SWIG) +if(${SWIG_FOUND}) + include(UseSWIG) + message("-- [Java] Swig found: version ${SWIG_VERSION}") +else() + message("-- [Java] Swig NOT FOUND. Surf java bindings won't get refreshed. That's fine unless you work on this part yourself.") +endif() +mark_as_advanced(SWIG_EXECUTABLE) + + # Rules to build libsimgrid-java # add_library(simgrid-java SHARED ${JMSG_C_SRC}) @@ -154,7 +172,7 @@ endif(enable_lib_in_jar) include_directories(${JNI_INCLUDE_DIRS} ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2}) -if(SWIG_FOUND) +if(${SWIG_FOUND}) set(CMAKE_SWIG_FLAGS "-package" "org.simgrid.surf") set(CMAKE_SWIG_OUTDIR "${CMAKE_HOME_DIRECTORY}/src/bindings/java/org/simgrid/surf") diff --git a/tools/cmake/PrintArgs.cmake b/tools/cmake/PrintArgs.cmake index 4bf538f904..4acd4e042e 100644 --- a/tools/cmake/PrintArgs.cmake +++ b/tools/cmake/PrintArgs.cmake @@ -79,9 +79,14 @@ if(CMAKE_CXX_COMPILER) message(" Compiler: C++ ...............: ${CMAKE_CXX_COMPILER} (${CMAKE_CXX_COMPILER_ID})") message(" version .............: ${CMAKE_CXX_COMPILER_VERSION}") endif() -if(HAVE_Java) +if(${Java_FOUND}) message(" Compiler: Javac .............: ${Java_JAVAC_EXECUTABLE}") message(" version .............: ${Java_VERSION_STRING}") +if(${SWIG_FOUND}) + message(" SWIG ................: Version ${SWIG_VERSION} found.") +else() + message(" SWIG ................: Missing.") +endif() endif() if(CMAKE_Fortran_COMPILER) message(" Compiler: Fortran ...........: ${CMAKE_Fortran_COMPILER} (${CMAKE_Fortran_COMPILER_ID})") @@ -102,7 +107,7 @@ else() message(" Compile NS-3 ................: NO (hint: ${NS3_HINT})") endif() -if (HAVE_Java) +if (${Java_FOUND}) message(" Compile Java ................: yes") message(" Native lib in jar .........: ${enable_lib_in_jar}") else()