aboutsummaryrefslogtreecommitdiff
path: root/PxShared/src/compiler/cmake/common/PxCudaContextManager.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'PxShared/src/compiler/cmake/common/PxCudaContextManager.cmake')
-rw-r--r--PxShared/src/compiler/cmake/common/PxCudaContextManager.cmake77
1 files changed, 77 insertions, 0 deletions
diff --git a/PxShared/src/compiler/cmake/common/PxCudaContextManager.cmake b/PxShared/src/compiler/cmake/common/PxCudaContextManager.cmake
new file mode 100644
index 0000000..ab76997
--- /dev/null
+++ b/PxShared/src/compiler/cmake/common/PxCudaContextManager.cmake
@@ -0,0 +1,77 @@
+#
+# Build PxCudaContextManager common
+#
+
+
+# CUDA!
+SET(CUDA_NVCC_FLAGS "-lineinfo -use_fast_math -ftz=true -prec-div=false -prec-sqrt=false -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_50,code=compute_50 -D_CONSOLE -D_WIN32_WINNT=0x0501")
+
+CUDA_INCLUDE_DIRECTORIES(
+ ${PXSHARED_SOURCE_DIR}/../include
+ ${PXSHARED_SOURCE_DIR}/foundation/include
+ ${PXSHARED_SOURCE_DIR}/cudamanager/include
+)
+
+SET(CUDA_PROPAGATE_HOST_FLAGS OFF)
+
+# Compile the CuKernelSolver - it has different options than the other CUDA files
+SET(CUDA_NVCC_FLAGS_DEBUG "-D_DEBUG -D_CONSOLE -D_WIN32_WINNT=0x0501 ${CUDA_COMPILER_OPTION_DEBUG}")
+SET(CUDA_NVCC_FLAGS_CHECKED "-DNDEBUG -D_CONSOLE -D_WIN32_WINNT=0x0501 ${CUDA_COMPILER_OPTION_CHECKED}")
+SET(CUDA_NVCC_FLAGS_PROFILE "-DNDEBUG -D_CONSOLE -D_WIN32_WINNT=0x0501 ${CUDA_COMPILER_OPTION_PROFILE}")
+SET(CUDA_NVCC_FLAGS_RELEASE "-DNDEBUG -D_CONSOLE -D_WIN32_WINNT=0x0501 ${CUDA_COMPILER_OPTION_RELEASE}")
+
+SET(CUDACONTEXTMANAGER_HEADERS
+ ${PXSHARED_SOURCE_DIR}/../include/cudamanager/PxCudaContextManager.h
+ ${PXSHARED_SOURCE_DIR}/../include/cudamanager/PxCudaMemoryManager.h
+ ${PXSHARED_SOURCE_DIR}/../include/cudamanager/PxGpuCopyDesc.h
+ ${PXSHARED_SOURCE_DIR}/../include/cudamanager/PxGpuCopyDescQueue.h
+)
+SOURCE_GROUP(include FILES ${CUDACONTEXTMANAGER_HEADERS})
+
+SET(CUDACONTEXTMANAGER_KERNELS
+ ${LL_SOURCE_DIR}/src/CUDA/UtilKernels.cu
+)
+SOURCE_GROUP("src kernels" FILES ${CUDACONTEXTMANAGER_KERNELS})
+
+SET(CUDACONTEXTMANAGER_SOURCE
+ ${LL_SOURCE_DIR}/src/CudaContextManager.cpp
+ ${LL_SOURCE_DIR}/src/CudaKernelWrangler.cpp
+ ${LL_SOURCE_DIR}/src/CudaMemoryManager.cpp
+ ${LL_SOURCE_DIR}/src/HeapManagerRef.cpp
+ ${LL_SOURCE_DIR}/src/GpuDispatcher.cpp
+ ${LL_SOURCE_DIR}/src/BlockingWait.cpp
+ ${LL_SOURCE_DIR}/src/PhysXDeviceSettings.cpp
+)
+SOURCE_GROUP(src\\src FILES ${CUDACONTEXTMANAGER_SOURCE})
+
+SET(CUDACONTEXTMANAGER_SOURCE_HEADERS
+ ${LL_SOURCE_DIR}/include/CudaContextManager.h
+ ${LL_SOURCE_DIR}/include/CudaKernelWrangler.h
+ ${LL_SOURCE_DIR}/include/GpuDispatcher.h
+ ${LL_SOURCE_DIR}/include/PhysXDeviceSettings.h
+)
+SOURCE_GROUP(src\\src FILES ${CUDACONTEXTMANAGER_SOURCE_HEADERS})
+
+CUDA_ADD_LIBRARY(PxCudaContextManager STATIC
+ ${CUDACONTEXTMANAGER_HEADERS}
+ ${CUDACONTEXTMANAGER_SOURCE}
+ ${CUDACONTEXTMANAGER_SOURCE_HEADERS}
+
+ ${CUDACONTEXTMANAGER_KERNELS}
+)
+
+# Target specific compile options
+
+
+TARGET_INCLUDE_DIRECTORIES(PxCudaContextManager
+ PRIVATE ${PXSHARED_SOURCE_DIR}/../include
+ PRIVATE ${PXSHARED_SOURCE_DIR}/foundation/include
+ PRIVATE ${PXSHARED_SOURCE_DIR}/task/include
+ PRIVATE ${PXSHARED_SOURCE_DIR}/cudamanager/include
+ PRIVATE ${LL_SOURCE_DIR}/include
+ PRIVATE ${CUDA_INCLUDE_DIRS}
+
+)
+
+
+