From 498efb87344aa49404daeffe1494f1193b4b39fe Mon Sep 17 00:00:00 2001
From: Ivan Tsybulin <tsybulinhome@gmail.com>
Date: Tue, 20 Sep 2022 00:30:40 +0300
Subject: [PATCH] Add manual override for FORTRANUNDERSCORE

---
 ParLib.src/CMakeLists.txt | 6 ++++++
 ParLib.src/parlibf.c      | 4 +++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/ParLib.src/CMakeLists.txt b/ParLib.src/CMakeLists.txt
index b881c15..5f9fe6b 100644
--- a/ParLib.src/CMakeLists.txt
+++ b/ParLib.src/CMakeLists.txt
@@ -81,11 +81,17 @@ endif(BUILD_STATIC_LIBS)
 
 if( BUILD_FORT_LIBS )
 if(BUILD_STATIC_LIBS)
+    if(FORTRANUNDERSCORE)
+        add_definitions(-DFORTRANUNDERSCORE)
+    elseif(FORTRANDOUBLEUNDERSCORE)
+        add_definitions(-DFORTRANDOUBLEUNDERSCORE)
+    else()
     include(FortranCInterface)
     FortranCInterface_VERIFY()
     FortranCInterface_HEADER(${CMAKE_CURRENT_SOURCE_DIR}/FC.h MACRO_NAMESPACE "FC_")
     message(STATUS "FORTRAN_C_INTEFACE TEST:    ${FortranCInterface_VERIFIED_C}")
     add_definitions(-DFC_MANGLE=1)
+    endif()
     add_library(parlibf-static STATIC "")
     target_sources( parlibf-static
             PRIVATE
diff --git a/ParLib.src/parlibf.c b/ParLib.src/parlibf.c
index e2be420..ee54da8 100644
--- a/ParLib.src/parlibf.c
+++ b/ParLib.src/parlibf.c
@@ -1,6 +1,8 @@
 #include <stdlib.h>
 #include "parlib.h"
-#include "FC.h"
+#ifdef FC_MANGLE
+# include "FC.h"
+#endif
 // ParLib v1.8 initialization
 // -------------------------------------------------------------------------- //
 #ifdef FORTRANUNDERSCORE
-- 
GitLab