You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
cmake_minimum_required(VERSION 3.18)
|
|
|
|
project (ObjectLibrary CUDA CXX)
|
|
|
|
#Goal for this example:
|
|
|
|
#
|
|
|
|
#Build C++ and CUDA object files and than use them to make an executable
|
|
|
|
#Make sure that CMake logic to handle object output when multiple files
|
|
|
|
#with the same name works
|
|
|
|
add_subdirectory(Conflicts)
|
|
|
|
|
|
|
|
add_library(CudaMixedObjectLib OBJECT static.cu static.cpp)
|
|
|
|
|
|
|
|
add_executable(CudaObjectLibrary
|
|
|
|
main.cpp
|
|
|
|
$<TARGET_OBJECTS:CudaMixedObjectLib>
|
|
|
|
$<TARGET_OBJECTS:CudaConflicts>)
|
|
|
|
|
|
|
|
if(APPLE)
|
|
|
|
# Help the static cuda runtime find the driver (libcuda.dyllib) at runtime.
|
|
|
|
set_property(TARGET CudaObjectLibrary PROPERTY BUILD_RPATH ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES})
|
|
|
|
endif()
|