Fix setting/detecting Fortran name-mangling

- PSBLAS is setting LowerUnderscore on windows without this
pull/12/head
Izaak Beekman 8 years ago
parent 9cac875a89
commit 9d0edabb77
No known key found for this signature in database
GPG Key ID: A93CE70D8021BD0F

@ -5,7 +5,7 @@
# Set oldest allowable CMake version
#-----------------------------------
cmake_minimum_required(VERSION 3.10)
cmake_policy(VERSION 3.10.0...3.12.4)
cmake_policy(VERSION 3.11.1...3.13.3)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
@ -70,8 +70,9 @@ endif()
#------------------------------------
# Fortran name mangling introspection
#------------------------------------
include("${CMAKE_CURRENT_LIST_DIR}/cmake/CapitalizeString.cmake")
include(FortranCInterface)
string(TOUPPER ${FortranCInterface_GLOBAL__CASE} fc_case)
CapitalizeString(${FortranCInterface_GLOBAL__CASE} fc_case)
message(STATUS "Name mangling capitalization: ${fc_case}")
message(STATUS "Name mangling fortran global suffix underscore: ${FortranCInterface_GLOBAL__SUFFIX}")
if(FortranCInterface_GLOBAL__SUFFIX STREQUAL "")

@ -0,0 +1,7 @@
function(CapitalizeString string output_variable)
string(TOUPPER "${string}" _upper_string)
string(TOLOWER "${string}" _lower_string)
string(SUBSTRING "${_upper_string}" 0 1 _start)
string(SUBSTRING "${_lower_string}" 1 -1 _end)
set(${output_variable} "${_start}${_end}" PARENT_SCOPE)
endfunction()
Loading…
Cancel
Save