aboutsummaryrefslogtreecommitdiff
path: root/NvBlast/sdk/compiler/cmake/NvBlast.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'NvBlast/sdk/compiler/cmake/NvBlast.cmake')
-rw-r--r--NvBlast/sdk/compiler/cmake/NvBlast.cmake89
1 files changed, 89 insertions, 0 deletions
diff --git a/NvBlast/sdk/compiler/cmake/NvBlast.cmake b/NvBlast/sdk/compiler/cmake/NvBlast.cmake
new file mode 100644
index 0000000..5ac9ce9
--- /dev/null
+++ b/NvBlast/sdk/compiler/cmake/NvBlast.cmake
@@ -0,0 +1,89 @@
+#
+# Build NvBlast common
+#
+
+SET(COMMON_SOURCE_DIR ${PROJECT_SOURCE_DIR}/common)
+SET(SOLVER_SOURCE_DIR ${PROJECT_SOURCE_DIR}/lowlevel/source)
+SET(PUBLIC_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/lowlevel/include)
+
+# Include here after the directories are defined so that the platform specific file can use the variables.
+include(${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/NvBlast.cmake)
+
+SET(COMMON_FILES
+ ${BLAST_PLATFORM_COMMON_FILES}
+
+ ${COMMON_SOURCE_DIR}/NvBlastAssert.cpp
+ ${COMMON_SOURCE_DIR}/NvBlastAssert.h
+ ${COMMON_SOURCE_DIR}/NvBlastAtomic.cpp
+ ${COMMON_SOURCE_DIR}/NvBlastAtomic.h
+ ${COMMON_SOURCE_DIR}/NvBlastDLink.h
+ ${COMMON_SOURCE_DIR}/NvBlastFixedArray.h
+ ${COMMON_SOURCE_DIR}/NvBlastFixedBitmap.h
+ ${COMMON_SOURCE_DIR}/NvBlastFixedBoolArray.h
+ ${COMMON_SOURCE_DIR}/NvBlastFixedPriorityQueue.h
+ ${COMMON_SOURCE_DIR}/NvBlastGeometry.h
+# ${COMMON_SOURCE_DIR}/NvBlastIndexFns.cpp
+ ${COMMON_SOURCE_DIR}/NvBlastIndexFns.h
+ ${COMMON_SOURCE_DIR}/NvBlastIteratorBase.h
+ ${COMMON_SOURCE_DIR}/NvBlastMath.h
+ ${COMMON_SOURCE_DIR}/NvBlastMemory.h
+ ${COMMON_SOURCE_DIR}/NvBlastPreprocessorInternal.h
+ ${COMMON_SOURCE_DIR}/NvBlastTime.cpp
+ ${COMMON_SOURCE_DIR}/NvBlastTime.h
+ ${COMMON_SOURCE_DIR}/NvBlastTimers.cpp
+)
+
+SET(PUBLIC_FILES
+ ${PUBLIC_INCLUDE_DIR}/NvBlast.h
+ ${PUBLIC_INCLUDE_DIR}/NvBlastPreprocessor.h
+ ${PUBLIC_INCLUDE_DIR}/NvBlastTypes.h
+ ${PUBLIC_INCLUDE_DIR}/NvPreprocessor.h
+)
+
+SET(SOLVER_FILES
+ ${SOLVER_SOURCE_DIR}/NvBlastActor.cpp
+ ${SOLVER_SOURCE_DIR}/NvBlastActor.h
+ ${SOLVER_SOURCE_DIR}/NvBlastFamilyGraph.cpp
+ ${SOLVER_SOURCE_DIR}/NvBlastFamilyGraph.h
+ ${SOLVER_SOURCE_DIR}/NvBlastActorSerializationBlock.cpp
+ ${SOLVER_SOURCE_DIR}/NvBlastActorSerializationBlock.h
+ ${SOLVER_SOURCE_DIR}/NvBlastAsset.cpp
+ ${SOLVER_SOURCE_DIR}/NvBlastAssetHelper.cpp
+ ${SOLVER_SOURCE_DIR}/NvBlastAsset.h
+ ${SOLVER_SOURCE_DIR}/NvBlastSupportGraph.h
+ ${SOLVER_SOURCE_DIR}/NvBlastChunkHierarchy.h
+ ${SOLVER_SOURCE_DIR}/NvBlastFamily.cpp
+ ${SOLVER_SOURCE_DIR}/NvBlastFamily.h
+)
+
+ADD_LIBRARY(NvBlast ${BLAST_LIB_TYPE}
+ ${COMMON_FILES}
+ ${PUBLIC_FILES}
+ ${SOLVER_FILES}
+)
+
+SOURCE_GROUP("common" FILES ${COMMON_FILES})
+SOURCE_GROUP("public" FILES ${PUBLIC_FILES})
+SOURCE_GROUP("solver" FILES ${SOLVER_FILES})
+
+# Target specific compile options
+
+
+TARGET_INCLUDE_DIRECTORIES(NvBlast
+ PRIVATE ${BLAST_PLATFORM_INCLUDES}
+
+ PUBLIC ${PUBLIC_INCLUDE_DIR}
+ PRIVATE ${COMMON_SOURCE_DIR}
+)
+
+TARGET_COMPILE_DEFINITIONS(NvBlast
+ PRIVATE ${BLAST_COMPILE_DEFS}
+)
+
+SET_TARGET_PROPERTIES(NvBlast PROPERTIES
+ PDB_NAME_DEBUG "NvBlast${CMAKE_DEBUG_POSTFIX}"
+ PDB_NAME_CHECKED "NvBlast${CMAKE_CHECKED_POSTFIX}"
+ PDB_NAME_PROFILE "NvBlast${CMAKE_PROFILE_POSTFIX}"
+ PDB_NAME_RELEASE "NvBlast${CMAKE_RELEASE_POSTFIX}"
+)
+