Skip to content

Commit e1151df

Browse files
committed
cmake: Update CUDA C++11 build flags
nvcc can't use only -Xcompiler -std=c++11, it needs -std=c++11 in the whole pipeline. The real fix is in CMake 3.3. Kitware/CMake@99abebd Fix #818.
1 parent 1f18c24 commit e1151df

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

CMakeLists.txt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -344,21 +344,24 @@ IF(ENABLE_CUDA)
344344
SET(LIBFREENECT2_WITH_CUDA_SUPPORT 1)
345345
SET(HAVE_CUDA yes)
346346

347-
STRING(REPLACE "\\" "/" NVCUDASAMPLES_ROOT "$ENV{NVCUDASAMPLES_ROOT};$ENV{NVCUDASAMPLES8_0_ROOT}")
347+
STRING(REPLACE "\\" "/" NVCUDASAMPLES_ROOT "$ENV{NVCUDASAMPLES_ROOT}")
348+
STRING(REPLACE "\\" "/" NVCUDASAMPLES8_0_ROOT "$ENV{NVCUDASAMPLES8_0_ROOT}")
348349
CUDA_INCLUDE_DIRECTORIES(
349350
"${MY_DIR}/include/"
350351
"${CUDA_TOOLKIT_ROOT_DIR}/samples/common/inc"
351352
"${NVCUDASAMPLES_ROOT}/common/inc"
353+
"${NVCUDASAMPLES8_0_ROOT}/common/inc"
352354
)
353355
SET(CUDA_FLAGS -use_fast_math)
354356
IF(NOT MSVC)
355357
SET(CUDA_FLAGS "${CUDA_FLAGS} -Xcompiler -fPIC")
356358
ENDIF()
359+
IF(HAVE_CXX11 EQUAL yes AND CUDA_VERSION VERSION_GREATER 7.0)
360+
SET(CUDA_FLAGS "${CUDA_FLAGS} -std=c++11")
361+
ENDIF()
357362

358363
SET(OLD_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
359-
IF(CUDA_VERSION VERSION_LESS 7.0)
360-
STRING(REGEX REPLACE "-std=c\\+\\+.." "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
361-
ENDIF()
364+
STRING(REGEX REPLACE "-std=c\\+\\+.." "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
362365
CUDA_COMPILE(CUDA_OBJECTS
363366
src/cuda_depth_packet_processor.cu
364367
src/cuda_kde_depth_packet_processor.cu

0 commit comments

Comments
 (0)