aboutsummaryrefslogtreecommitdiff
path: root/PxShared/src/compiler/cmake/common
diff options
context:
space:
mode:
authormtamis <[email protected]>2017-02-15 16:06:25 +0100
committermtamis <[email protected]>2017-02-15 16:06:25 +0100
commit85305930aeeb1d513e23522bd91f29ba81aa6d14 (patch)
tree45f1bb20a45a300d1fef107e436cac95602a0e57 /PxShared/src/compiler/cmake/common
downloadnvcloth-85305930aeeb1d513e23522bd91f29ba81aa6d14.tar.xz
nvcloth-85305930aeeb1d513e23522bd91f29ba81aa6d14.zip
NvCloth library v1.0.0
Diffstat (limited to 'PxShared/src/compiler/cmake/common')
-rw-r--r--PxShared/src/compiler/cmake/common/CMakeLists.txt84
-rw-r--r--PxShared/src/compiler/cmake/common/PsFastXml.cmake37
-rw-r--r--PxShared/src/compiler/cmake/common/PxCudaContextManager.cmake77
-rw-r--r--PxShared/src/compiler/cmake/common/PxFoundation.cmake118
-rw-r--r--PxShared/src/compiler/cmake/common/PxPvdSDK.cmake123
-rw-r--r--PxShared/src/compiler/cmake/common/PxTask.cmake44
6 files changed, 483 insertions, 0 deletions
diff --git a/PxShared/src/compiler/cmake/common/CMakeLists.txt b/PxShared/src/compiler/cmake/common/CMakeLists.txt
new file mode 100644
index 0000000..22d2097
--- /dev/null
+++ b/PxShared/src/compiler/cmake/common/CMakeLists.txt
@@ -0,0 +1,84 @@
+cmake_minimum_required(VERSION 3.3)
+
+PROJECT(PxShared CXX)
+
+CMAKE_POLICY(SET CMP0057 NEW) # Enable IN_LIST
+
+IF(DEFINED ENV{GW_DEPS_ROOT})
+ SET(GW_DEPS_ROOT $ENV{GW_DEPS_ROOT})
+
+ SET(CMAKE_MODULE_PATH $ENV{GW_DEPS_ROOT}/sw/physx/tools/CMakeModules)
+
+ IF(EXISTS $ENV{GW_DEPS_ROOT}/Externals/CMakeModules)
+ SET(CMAKE_MODULE_PATH $ENV{GW_DEPS_ROOT}/Externals/CMakeModules)
+ ENDIF()
+ENDIF()
+
+# Add find modules to the path
+IF(NOT EXISTS ${CMAKE_MODULE_PATH})
+ MESSAGE(FATAL_ERROR "Could not find CMakeModules at ${CMAKE_MODULE_PATH}")
+ENDIF()
+
+MESSAGE("PxShared Build Platform: " ${TARGET_BUILD_PLATFORM})
+MESSAGE("Using CXX Compiler: " ${CMAKE_CXX_COMPILER})
+
+# TODO: Fail if we didn't find deps
+
+# Tell MSVC to stop doing MBCS
+#ADD_DEFINITIONS(-D_UNICODE -DUNICODE)
+
+IF(CMAKE_CONFIGURATION_TYPES)
+ SET(CMAKE_CONFIGURATION_TYPES debug checked profile release)
+ SET(CMAKE_CONFIGURATION_TYPES "${CMAKE_CONFIGURATION_TYPES}" CACHE STRING
+ "Reset config to what we need"
+ FORCE)
+
+ SET(CMAKE_SHARED_LINKER_FLAGS_CHECKED "")
+ SET(CMAKE_SHARED_LINKER_FLAGS_PROFILE "")
+
+ # Build PDBs for all configurations
+ SET(CMAKE_SHARED_LINKER_FLAGS "/DEBUG")
+
+ENDIF()
+
+# Default to appending "DEBUG", "PROFILE", etc to produced artifacts
+IF(NOT DEFINED APPEND_CONFIG_NAME)
+ SET(APPEND_CONFIG_NAME ON)
+ENDIF()
+
+IF (APPEND_CONFIG_NAME)
+ MESSAGE("Appending config to output names")
+
+ SET(CMAKE_DEBUG_POSTFIX "DEBUG")
+ SET(CMAKE_PROFILE_POSTFIX "PROFILE")
+ SET(CMAKE_CHECKED_POSTFIX "CHECKED")
+ SET(CMAKE_RELEASE_POSTFIX "")
+ENDIF()
+
+SET(PROJECT_ROOT_DIR ${PROJECT_SOURCE_DIR}/../../../../)
+
+INCLUDE(SetOutputPaths)
+
+IF(DEFINED PX_OUTPUT_EXE_DIR)
+ SetExeOutputPath(${PX_OUTPUT_EXE_DIR})
+ENDIF()
+IF(DEFINED PX_OUTPUT_DLL_DIR)
+ SetDllOutputPath(${PX_OUTPUT_DLL_DIR})
+ENDIF()
+IF(DEFINED PX_OUTPUT_LIB_DIR)
+ SetLibOutputPath(${PX_OUTPUT_LIB_DIR})
+ENDIF()
+# All EXE/DLL/LIB output will be overwritten if PX_OUTPUT_ALL_DIR is defined
+IF(DEFINED PX_OUTPUT_ALL_DIR)
+ SetSingleOutputPath(${PX_OUTPUT_ALL_DIR})
+ENDIF()
+
+# Prevent failure due to command line limitations
+IF(USE_RESPONSE_FILES)
+ SET(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1)
+ SET(CMAKE_C_USE_RESPONSE_FILE_FOR_INCLUDES 1)
+ SET(CMAKE_C_USE_RESPONSE_FILE_FOR_LIBRARIES 1)
+ SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1)
+ SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES 1)
+ SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_LIBRARIES 1)
+ENDIF()
diff --git a/PxShared/src/compiler/cmake/common/PsFastXml.cmake b/PxShared/src/compiler/cmake/common/PsFastXml.cmake
new file mode 100644
index 0000000..06c1282
--- /dev/null
+++ b/PxShared/src/compiler/cmake/common/PsFastXml.cmake
@@ -0,0 +1,37 @@
+#
+# Build PsFastXml common
+#
+
+SET(PSFASTXML_HEADERS
+ ${LL_SOURCE_DIR}/include/PsFastXml.h
+)
+SOURCE_GROUP(include FILES ${PSFASTXML_HEADERS})
+
+SET(PSFASTXML_SOURCE
+ ${LL_SOURCE_DIR}/src/PsFastXml.cpp
+)
+SOURCE_GROUP(src FILES ${PSFASTXML_SOURCE})
+
+ADD_LIBRARY(PsFastXml STATIC
+ ${PSFASTXML_HEADERS}
+ ${PSFASTXML_SOURCE}
+)
+
+TARGET_INCLUDE_DIRECTORIES(PsFastXml
+ PRIVATE ${PXSHARED_SOURCE_DIR}/../include
+ PRIVATE ${PXSHARED_SOURCE_DIR}/foundation/include
+ PRIVATE ${LL_SOURCE_DIR}/include
+
+ PRIVATE ${PLATFORM_INCLUDES}
+)
+
+TARGET_COMPILE_DEFINITIONS(PsFastXml
+ PRIVATE ${PSFASTXML_COMPILE_DEFS}
+)
+
+SET_TARGET_PROPERTIES(PsFastXml PROPERTIES
+ COMPILE_PDB_NAME_DEBUG "PsFastXml${CMAKE_DEBUG_POSTFIX}"
+ COMPILE_PDB_NAME_CHECKED "PsFastXml${CMAKE_CHECKED_POSTFIX}"
+ COMPILE_PDB_NAME_PROFILE "PsFastXml${CMAKE_PROFILE_POSTFIX}"
+ COMPILE_PDB_NAME_RELEASE "PsFastXml${CMAKE_RELEASE_POSTFIX}"
+) \ No newline at end of file
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}
+
+)
+
+
+
diff --git a/PxShared/src/compiler/cmake/common/PxFoundation.cmake b/PxShared/src/compiler/cmake/common/PxFoundation.cmake
new file mode 100644
index 0000000..99905e2
--- /dev/null
+++ b/PxShared/src/compiler/cmake/common/PxFoundation.cmake
@@ -0,0 +1,118 @@
+#
+# Build PxFoundation common
+#
+
+SET(PXFOUNDATION_HEADERS
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/Px.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxAllocatorCallback.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxAssert.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxBitAndData.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxBounds3.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxErrorCallback.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxErrors.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxFlags.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxFoundation.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxFoundationVersion.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxIntrinsics.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxIO.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxMat33.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxMat44.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxMath.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxMathUtils.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxMemory.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxPlane.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxPreprocessor.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxProfiler.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxQuat.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxSimpleTypes.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxStrideIterator.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxTransform.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxUnionCast.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxVec2.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxVec3.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxVec4.h
+)
+SOURCE_GROUP(include FILES ${PXFOUNDATION_HEADERS})
+
+SET(PXFOUNDATION_SOURCE
+ ${LL_SOURCE_DIR}/src/PsAllocator.cpp
+ ${LL_SOURCE_DIR}/src/PsAssert.cpp
+ ${LL_SOURCE_DIR}/src/PsFoundation.cpp
+ ${LL_SOURCE_DIR}/src/PsMathUtils.cpp
+ ${LL_SOURCE_DIR}/src/PsString.cpp
+ ${LL_SOURCE_DIR}/src/PsTempAllocator.cpp
+ ${LL_SOURCE_DIR}/src/PsUtilities.cpp
+)
+SOURCE_GROUP(src\\src FILES ${PXFOUNDATION_SOURCE})
+
+SET(PXFOUNDATION_SOURCE_HEADERS
+ ${LL_SOURCE_DIR}/include/Ps.h
+ ${LL_SOURCE_DIR}/include/PsAlignedMalloc.h
+ ${LL_SOURCE_DIR}/include/PsAlloca.h
+ ${LL_SOURCE_DIR}/include/PsAllocator.h
+ ${LL_SOURCE_DIR}/include/PsAoS.h
+ ${LL_SOURCE_DIR}/include/PsArray.h
+ ${LL_SOURCE_DIR}/include/PsAtomic.h
+ ${LL_SOURCE_DIR}/include/PsBasicTemplates.h
+ ${LL_SOURCE_DIR}/include/PsBitUtils.h
+ ${LL_SOURCE_DIR}/include/PsBroadcast.h
+ ${LL_SOURCE_DIR}/include/PsCpu.h
+ ${LL_SOURCE_DIR}/include/PsFoundation.h
+ ${LL_SOURCE_DIR}/include/PsFPU.h
+ ${LL_SOURCE_DIR}/include/PsHash.h
+ ${LL_SOURCE_DIR}/include/PsHashInternals.h
+ ${LL_SOURCE_DIR}/include/PsHashMap.h
+ ${LL_SOURCE_DIR}/include/PsHashSet.h
+ ${LL_SOURCE_DIR}/include/PsInlineAllocator.h
+ ${LL_SOURCE_DIR}/include/PsInlineAoS.h
+ ${LL_SOURCE_DIR}/include/PsInlineArray.h
+ ${LL_SOURCE_DIR}/include/PsIntrinsics.h
+ ${LL_SOURCE_DIR}/include/PsMathUtils.h
+ ${LL_SOURCE_DIR}/include/PsMutex.h
+ ${LL_SOURCE_DIR}/include/PsPool.h
+ ${LL_SOURCE_DIR}/include/PsSList.h
+ ${LL_SOURCE_DIR}/include/PsSocket.h
+ ${LL_SOURCE_DIR}/include/PsSort.h
+ ${LL_SOURCE_DIR}/include/PsSortInternals.h
+ ${LL_SOURCE_DIR}/include/PsString.h
+ ${LL_SOURCE_DIR}/include/PsSync.h
+ ${LL_SOURCE_DIR}/include/PsTempAllocator.h
+ ${LL_SOURCE_DIR}/include/PsThread.h
+ ${LL_SOURCE_DIR}/include/PsTime.h
+ ${LL_SOURCE_DIR}/include/PsUserAllocated.h
+ ${LL_SOURCE_DIR}/include/PsUtilities.h
+ ${LL_SOURCE_DIR}/include/PsVecMath.h
+ ${LL_SOURCE_DIR}/include/PsVecMathAoSScalar.h
+ ${LL_SOURCE_DIR}/include/PsVecMathAoSScalarInline.h
+ ${LL_SOURCE_DIR}/include/PsVecMathSSE.h
+ ${LL_SOURCE_DIR}/include/PsVecMathUtilities.h
+ ${LL_SOURCE_DIR}/include/PsVecQuat.h
+ ${LL_SOURCE_DIR}/include/PsVecTransform.h
+)
+SOURCE_GROUP(src\\include FILES ${PXFOUNDATION_SOURCE_HEADERS})
+
+ADD_LIBRARY(PxFoundation ${PXFOUNDATION_LIBTYPE}
+ ${PXFOUNDATION_SOURCE}
+ ${PXFOUNDATION_SOURCE_HEADERS}
+ ${PXFOUNDATION_HEADERS}
+
+ ${PXFOUNDATION_PLATFORM_FILES}
+)
+
+TARGET_INCLUDE_DIRECTORIES(PxFoundation
+ PRIVATE ${PXSHARED_SOURCE_DIR}/../include
+ PRIVATE ${LL_SOURCE_DIR}/include
+
+ PRIVATE ${PXFOUNDATION_PLATFORM_INCLUDES}
+)
+
+TARGET_COMPILE_DEFINITIONS(PxFoundation
+ PRIVATE ${PXFOUNDATION_COMPILE_DEFS}
+)
+
+SET_TARGET_PROPERTIES(PxFoundation PROPERTIES
+ COMPILE_PDB_NAME_DEBUG "PxFoundation${CMAKE_DEBUG_POSTFIX}"
+ COMPILE_PDB_NAME_CHECKED "PxFoundation${CMAKE_CHECKED_POSTFIX}"
+ COMPILE_PDB_NAME_PROFILE "PxFoundation${CMAKE_PROFILE_POSTFIX}"
+ COMPILE_PDB_NAME_RELEASE "PxFoundation${CMAKE_RELEASE_POSTFIX}"
+) \ No newline at end of file
diff --git a/PxShared/src/compiler/cmake/common/PxPvdSDK.cmake b/PxShared/src/compiler/cmake/common/PxPvdSDK.cmake
new file mode 100644
index 0000000..7014209
--- /dev/null
+++ b/PxShared/src/compiler/cmake/common/PxPvdSDK.cmake
@@ -0,0 +1,123 @@
+#
+# Build PxPvdSDK common
+#
+
+SET(PXPVDSDK_HEADERS
+ ${PROJECT_SOURCE_DIR}/../../../../include/pvd/PxPvd.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/pvd/PxPvdTransport.h
+)
+SOURCE_GROUP(include FILES ${PXPVDSDK_HEADERS})
+
+SET(PXPVDSDK_SOURCE
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileBase.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileCompileTimeEventFilter.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileContextProvider.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileContextProviderImpl.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileDataBuffer.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileDataParsing.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileEventBuffer.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileEventBufferAtomic.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileEventBufferClient.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileEventBufferClientManager.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileEventFilter.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileEventHandler.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileEventId.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileEventImpl.cpp
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileEventMutex.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileEventNames.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileEventParser.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileEvents.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileEventSender.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileEventSerialization.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileEventSystem.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileMemory.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileMemoryBuffer.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileMemoryEventBuffer.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileMemoryEventParser.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileMemoryEventRecorder.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileMemoryEventReflexiveWriter.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileMemoryEvents.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileMemoryEventSummarizer.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileMemoryEventTypes.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileScopedEvent.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileScopedMutexLock.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileZone.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileZoneImpl.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileZoneManager.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxProfileZoneManagerImpl.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvd.cpp
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdBits.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdByteStreams.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdCommStreamEvents.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdCommStreamEventSink.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdCommStreamSDKEventTypes.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdCommStreamTypes.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdDataStream.cpp
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdDefaultFileTransport.cpp
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdDefaultFileTransport.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdDefaultSocketTransport.cpp
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdDefaultSocketTransport.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdFoundation.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdImpl.cpp
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdImpl.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdInternalByteStreams.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdMarshalling.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdMemClient.cpp
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdMemClient.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdObjectModel.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdObjectModelInternalTypeDefs.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdObjectModelInternalTypes.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdObjectModelMetaData.cpp
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdObjectModelMetaData.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdObjectRegistrar.cpp
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdObjectRegistrar.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdProfileZoneClient.cpp
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdProfileZoneClient.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdUserRenderer.cpp
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdUserRenderImpl.h
+ ${PXSHARED_SOURCE_DIR}/pvd/src/PxPvdUserRenderTypes.h
+)
+SOURCE_GROUP(src\\src FILES ${PXPVDSDK_SOURCE})
+
+SET(PXPVDSDK_INTERNAL_HEADERS
+ ${PXSHARED_SOURCE_DIR}/pvd/include/PsPvd.h
+ ${PXSHARED_SOURCE_DIR}/pvd/include/PxProfileAllocatorWrapper.h
+ ${PXSHARED_SOURCE_DIR}/pvd/include/PxPvdClient.h
+ ${PXSHARED_SOURCE_DIR}/pvd/include/PxPvdDataStream.h
+ ${PXSHARED_SOURCE_DIR}/pvd/include/PxPvdDataStreamHelpers.h
+ ${PXSHARED_SOURCE_DIR}/pvd/include/PxPvdErrorCodes.h
+ ${PXSHARED_SOURCE_DIR}/pvd/include/PxPvdObjectModelBaseTypes.h
+ ${PXSHARED_SOURCE_DIR}/pvd/include/PxPvdRenderBuffer.h
+ ${PXSHARED_SOURCE_DIR}/pvd/include/PxPvdUserRenderer.h
+)
+SOURCE_GROUP(src\\include FILES ${PXPVDSDK_INTERNAL_HEADERS})
+
+ADD_LIBRARY(PxPvdSDK ${PXPVDSDK_LIBTYPE}
+ ${PXPVDSDK_HEADERS}
+
+ ${PXPVDSDK_INTERNAL_HEADERS}
+ ${PXPVDSDK_SOURCE}
+
+ ${PXPVDSDK_PLATFORM_FILES}
+)
+
+TARGET_INCLUDE_DIRECTORIES(PxPvdSDK
+ PRIVATE ${PXSHARED_SOURCE_DIR}/../include
+ PRIVATE ${PXSHARED_SOURCE_DIR}/foundation/include
+ PRIVATE ${PXSHARED_SOURCE_DIR}/pvd/include
+ PRIVATE ${PXSHARED_SOURCE_DIR}/filebuf/include
+
+ PRIVATE ${PXPVDSDK_PLATFORM_INCLUDES}
+
+)
+
+TARGET_COMPILE_DEFINITIONS(PxPvdSDK
+ PRIVATE ${PXPVDSDK_COMPILE_DEFS}
+)
+
+SET_TARGET_PROPERTIES(PxPvdSDK PROPERTIES
+ COMPILE_PDB_NAME_DEBUG "PxPvdSDK${CMAKE_DEBUG_POSTFIX}"
+ COMPILE_PDB_NAME_CHECKED "PxPvdSDK${CMAKE_CHECKED_POSTFIX}"
+ COMPILE_PDB_NAME_PROFILE "PxPvdSDK${CMAKE_PROFILE_POSTFIX}"
+ COMPILE_PDB_NAME_RELEASE "PxPvdSDK${CMAKE_RELEASE_POSTFIX}"
+) \ No newline at end of file
diff --git a/PxShared/src/compiler/cmake/common/PxTask.cmake b/PxShared/src/compiler/cmake/common/PxTask.cmake
new file mode 100644
index 0000000..0d1cd1f
--- /dev/null
+++ b/PxShared/src/compiler/cmake/common/PxTask.cmake
@@ -0,0 +1,44 @@
+#
+# Build PxTask common
+#
+
+SET(PXTASK_HEADERS
+ ${PROJECT_SOURCE_DIR}/../../../../include/task/PxCpuDispatcher.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/task/PxGpuDispatcher.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/task/PxGpuTask.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/task/PxTask.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/task/PxTaskDefine.h
+ ${PROJECT_SOURCE_DIR}/../../../../include/task/PxTaskManager.h
+)
+SOURCE_GROUP(include FILES ${PXTASK_HEADERS})
+
+SET(PXTASK_SOURCE
+ ${PXSHARED_SOURCE_DIR}/task/src/TaskManager.cpp
+)
+SOURCE_GROUP(src FILES ${PXTASK_SOURCE})
+
+ADD_LIBRARY(PxTask ${PXTASK_LIBTYPE}
+ ${PXTASK_HEADERS}
+ ${PXTASK_SOURCE}
+)
+
+TARGET_INCLUDE_DIRECTORIES(PxTask
+ PRIVATE ${PXSHARED_SOURCE_DIR}/../include
+ PRIVATE ${PXSHARED_SOURCE_DIR}/cudamanager/include
+ PRIVATE ${PXSHARED_SOURCE_DIR}/foundation/include
+
+ PRIVATE ${PXTASK_PLATFORM_INCLUDES}
+)
+
+TARGET_COMPILE_DEFINITIONS(PxTask
+ PRIVATE ${PXTASK_COMPILE_DEFS}
+)
+
+IF(NOT ${PXTASK_LIBTYPE} STREQUAL "OBJECT")
+ SET_TARGET_PROPERTIES(PxTask PROPERTIES
+ COMPILE_PDB_NAME_DEBUG "PxTask${CMAKE_DEBUG_POSTFIX}"
+ COMPILE_PDB_NAME_CHECKED "PxTask${CMAKE_CHECKED_POSTFIX}"
+ COMPILE_PDB_NAME_PROFILE "PxTask${CMAKE_PROFILE_POSTFIX}"
+ COMPILE_PDB_NAME_RELEASE "PxTask${CMAKE_RELEASE_POSTFIX}"
+ )
+ENDIF() \ No newline at end of file