Skip to content

Commit 0941ebb

Browse files
committed
Add CMake rules for functional-fortran
1 parent 3a5cc19 commit 0941ebb

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

CMakeLists.txt

+8-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ include(FetchContent)
1717
include(cmake/options.cmake)
1818
include(cmake/compilers.cmake)
1919

20+
include(cmake/functional.cmake)
2021
include(cmake/h5fortran.cmake)
2122
include(cmake/json.cmake)
2223

@@ -62,7 +63,13 @@ add_library(neural
6263
src/nf/io/nf_io_hdf5.f90
6364
src/nf/io/nf_io_hdf5_submodule.f90
6465
)
65-
target_link_libraries(neural PRIVATE h5fortran::h5fortran HDF5::HDF5 jsonfortran::jsonfortran)
66+
67+
target_link_libraries(neural PRIVATE
68+
functional::functional
69+
h5fortran::h5fortran
70+
HDF5::HDF5
71+
jsonfortran::jsonfortran
72+
)
6673

6774
install(TARGETS neural)
6875

cmake/functional.cmake

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
FetchContent_Declare(functional
2+
GIT_REPOSITORY https://github.com/wavebitscientific/functional-fortran
3+
GIT_TAG 0.6.1
4+
GIT_SHALLOW true
5+
)
6+
7+
FetchContent_Populate(functional)
8+
9+
add_library(functional ${functional_SOURCE_DIR}/src/functional.f90)
10+
target_include_directories(functional PUBLIC
11+
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
12+
$<INSTALL_INTERFACE:include>
13+
)
14+
15+
add_library(functional::functional INTERFACE IMPORTED GLOBAL)
16+
target_link_libraries(functional::functional INTERFACE functional)
17+
18+
install(TARGETS functional)

0 commit comments

Comments
 (0)