Add SYMBOLPREFIX and/or -SUFFIX to cblas.h if needed
authorMartin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Sun, 2 Aug 2020 09:20:08 +0000 (11:20 +0200)
committerGitHub <noreply@github.com>
Sun, 2 Aug 2020 09:20:08 +0000 (11:20 +0200)
CMakeLists.txt

index 7e51e7e..c324e22 100644 (file)
@@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 2.8.5)
 project(OpenBLAS C ASM)
 set(OpenBLAS_MAJOR_VERSION 0)
 set(OpenBLAS_MINOR_VERSION 3)
-set(OpenBLAS_PATCH_VERSION 9.dev)
+set(OpenBLAS_PATCH_VERSION 10.dev)
 set(OpenBLAS_VERSION "${OpenBLAS_MAJOR_VERSION}.${OpenBLAS_MINOR_VERSION}.${OpenBLAS_PATCH_VERSION}")
 
 # Adhere to GNU filesystem layout conventions
@@ -249,7 +249,7 @@ if (BUILD_SHARED_LIBS AND BUILD_RELAPACK)
   endif()
 endif()
 
-if (BUILD_SHARED_LIBS AND NOT ${SYMBOLPREFIX}${SYMBOLSUFIX} STREQUAL "")
+if (BUILD_SHARED_LIBS AND NOT ${SYMBOLPREFIX}${SYMBOLSUFFIX} STREQUAL "")
 if (NOT DEFINED ARCH)
   set(ARCH_IN "x86_64")
 else()
@@ -358,10 +358,21 @@ endif()
 
 if(NOT NO_CBLAS)
        message (STATUS "Generating cblas.h in ${CMAKE_INSTALL_INCLUDEDIR}")
-
        set(CBLAS_H ${CMAKE_BINARY_DIR}/generated/cblas.h)
        file(READ ${CMAKE_CURRENT_SOURCE_DIR}/cblas.h CBLAS_H_CONTENTS)
        string(REPLACE "common" "openblas_config" CBLAS_H_CONTENTS_NEW "${CBLAS_H_CONTENTS}")
+       if (NOT ${SYMBOLPREFIX} STREQUAL "")
+       string(REPLACE " cblas" " ${SYMBOLPREFIX}cblas" CBLAS_H_CONTENTS        "${CBLAS_H_CONTENTS_NEW}")
+       string(REPLACE " openblas" " ${SYMBOLPREFIX}openblas" CBLAS_H_CONTENTS_NEW      "${CBLAS_H_CONTENTS}")
+       string (REPLACE " ${SYMBOLPREFIX}openblas_complex" " openblas_complex" CBLAS_H_CONTENTS "${CBLAS_H_CONTENTS_NEW}")
+       string(REPLACE " goto" " ${SYMBOLPREFIX}goto" CBLAS_H_CONTENTS_NEW "${CBLAS_H_CONTENTS}")
+       endif()
+       if (NOT ${SYMBOLSUFFIX} STREQUAL "")
+       string(REGEX REPLACE "(cblas[^ (]*)" "\\1${SYMBOLSUFFIX}" CBLAS_H_CONTENTS      "${CBLAS_H_CONTENTS_NEW}")
+       string(REGEX REPLACE "(openblas[^ (]*)" "\\1${SYMBOLSUFFIX}" CBLAS_H_CONTENTS_NEW "${CBLAS_H_CONTENTS}")
+       string(REGEX REPLACE "(openblas_complex[^ ]*)${SYMBOLSUFFIX}" "\\1" CBLAS_H_CONTENTS    "${CBLAS_H_CONTENTS_NEW}")
+       string(REGEX REPLACE "(goto[^ (]*)" "\\1${SYMBOLSUFFIX}" CBLAS_H_CONTENTS_NEW   "${CBLAS_H_CONTENTS}")
+       endif()
        file(WRITE ${CBLAS_H} "${CBLAS_H_CONTENTS_NEW}")
        install (FILES ${CBLAS_H} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
 endif()