Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Build libSG_java.
authorArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Thu, 31 Jan 2013 13:49:06 +0000 (14:49 +0100)
committerArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Thu, 31 Jan 2013 15:17:56 +0000 (16:17 +0100)
CMakeLists.txt
buildtools/Cmake/MakeLib.cmake

index b9c2a97..4f1436e 100644 (file)
@@ -66,6 +66,7 @@ else()
 endif()
 set(libsimgrid_version "${release_version}")
 set(libsmpi_version "${release_version}")
+set(libSG_java_version "${release_version}")
 set(GCC_NEED_VERSION "4.0")
 set(APPLE_NEED_GCC_VERSION "4.6")
 
index bce4151..09cd281 100644 (file)
@@ -23,6 +23,30 @@ if(enable_smpi)
   endif()
 endif()
 
+if(enable_java)
+  add_library(SG_java SHARED ${JMSG_C_SRC})
+  set_target_properties(SG_java PROPERTIES VERSION ${libSG_java_version})
+  get_target_property(COMMON_INCLUDES SG_java INCLUDE_DIRECTORIES)
+  set_target_properties(SG_java PROPERTIES
+    INCLUDE_DIRECTORIES "${COMMON_INCLUDES};${JNI_INCLUDE_DIRS}")
+  add_dependencies(SG_java simgrid)
+
+  if(WIN32)
+    get_target_property(SIMGRID_LIB_NAME_NAME SG_java LIBRARY_OUTPUT_NAME)
+    set_target_properties(SG_java PROPERTIES
+      LINK_FLAGS "-Wl,--subsystem,windows,--kill-at ${SIMGRID_LIB_NAME}"
+      PREFIX "")
+    find_path(PEXPORTS_PATH NAMES pexports.exe PATHS NO_DEFAULT_PATHS)
+    message(STATUS "pexports: ${PEXPORTS_PATH}")
+    if(PEXPORTS_PATH)
+      add_custom_command(TARGET SG_java POST_BUILD
+        COMMAND ${PEXPORTS_PATH}/pexports.exe ${CMAKE_BINARY_DIR}/SG_java.dll > ${CMAKE_BINARY_DIR}/SG_java.def)
+    endif(PEXPORTS_PATH)
+  else()
+    target_link_libraries(SG_java simgrid)
+  endif()
+endif()
+
 add_dependencies(simgrid maintainer_files)
 
 # if supernovaeing, we need some depends to make sure that the source gets generated