summaryrefslogtreecommitdiffstats
path: root/Tests/Cuda/ProperLinkFlags/CMakeLists.txt
blob: d38da6d14a3b47f39f79a9975ebbe65ad25d8550 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

cmake_minimum_required(VERSION 3.7)
project (ProperLinkFlags CUDA CXX)

#Goal for this example:
#Verify that when we have CXX and CUDA enabled and we link an executable that
#has CUDA and CXX we use the CUDA link flags when doing the device link
#step

#Specify a set of valid CUDA flags and an invalid set of CXX flags ( for CUDA )
#to make sure we don't use the CXX flags when linking CUDA executables
if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA")
  string(APPEND CMAKE_CUDA_FLAGS "--use_fast_math")
elseif(CMAKE_CUDA_COMPILER_ID STREQUAL "Clang")
  string(APPEND CMAKE_CUDA_FLAGS "-ffast-math")
endif()

set(CMAKE_CXX_FLAGS "-Wall")

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CUDA_STANDARD 11)
set(CMAKE_CUDA_ARCHITECTURES 35)
add_executable(ProperLinkFlags file1.cu main.cxx)

set_target_properties( ProperLinkFlags
                       PROPERTIES CUDA_SEPARABLE_COMPILATION ON)