54 lines
1.5 KiB
CMake
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})
|
|
|
|
# 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 ${CMAKE_CURRENT_BINARY_DIR}/libfitpack_project.a
|
|
# 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)
|