if(WIN32)
- exec_program("java -d32 -version"
- OUTPUT_VARIABLE IS_32_BITS_JVM)
+ exec_program("java -d32 -version" OUTPUT_VARIABLE IS_32_BITS_JVM)
STRING( FIND ${IS_32_BITS_JVM} "Error" POSITION )
- if(${POSITION} GREATER -1)
- message("POTENTIAL ERROR: Java JVM needs to be 32 bits to be able to run with Simgrid on Windows for now")
+ if(NOT ${POSITION} GREATER -1)
+ message(fatal_error "SimGrid can only use Java 64 bits")
endif()
-
- set_target_properties(simgrid-java PROPERTIES
- LINK_FLAGS "-Wl,--subsystem,windows,--kill-at")
endif()
# Rules to build simgrid.jar
if(NOT STRIP_COMMAND)
set(STRIP_COMMAND "cmake -E echo (strip not found)")
endif()
- if(WIN32)
- set(STRIP_COMMAND "cmake -E echo (dont strip on windows)")
+ set(SG_SYSTEM_NAME ${CMAKE_SYSTEM_NAME})
+
+ if(${SG_SYSTEM_NAME} MATCHES "kFreeBSD")
+ set(SG_SYSTEM_NAME GNU/kFreeBSD)
endif()
- set(JAVA_NATIVE_PATH NATIVE/${CMAKE_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR})
+ set(JAVA_NATIVE_PATH NATIVE/${SG_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR})
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^i[3-6]86$")
- set(JAVA_NATIVE_PATH NATIVE/${CMAKE_SYSTEM_NAME}/x86)
+ set(JAVA_NATIVE_PATH NATIVE/${SG_SYSTEM_NAME}/x86)
endif()
if( (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") OR
(${CMAKE_SYSTEM_PROCESSOR} MATCHES "AMD64") )
- set(JAVA_NATIVE_PATH NATIVE/${CMAKE_SYSTEM_NAME}/amd64)
+ set(JAVA_NATIVE_PATH NATIVE/${SG_SYSTEM_NAME}/amd64)
+ endif()
+ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7l")
+ set(JAVA_NATIVE_PATH NATIVE/${SG_SYSTEM_NAME}/arm) # Default arm (soft-float ABI)
endif()
add_custom_command(
COMMAND ${CMAKE_COMMAND} -E echo "-- Cmake put the native code in ${JAVA_NATIVE_PATH}"
COMMAND "${Java_JAVA_EXECUTABLE}" -classpath "${SIMGRID_JAR}" org.simgrid.NativeLib
)
- #if(MINGW)
- # find_library(WINPTHREAD_DLL
- # NAME winpthread winpthread-1
- # PATHS C:\\MinGW C:\\MinGW64 C:\\MinGW\\bin C:\\MinGW64\\bin
- # )
- # add_custom_command(
- # TARGET simgrid-java_jar POST_BUILD
- # COMMENT "Add the MinGW libs into simgrid.jar..."
- # DEPENDS ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_SO}
- #
- # COMMAND ${CMAKE_COMMAND} -E remove_directory NATIVE
- # COMMAND ${CMAKE_COMMAND} -E make_directory ${JAVA_NATIVE_PATH}
- # COMMAND ${CMAKE_COMMAND} -E copy ${WINPTHREAD_DLL} ${JAVA_NATIVE_PATH}
- #
- # COMMAND ${JAVA_ARCHIVE} -uvf ${SIMGRID_JAR} NATIVE
- # COMMAND ${CMAKE_COMMAND} -E remove_directory NATIVE
- # )
- #endif(MINGW)
+ if(MINGW)
+ find_library(WINPTHREAD_DLL
+ NAME winpthread winpthread-1
+ PATHS C:\\MinGW C:\\MinGW64 C:\\MinGW\\bin C:\\MinGW64\\bin
+ )
+ add_custom_command(
+ TARGET simgrid-java_jar POST_BUILD
+ COMMENT "Add the MinGW libs into simgrid.jar..."
+ DEPENDS ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_SO}
+
+ COMMAND ${CMAKE_COMMAND} -E remove_directory NATIVE
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${JAVA_NATIVE_PATH}
+ COMMAND ${CMAKE_COMMAND} -E copy ${WINPTHREAD_DLL} ${JAVA_NATIVE_PATH}
+
+ COMMAND ${JAVA_ARCHIVE} -uvf ${SIMGRID_JAR} NATIVE
+ COMMAND ${CMAKE_COMMAND} -E remove_directory NATIVE
+ )
+ endif(MINGW)
endif(enable_lib_in_jar)
include_directories(${JNI_INCLUDE_DIRS} ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
add_dependencies(simgrid-java surf-java)
add_dependencies(simgrid-java_jar surf-java)
-if(WIN32)
- set_target_properties(surf-java PROPERTIES
- LINK_FLAGS "-Wl,--subsystem,windows,--kill-at")
-endif()