set(LAPACKE_INCLUDE lapack.h)
IF(LAPACKE)
    list(APPEND LAPACKE_INCLUDE lapacke.h lapacke_config.h lapacke_utils.h)
endif()

file(COPY ${LAPACKE_INCLUDE} DESTINATION ${FlexiBLAS_BINARY_DIR}/include)

# Create a header file lapacke_mangling.h for the routines called in my C programs
include(CheckLanguage)
check_language(Fortran)
check_language(C)
if(CMAKE_Fortran_COMPILER AND CMAKE_C_COMPILER)
  enable_language(Fortran)
  enable_language(C)
  include(FortranCInterface)
  ## Ensure that the fortran compiler and c compiler specified are compatible
  FortranCInterface_VERIFY()
  FortranCInterface_HEADER(${FlexiBLAS_BINARY_DIR}/include/lapacke_mangling.h
    MACRO_NAMESPACE "LAPACK_"
    SYMBOL_NAMESPACE "LAPACK_")
endif()
if(NOT FortranCInterface_GLOBAL_FOUND OR NOT FortranCInterface_MODULE_FOUND)
  message(WARNING "Reverting to pre-defined include/lapacke_mangling.h")
  configure_file(lapacke_mangling_with_flags.h.in
                 ${FlexiBLAS_BINARY_DIR}/include/lapacke_mangling.h)
endif()