cmake_minimum_required(VERSION 3.20) set(func_name "") file(GLOB src_files "*.f") foreach(ff IN LISTS src_files) get_filename_component(sn ${ff} NAME_WE) list(APPEND func_name ${sn}) endforeach() # message(STATUS "${func_name}") string(REPLACE ";" " " func_str "${func_name}") # message(STATUS ${func_str}) enable_language(Fortran CXX) include(FortranCInterface) FortranCInterface_HEADER(FortranCInterface.h MACRO_NAMESPACE "FC_" # SYMBOL_NAMESPACE "fp_" SYMBOL_NAMESPACE "" # SYMBOLS ${func_str} SYMBOLS ${func_name} ) FortranCInterface_VERIFY(CXX) # set(FITPACK_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE) # include_directories(${BSPLINES_INCLUDE_DIR}) add_library(fitpack_project STATIC EXCLUDE_FROM_ALL ${src_files} mcc_bsplines.h) add_library(fitpack STATIC IMPORTED GLOBAL) set_target_properties(fitpack PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/fitpack/libfitpack_project.a) set_target_properties(fitpack PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR}") add_dependencies(fitpack fitpack_project)