Files
mcc/fitpack/CMakeLists.txt
2026-02-18 10:49:27 +03:00

54 lines
1.5 KiB
CMake

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(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
# 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_project STATIC EXCLUDE_FROM_ALL ${src_files})
add_library(fitpack_project STATIC ${src_files})
get_target_property(FP_LIBDIR fitpack_project LIBRARY_OUTPUT_DIRECTORY)
message(STATUS "FP_LIBDIR: ${FP_LIBDIR}")
add_library(fitpack STATIC IMPORTED GLOBAL)
set_target_properties(
fitpack
PROPERTIES IMPORTED_LOCATION ${FP_LIBDIR}/libfitpack_project.a
# IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/fitpack/libfitpack_project.a
)
set_target_properties(
fitpack
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}"
# "${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_BINARY_DIR}"
)
add_dependencies(fitpack fitpack_project)