mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 21:31:08 -06:00
CUDA: Support CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS global variable
This commit is contained in:
@@ -353,6 +353,7 @@ Variables that Control the Build
|
|||||||
/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG
|
/variable/CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_CONFIG
|
||||||
/variable/CMAKE_CONFIG_POSTFIX
|
/variable/CMAKE_CONFIG_POSTFIX
|
||||||
/variable/CMAKE_CUDA_SEPARABLE_COMPILATION
|
/variable/CMAKE_CUDA_SEPARABLE_COMPILATION
|
||||||
|
/variable/CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS
|
||||||
/variable/CMAKE_DEBUG_POSTFIX
|
/variable/CMAKE_DEBUG_POSTFIX
|
||||||
/variable/CMAKE_ENABLE_EXPORTS
|
/variable/CMAKE_ENABLE_EXPORTS
|
||||||
/variable/CMAKE_EXE_LINKER_FLAGS
|
/variable/CMAKE_EXE_LINKER_FLAGS
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
cuda-CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
* Variable :variable:`CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS` has been
|
||||||
|
introduced to optionally initialize the
|
||||||
|
:prop_tgt:`CUDA_RESOLVE_DEVICE_SYMBOLS` target property.
|
||||||
6
Help/variable/CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS.rst
Normal file
6
Help/variable/CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS.rst
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
Default value for :prop_tgt:`CUDA_RESOLVE_DEVICE_SYMBOLS` target
|
||||||
|
property. This variable is used to initialize the property on each target as
|
||||||
|
it is created.
|
||||||
@@ -342,6 +342,7 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
|
|||||||
initProp("CUDA_EXTENSIONS");
|
initProp("CUDA_EXTENSIONS");
|
||||||
initProp("CUDA_COMPILER_LAUNCHER");
|
initProp("CUDA_COMPILER_LAUNCHER");
|
||||||
initProp("CUDA_SEPARABLE_COMPILATION");
|
initProp("CUDA_SEPARABLE_COMPILATION");
|
||||||
|
initProp("CUDA_RESOLVE_DEVICE_SYMBOLS");
|
||||||
initProp("LINK_SEARCH_START_STATIC");
|
initProp("LINK_SEARCH_START_STATIC");
|
||||||
initProp("LINK_SEARCH_END_STATIC");
|
initProp("LINK_SEARCH_END_STATIC");
|
||||||
initProp("FOLDER");
|
initProp("FOLDER");
|
||||||
|
|||||||
@@ -27,12 +27,12 @@ endif()
|
|||||||
string(APPEND CMAKE_CUDA_FLAGS " -gencode arch=compute_30,code=[compute_30] -gencode arch=compute_50,code=\\\"compute_50\\\"")
|
string(APPEND CMAKE_CUDA_FLAGS " -gencode arch=compute_30,code=[compute_30] -gencode arch=compute_50,code=\\\"compute_50\\\"")
|
||||||
set(CMAKE_CXX_STANDARD 11)
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
set(CMAKE_CUDA_STANDARD 11)
|
set(CMAKE_CUDA_STANDARD 11)
|
||||||
|
set(CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS OFF)
|
||||||
|
|
||||||
add_library(CUDANoDeviceResolve SHARED file1.cu)
|
add_library(CUDANoDeviceResolve SHARED file1.cu)
|
||||||
set_target_properties(CUDANoDeviceResolve
|
set_target_properties(CUDANoDeviceResolve
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
CUDA_SEPARABLE_COMPILATION ON
|
CUDA_SEPARABLE_COMPILATION ON
|
||||||
CUDA_RESOLVE_DEVICE_SYMBOLS OFF
|
|
||||||
POSITION_INDEPENDENT_CODE ON)
|
POSITION_INDEPENDENT_CODE ON)
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
target_link_options(CUDANoDeviceResolve PRIVATE "/FORCE:UNRESOLVED")
|
target_link_options(CUDANoDeviceResolve PRIVATE "/FORCE:UNRESOLVED")
|
||||||
|
|||||||
Reference in New Issue
Block a user