From 2e98fc4ee1861d840d458be58846af78af76f6d7 Mon Sep 17 00:00:00 2001 From: Kevin Mittman <kmittman@nvidia.com> Date: Thu, 16 Sep 2021 14:51:44 -0700 Subject: [PATCH] Add two examples for CMake Signed-off-by: Kevin Mittman <kmittman@nvidia.com> --- cmake/1_FindCUDAToolkit/CMakeLists.txt | 4 ++++ cmake/1_FindCUDAToolkit/README.md | 20 ++++++++++++++++++++ cmake/2_ExternalProject/CMakeLists.txt | 4 ++++ cmake/2_ExternalProject/README.md | 10 ++++++++++ 4 files changed, 38 insertions(+) create mode 100644 cmake/1_FindCUDAToolkit/CMakeLists.txt create mode 100644 cmake/1_FindCUDAToolkit/README.md create mode 100644 cmake/2_ExternalProject/CMakeLists.txt create mode 100644 cmake/2_ExternalProject/README.md diff --git a/cmake/1_FindCUDAToolkit/CMakeLists.txt b/cmake/1_FindCUDAToolkit/CMakeLists.txt new file mode 100644 index 0000000..dbbc3b2 --- /dev/null +++ b/cmake/1_FindCUDAToolkit/CMakeLists.txt @@ -0,0 +1,4 @@ +cmake_minimum_required (VERSION 3.17) +project (HelloWorld) +set(CUDAToolkit_ROOT "${CMAKE_BINARY_DIR}/extracted/cuda") +find_package(CUDAToolkit) diff --git a/cmake/1_FindCUDAToolkit/README.md b/cmake/1_FindCUDAToolkit/README.md new file mode 100644 index 0000000..3da2977 --- /dev/null +++ b/cmake/1_FindCUDAToolkit/README.md @@ -0,0 +1,20 @@ +# CMake example 1: FindCUDAToolkit + +FindCUDAToolkit is the recommended module for importing CUDA components into the CMake build system (3.17 and newer). + +The path to the extraction location can be specified with `-DCUDAToolkit_ROOT=$PWD/extracted` or the `CUDAToolkit_ROOT` environmental variable + +> **NOTE:** The minimum required components for the FindCUDAToolkit module are `cuda_cudart` and `cuda_nvcc`. + +## Commands + +```shell +mkdir extracted +cd extracted +tar -xf cuda_nvcc-linux-x86_64-*-archive.tar.xz +tar -xf cuda_nvcc-linux-x86_64-*-archive.tar.xz +mkdir cuda +rsync -av *-archive/ cuda/ +cd .. +cmake . +``` diff --git a/cmake/2_ExternalProject/CMakeLists.txt b/cmake/2_ExternalProject/CMakeLists.txt new file mode 100644 index 0000000..e32e236 --- /dev/null +++ b/cmake/2_ExternalProject/CMakeLists.txt @@ -0,0 +1,4 @@ +cmake_minimum_required (VERSION 3.17) +project (CUDA) +set(CUDAToolkit_ROOT "${CMAKE_BINARY_DIR}/extracted/cuda") +find_package(CUDAToolkit) diff --git a/cmake/2_ExternalProject/README.md b/cmake/2_ExternalProject/README.md new file mode 100644 index 0000000..effd87c --- /dev/null +++ b/cmake/2_ExternalProject/README.md @@ -0,0 +1,10 @@ +# CMake example 2: ExternalProject + +The ExternalProject_Add module downloads archives from a URL + +## Commands + +```shell +cmake . +make +``` -- GitLab