1# Copyright (c) 2020 - 2024 David Guibert
2# Copyright (c) 2024 Antoine Morvan
3# Copyright (c) 2024 Samuel Hatfield
4# Copyright (c) 2024 - 2025 Niclas Schroeter
5# Copyright (c) 2024 - 2025 Sam Hatfield
8# SPDX-License-Identifier: Apache-2.0
10set_property(GLOBAL PROPERTY fiat_can_use_system TRUE)
11set_property(GLOBAL PROPERTY fiat_depends mpi ecbuild)
13set(fiat_cmake_args "" CACHE STRING "Custom CMake arguments for fiat")
14set(fiat_build_args "" CACHE STRING "Custom Make arguments for fiat")
18 message(STATUS "fiat: enabled (system installed)")
19 find_package(Fiat REQUIRED)
21 message(STATUS "fiat: enabled (internally built)")
23 set(fiat_depends_ep ecbuild MPI::MPI_C MPI::MPI_Fortran)
25 ExternalProject_Data_Add(
28 DEPENDS ${fiat_depends_ep}
29 CMAKE_ARGS ${cmake_params}
30 # -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
31 -DCMAKE_INSTALL_PREFIX:FILEPATH=<INSTALL_DIR>
33 -DENABLE_FCKIT:BOOL=OFF
34 -DENABLE_TESTS:BOOL=OFF # drhook_ex? link with CXX instead of Fortran
37 BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} -j${BUILD_PARALLEL_LEVEL} ${default_build_args} ${fiat_build_args})
39 ExternalProject_Get_Property(fiat INSTALL_DIR)
40 set(fiat_DIR ${INSTALL_DIR})
42 set_if_not_present(ENV{PATH} "$ENV{PATH}" "${fiat_DIR}/bin")
43 set_if_not_present(ENV{LD_LIBRARY_PATH} "$ENV{LD_LIBRARY_PATH}"
46 ExternalProject_Get_Property(fiat BINARY_DIR)
47 set(fiat_BIN_DIR ${BINARY_DIR})
48 set_if_not_present(ENV{PATH} "$ENV{PATH}" "${fiat_BIN_DIR}/bin")