mirror of
https://github.com/reactos/CMake.git
synced 2024-12-02 00:26:18 +00:00
Merge topic 'msvc_cuda_8_explicitly_specify_cuda_language'
46abfedb
CUDA: MSVC will now state files are cuda files when needed
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1658
This commit is contained in:
commit
bffdc2e2e1
@ -2667,6 +2667,7 @@ bool cmVisualStudio10TargetGenerator::ComputeCudaOptions(
|
||||
cudaOptions.AddFlag("GPUDebugInfo", "false");
|
||||
}
|
||||
|
||||
bool notPtx = true;
|
||||
if (this->GeneratorTarget->GetPropertyAsBool("CUDA_SEPARABLE_COMPILATION")) {
|
||||
cudaOptions.AddFlag("GenerateRelocatableDeviceCode", "true");
|
||||
} else if (this->GeneratorTarget->GetPropertyAsBool(
|
||||
@ -2675,6 +2676,16 @@ bool cmVisualStudio10TargetGenerator::ComputeCudaOptions(
|
||||
// We drop the %(Extension) component as CMake expects all PTX files
|
||||
// to not have the source file extension at all
|
||||
cudaOptions.AddFlag("CompileOut", "$(IntDir)%(Filename).ptx");
|
||||
notPtx = false;
|
||||
}
|
||||
|
||||
if (notPtx &&
|
||||
cmSystemTools::VersionCompareGreaterEq(
|
||||
"8.0", this->GlobalGenerator->GetPlatformToolsetCudaString())) {
|
||||
// Explicitly state that we want this file to be treated as a
|
||||
// CUDA file no matter what the file extensions is
|
||||
// This is only needed for < CUDA 9
|
||||
cudaOptions.AppendFlagString("AdditionalOptions", "-x cu");
|
||||
}
|
||||
|
||||
// CUDA automatically passes the proper '--machine' flag to nvcc
|
||||
|
@ -21,14 +21,8 @@ set(release_compile_defs DEFREL)
|
||||
#this verifies we can pass things such as '_','(' to nvcc
|
||||
add_definitions("-DPACKED_DEFINE=__attribute__((packed))")
|
||||
|
||||
if(CMAKE_GENERATOR MATCHES "Visual Studio")
|
||||
# CUDA MSBuild rules do not pass '-x cu' to nvcc
|
||||
set(main main_for_vs.cu)
|
||||
else()
|
||||
set(main main.notcu)
|
||||
set_source_files_properties(main.notcu PROPERTIES LANGUAGE CUDA)
|
||||
endif()
|
||||
add_executable(CudaOnlyWithDefs ${main})
|
||||
add_executable(CudaOnlyWithDefs main.notcu)
|
||||
set_source_files_properties(main.notcu PROPERTIES LANGUAGE CUDA)
|
||||
|
||||
target_compile_options(CudaOnlyWithDefs
|
||||
PRIVATE
|
||||
|
@ -1 +0,0 @@
|
||||
#include "main.notcu"
|
Loading…
Reference in New Issue
Block a user