Adding BCL CMake

This commit is contained in:
Noah L. Schrick 2022-04-26 18:10:18 -05:00
parent 121a3df7b0
commit 1eb6d9220b
4 changed files with 129 additions and 0 deletions

View File

@ -0,0 +1,26 @@
## SPDX-FileCopyrightText: 2021 Benjamin Brock
##
## SPDX-License-Identifier: BSD-3-Clause
if (TARGET GASNET_EX::GASNET_EX OR GASNET_EX_FOUND)
return()
endif()
find_path(GASNET_EX_INCLUDE_DIRS NAMES gasnetex.h)
#find_library(GASNET_EX_LIBRARIES NAMES gasnetex)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GASNET_EX
DEFAULT_MSG
GASNET_EX_INCLUDE_DIRS
#GASNET_EX_LIBRARIES
)
mark_as_advanced(GASNET_EX_INCLUDE_DIRS GASNET_EX_LIBRARIES)
add_library(GASNET_EX::GASNET_EX UNKNOWN IMPORTED)
set_target_properties(GASNET_EX::GASNET_EX PROPERTIES
#IMPORTED_LOCATION "${GASNET_EX_LIBRARIES}"
INTERFACE_INCLUDE_DIRECTORIES "${GASNET_EX_INCLUDE_DIRS}"
)

View File

@ -0,0 +1,27 @@
## SPDX-FileCopyrightText: 2021 Benjamin Brock
##
## SPDX-License-Identifier: BSD-3-Clause
if (TARGET SHMEM::SHMEM OR SHMEM_FOUND)
return()
endif()
find_path(SHMEM_INCLUDE_DIRS NAMES shmem.h PATHS mpp)
#find_library(SHMEM_LIBRARIES NAMES gasnetex)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SHMEM
DEFAULT_MSG
GASNETEX_INCLUDE_DIRS
#GASNETEX_LIBRARIES
)
mark_as_advanced(SHMEM_INCLUDE_DIRS SHMEM_LIBRARIES)
add_library(SHMEM::SHMEM UNKNOWN IMPORTED)
set_target_properties(SHMEM::SHMEM PROPERTIES
#IMPORTED_LOCATION "${SHMEM_LIBRARIES}"
INTERFACE_INCLUDE_DIRECTORIES "${SHMEM_INCLUDE_DIRS}/.."
)

View File

@ -0,0 +1,26 @@
## SPDX-FileCopyrightText: 2021 Benjamin Brock
##
## SPDX-License-Identifier: BSD-3-Clause
if (TARGET UPCXX::UPCXX OR UPCXX_FOUND)
return()
endif()
find_path(UPCXX_INCLUDE_DIRS NAMES upcxx.h)
#find_library(UPCXX_LIBRARIES NAMES gasnetex)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(UPCXX
DEFAULT_MSG
UPCXX_INCLUDE_DIRS
#UPCXX_LIBRARIES
)
mark_as_advanced(UPCXX_INCLUDE_DIRS UPCXX_LIBRARIES)
add_library(UPCXX::UPCXX UNKNOWN IMPORTED)
set_target_properties(UPCXX::UPCXX PROPERTIES
#IMPORTED_LOCATION "${UPCXX_LIBRARIES}"
INTERFACE_INCLUDE_DIRECTORIES "${UPCXX_INCLUDE_DIRS}"
)

View File

@ -0,0 +1,50 @@
## 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)