Skip to content

Commit 96f3462

Browse files
authored
Add symbol pre- and/or postfixes to lapack.h and lapacke.h
1 parent d539685 commit 96f3462

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

CMakeLists.txt

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -703,6 +703,39 @@ if(NOT NO_LAPACKE)
703703
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/lapack-netlib/LAPACKE/include/lapacke_mangling_with_flags.h.in "${CMAKE_BINARY_DIR}/lapacke_mangling.h"
704704
)
705705
install (FILES ${CMAKE_BINARY_DIR}/lapacke_mangling.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
706+
if (NOT (${SYMBOLPREFIX}${SYMBOLSUFFIX} STREQUAL ""))
707+
message (STATUS "Generating lapacke.h in ${CMAKE_INSTALL_INCLUDEDIR}")
708+
set(LAPACKE_H ${CMAKE_BINARY_DIR}/generated/lapacke.h)
709+
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/lapack-netlib/LAPACKE/include/lapacke.h LAPACKE_H_CONTENTS)
710+
if (NOT ${SYMBOLPREFIX} STREQUAL "")
711+
string(REGEX REPLACE "(LAPACKE_*)" " ${SYMBOLPREFIX}\\1" LAPACKE_H_CONTENTS_NEW "${LAPACKE_H_CONTENTS}")
712+
string(REPLACE "_ ${SYMBOLPREFIX}LAPACKE_H_" "_LAPACKE_H_" LAPACKE_H_CONTENTS ${LAPACKE_H_CONTENTS_NEW})
713+
string(REPLACE "${SYMBOLPREFIX}LAPACKE_malloc" "LAPACKE_malloc" LAPACKE_H_CONTENTS_NEW ${LAPACKE_H_CONTENTS})
714+
string(REPLACE "${SYMBOLPREFIX}LAPACKE_free" "LAPACKE_free" LAPACKE_H_CONTENTS ${LAPACKE_H_CONTENTS_NEW})
715+
set(LAPACKE_H_CONTENTS_NEW ${LAPACKE_H_CONTENTS})
716+
endif()
717+
if (NOT ${SYMBOLSUFFIX} STREQUAL "")
718+
string(REGEX REPLACE "(${SYMBOLPREFIX}LAPACKE_[a-z1-9]*[^ (]*)" "\\1${SYMBOLSUFFIX}" LAPACKE_H_CONTENTS_NEW "${LAPACKE_H_CONTENTS}")
719+
string(REPLACE "#define${SYMBOLSUFFIX}" "#define" LAPACKE_H_CONTENTS ${LAPACKE_H_CONTENTS_NEW})
720+
string(REPLACE "LAPACKE_malloc${SYMBOLSUFFIX}" "LAPACKE_malloc" LAPACKE_H_CONTENTS_NEW ${LAPACKE_H_CONTENTS})
721+
string(REPLACE "LAPACKE_free${SYMBOLSUFFIX}" "LAPACKE_free" LAPACKE_H_CONTENTS ${LAPACKE_H_CONTENTS_NEW})
722+
set(LAPACKE_H_CONTENTS_NEW ${LAPACKE_H_CONTENTS})
723+
endif()
724+
file(WRITE ${LAPACKE_H} "${LAPACKE_H_CONTENTS_NEW}")
725+
install (FILES ${LAPACKE_H} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
726+
message (STATUS "Generating lapack.h in ${CMAKE_INSTALL_INCLUDEDIR}")
727+
set(LAPACK_H ${CMAKE_BINARY_DIR}/generated/lapack.h)
728+
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/lapack-netlib/LAPACKE/include/lapack.h LAPACK_H_CONTENTS)
729+
if (NOT ${SYMBOLPREFIX} STREQUAL "")
730+
string(REGEX REPLACE "(LAPACK_[a-z1-9]*[ \(][.\)]*)" "${SYMBOLPREFIX}\\1" LAPACK_H_CONTENTS_NEW "${LAPACK_H_CONTENTS}")
731+
set(LAPACK_H_CONTENTS ${LAPACK_H_CONTENTS_NEW})
732+
endif()
733+
if (NOT ${SYMBOLSUFFIX} STREQUAL "")
734+
string(REGEX REPLACE "(${SYMBOLPREFIX}LAPACK_[a-z1-9]*)([ \(].\)" "\\1${SYMBOLSUFFIX}\\2" LAPACK_H_CONTENTS_NEW "${LAPACK_H_CONTENTS}")
735+
endif()
736+
file(WRITE ${LAPACK_H} "${LAPACK_H_CONTENTS_NEW}")
737+
install (FILES ${LAPACK_H} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
738+
endif()
706739
endif()
707740

708741
# Install pkg-config files

0 commit comments

Comments
 (0)