forked from UTulsa-Research/ag_gen
51 lines
1.6 KiB
CMake
51 lines
1.6 KiB
CMake
## SPDX-FileCopyrightText: 2021 Benjamin Brock
|
|
##
|
|
## SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
cmake_minimum_required(VERSION 3.10)
|
|
|
|
# Guard against multiple 'find_package(bcl)' calls
|
|
if (TARGET bcl OR bcl_FOUND)
|
|
return()
|
|
endif()
|
|
|
|
set(bcl_LOC ${CMAKE_CURRENT_LIST_DIR}/..)
|
|
list(APPEND CMAKE_MODULE_PATH ${bcl_LOC}/cmake)
|
|
|
|
## Base target ##
|
|
|
|
add_library(bcl::core INTERFACE IMPORTED)
|
|
#target_include_directories(bcl::core INTERFACE ${bcl_LOC})
|
|
SET_PROPERTY(TARGET bcl::core APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${bcl_LOC})
|
|
## MPI ##
|
|
|
|
find_package(MPI QUIET)
|
|
if (TARGET MPI::MPI_CXX)
|
|
add_library(bcl::mpi INTERFACE IMPORTED)
|
|
#target_link_libraries(bcl::mpi INTERFACE bcl::core MPI::MPI_CXX)
|
|
#target_compile_definitions(bcl::mpi INTERFACE BCL_MPI)
|
|
SET_PROPERTY(TARGET bcl::mpi APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS BCL_MPI)
|
|
endif()
|
|
|
|
## SHMEM ##
|
|
|
|
find_package(SHMEM QUIET MODULE)
|
|
if (TARGET SHMEM::SHMEM)
|
|
add_library(bcl::shmem INTERFACE IMPORTED)
|
|
#target_link_libraries(bcl::shmem INTERFACE bcl::core SHMEM::SHMEM)
|
|
#target_compile_definitions(bcl::shmem INTERFACE SHMEM)
|
|
SET_PROPERTY(TARGET bcl::shmem APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS SHMEM)
|
|
endif()
|
|
|
|
## GASNET_EX ##
|
|
|
|
find_package(GASNET_EX QUIET MODULE)
|
|
if (TARGET GASNET_EX::GASNET_EX)
|
|
add_library(bcl::gasnet_ex INTERFACE IMPORTED)
|
|
#target_link_libraries(bcl::gasnet_ex INTERFACE bcl::core GASNET_EX::GASNET_EX)
|
|
#target_compile_definitions(bcl::gasnet_ex INTERFACE GASNET_EX)
|
|
SET_PROPERTY(TARGET bcl::gasnet_ex APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS GASNET_EX)
|
|
endif()
|
|
|
|
set(bcl_FOUND ON)
|