diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f34f546..7e3bc998 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -600,10 +600,13 @@ if(CUDA_FOUND) if (UNIX) list( APPEND CUDA_NVCC_FLAGS -Xcompiler -fPIC ) + # Use OSD_CUDA_NVCC_FLAGS to specify --gpu-architecture or other CUDA + # compilation options. The overrides here are only for compatibility + # with older OpenSubdiv releases and obsolete CUDA versions. if (NOT DEFINED OSD_CUDA_NVCC_FLAGS) if (CUDA_VERSION_MAJOR LESS 6) set( OSD_CUDA_NVCC_FLAGS --gpu-architecture compute_11 ) - else() + elseif (CUDA_VERSION_MAJOR LESS 8) set( OSD_CUDA_NVCC_FLAGS --gpu-architecture compute_20 ) endif() endif() diff --git a/README.md b/README.md index fc38998f..e82e1f0a 100644 --- a/README.md +++ b/README.md @@ -135,6 +135,8 @@ SDKROOT=$(xcrun --sdk iphoneos --show-sdk-path) cmake -D NO_PTEX=1 -D NO_DOC=1 \ -DCMAKE_TOOLCHAIN_FILE=[toolchain file for crossplatform builds] -DCUDA_TOOLKIT_ROOT_DIR=[path to CUDA Toolkit] +-DOSD_CUDA_NVCC_FLAGS=[CUDA options, e.g. --gpu-architecture] + -DPTEX_LOCATION=[path to Ptex] -DGLFW_LOCATION=[path to GLFW] -DSTRINGIFY_LOCATION=[path to stringify utility] diff --git a/documentation/cmake_build.rst b/documentation/cmake_build.rst index d565713f..eadcd50f 100644 --- a/documentation/cmake_build.rst +++ b/documentation/cmake_build.rst @@ -105,6 +105,8 @@ The following configuration arguments can be passed to the CMake command line. -DCMAKE_LIBDIR_BASE=[library directory basename (default: lib)] -DCUDA_TOOLKIT_ROOT_DIR=[path to CUDA] + -DOSD_CUDA_NVCC_FLAGS=[CUDA options, e.g. --gpu-architecture] + -DPTEX_LOCATION=[path to Ptex] -DGLFW_LOCATION=[path to GLFW] -DTBB_LOCATION=[path to Intel's TBB]