From 746d9f705cc69e46256eb4e2d5f8006ab0dbd4d5 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Sun, 20 Sep 2015 21:51:23 +0200 Subject: [PATCH] Revert "bump our dependency on cmake and stop trying to survive older versions" It breaks on fedora, for some reason. This reverts commit ae3968bcb65dde4ba2ad2d276a98fe665825eae0. --- CMakeLists.txt | 3 ++- tools/cmake/MakeJava.cmake | 32 +++++++++++++++++++++++--------- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 53afb841ef..0f07263f15 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,5 @@ -cmake_minimum_required(VERSION 2.8.8) +cmake_minimum_required(VERSION 2.6) +# Java requires 2.8.6 project(SimGrid C CXX) diff --git a/tools/cmake/MakeJava.cmake b/tools/cmake/MakeJava.cmake index 319e3cffac..10acb49fe7 100644 --- a/tools/cmake/MakeJava.cmake +++ b/tools/cmake/MakeJava.cmake @@ -1,19 +1,28 @@ +cmake_minimum_required(VERSION 2.8.6) + include(UseJava) # Rules to build libsimgrid-java # add_library(simgrid-java SHARED ${JMSG_C_SRC}) set_target_properties(simgrid-java PROPERTIES VERSION ${libsimgrid-java_version}) -get_target_property(COMMON_INCLUDES simgrid-java INCLUDE_DIRECTORIES) -if (COMMON_INCLUDES) - set_target_properties(simgrid-java PROPERTIES - INCLUDE_DIRECTORIES "${COMMON_INCLUDES};${JNI_INCLUDE_DIRS}") +if (CMAKE_VERSION VERSION_LESS "2.8.8") + include_directories(${JNI_INCLUDE_DIRS}) + + message("[Java] Try to workaround missing feature in older CMake. You should better update CMake to version 2.8.8 or above.") + get_directory_property(CHECK_INCLUDES INCLUDE_DIRECTORIES) else() - set_target_properties(simgrid-java PROPERTIES - INCLUDE_DIRECTORIES "${JNI_INCLUDE_DIRS}") -endif() + get_target_property(COMMON_INCLUDES simgrid-java INCLUDE_DIRECTORIES) + if (COMMON_INCLUDES) + set_target_properties(simgrid-java PROPERTIES + INCLUDE_DIRECTORIES "${COMMON_INCLUDES};${JNI_INCLUDE_DIRS}") + else() + set_target_properties(simgrid-java PROPERTIES + INCLUDE_DIRECTORIES "${JNI_INCLUDE_DIRS}") + endif() -get_target_property(CHECK_INCLUDES simgrid-java INCLUDE_DIRECTORIES) + get_target_property(CHECK_INCLUDES simgrid-java INCLUDE_DIRECTORIES) +endif() message("-- [Java] simgrid-java includes: ${CHECK_INCLUDES}") target_link_libraries(simgrid-java simgrid) @@ -65,7 +74,12 @@ endif() ## Here is how to build simgrid.jar ## -add_jar(simgrid-java_pre_jar ${JMSG_JAVA_SRC} OUTPUT_NAME simgrid) +if(CMAKE_VERSION VERSION_LESS "2.8.12") + set(CMAKE_JAVA_TARGET_OUTPUT_NAME simgrid) + add_jar(simgrid-java_pre_jar ${JMSG_JAVA_SRC}) +else() + add_jar(simgrid-java_pre_jar ${JMSG_JAVA_SRC} OUTPUT_NAME simgrid) +endif() set(JAVA_BUNDLE "${CMAKE_HOME_DIRECTORY}/tools/cmake/Scripts/java_bundle.sh") set(JAVA_BUNDLE_SO_FILES -- 2.20.1