Mingw32 needs leading underscore on object names
authorMartin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Sat, 6 Jul 2019 13:07:15 +0000 (15:07 +0200)
committerGitHub <noreply@github.com>
Sat, 6 Jul 2019 13:07:15 +0000 (15:07 +0200)
(also copy BUNDERSCORE settings for FORTRAN from the corresponding Makefile)

cmake/prebuild.cmake

index a67c44b..e508a46 100644 (file)
@@ -59,6 +59,9 @@ set(FU "")
 if (APPLE OR (MSVC AND NOT ${CMAKE_C_COMPILER_ID} MATCHES "Clang"))
   set(FU "_")
 endif()
+if(MINGW AND NOT MINGW64)
+  set(FU "_")
+endif()
 
 set(COMPILER_ID ${CMAKE_C_COMPILER_ID})
 if (${COMPILER_ID} STREQUAL "GNU")
@@ -82,6 +85,11 @@ endif ()
 # f_check
 if (NOT NOFORTRAN)
   include("${PROJECT_SOURCE_DIR}/cmake/f_check.cmake")
+else ()
+ file(APPEND ${TARGET_CONF_TEMP}
+   "#define BUNDERSCORE _\n"
+   "#define NEEDBUNDERSCORE 1\n")
+ set(BU "_")
 endif ()
 
 # Cannot run getarch on target if we are cross-compiling