Spaces:
Runtime error
Runtime error
# Will be increased to 3.18 when C++17 is enabled: | |
cmake_minimum_required(VERSION 3.15) | |
# Remove this when we use the new CUDA_ARCHITECTURES properties. | |
if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.18) | |
cmake_policy(SET CMP0104 OLD) | |
endif() | |
# CXX is only needed for AppendOptionIfAvailable. | |
project(CUB CUDA CXX) | |
include(cmake/AppendOptionIfAvailable.cmake) | |
include(cmake/CubBuildCompilerTargets.cmake) | |
include(cmake/CubBuildTargetList.cmake) | |
include(cmake/CubCudaConfig.cmake) | |
include(cmake/CubInstallRules.cmake) | |
option(CUB_ENABLE_HEADER_TESTING "Test that all public headers compile." ON) | |
option(CUB_ENABLE_TESTING "Build CUB testing suite." ON) | |
option(CUB_ENABLE_EXAMPLES "Build CUB examples." ON) | |
# Check if we're actually building anything before continuing. If not, no need | |
# to search for deps, etc. This is a common approach for packagers that just | |
# need the install rules. See GH issue thrust/thrust#1211. | |
if (NOT (CUB_ENABLE_HEADER_TESTING OR | |
CUB_ENABLE_TESTING OR | |
CUB_ENABLE_EXAMPLES)) | |
return() | |
endif() | |
if ("" STREQUAL "${CMAKE_BUILD_TYPE}") | |
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build." FORCE) | |
set_property( | |
CACHE CMAKE_BUILD_TYPE | |
PROPERTY STRINGS Debug Release RelWithDebInfo MinSizeRel | |
) | |
endif () | |
set(CMAKE_CXX_EXTENSIONS OFF) | |
# Where to put build outputs. Use CMAKE_BINARY_DIR so they'll show up alongside | |
# Thrust targets when building as part of Thrust. | |
set(CUB_LIBRARY_OUTPUT_DIR "${CMAKE_BINARY_DIR}/lib") | |
set(CUB_EXECUTABLE_OUTPUT_DIR "${CMAKE_BINARY_DIR}/bin") | |
cub_build_target_list() | |
if (CUB_ENABLE_HEADER_TESTING) | |
include(cmake/CubHeaderTesting.cmake) | |
endif() | |
# Both testing and examples use ctest | |
if (CUB_ENABLE_TESTING OR CUB_ENABLE_EXAMPLES) | |
include(CTest) | |
enable_testing() | |
endif() | |
if (CUB_ENABLE_TESTING) | |
add_subdirectory(test) | |
endif() | |
if (CUB_ENABLE_EXAMPLES) | |
add_subdirectory(examples) | |
endif() | |