AND CMAKE_COMPILER_IS_GNUCC
AND (NOT enable_model-checking))
if(WIN32)
- if (COMPILER_C_VERSION_MAJOR_MINOR STRGREATER "4.8")
+ if (CMAKE_C_COMPILER_VERSION VERSION_GREATER "4.8")
# On windows, we need 4.8 or higher to enable lto because of http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50293
#
# We are experiencing assertion failures even with 4.8 on MinGW.
# these objects you have to use the gcc wrappers:
# gcc-ar, gcc-nm and gcc-ranlib."
if(${CMAKE_C_COMPILER_ID} STREQUAL "GNU"
- AND COMPILER_C_VERSION_MAJOR_MINOR STRGREATER "4.8")
+ AND CMAKE_C_COMPILER_VERSION VERSION_GREATER "4.8")
set (CMAKE_AR gcc-ar)
set (CMAKE_RANLIB gcc-ranlib)
endif()
src/xbt/log.c src/xbt/xbt_log_appender_file.c
src/xbt/xbt_log_layout_format.c src/xbt/xbt_log_layout_simple.c
src/xbt/dict.c src/xbt/dict_elm.c src/xbt/dict_multi.c src/xbt/dict_cursor.c
- src/xbt/set.c src/xbt/setset.c
+ src/xbt/set.c
src/xbt/dynar.c src/xbt/fifo.c src/xbt/heap.c src/xbt/swag.c
src/xbt/str.c src/xbt/strbuff.c src/xbt/snprintf.c
src/xbt/queue.c
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} $ENV{LDFLAGS}")
endif()
-# We don't want to ship libgcc_s_seh-1.dll nor libstdc++-6.dll
-# This will probably be troublesome if someone wants to use the lib in
-# its own project, but we only want to have java working on Windows.
if(MINGW)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static-libgcc")
+ # http://stackoverflow.com/questions/10452262/create-64-bit-jni-under-windows
+ # We don't want to ship libgcc_s_seh-1.dll nor libstdc++-6.dll
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static-libgcc")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++")
- set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS} -static-libgcc -s")
- set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS} -static-libgcc -static-libstdc++ -s")
+ set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS} -static-libgcc")
+ set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS} -static-libgcc -static-libstdc++")
+
+ # JNI searches for stdcalls
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,--add-stdcall-alias")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--add-stdcall-alias")
+ set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS} -Wl,--add-stdcall-alias")
+ set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS} -Wl,--add-stdcall-alias")
+
+ # Specify the data model that we are using (yeah it may help Java)
+ if(ARCH_32_BITS)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
+ else()
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
+ endif()
endif()