diff options
Diffstat (limited to 'NvBlast/sdk/compiler/cmake/NvBlast.cmake')
| -rw-r--r-- | NvBlast/sdk/compiler/cmake/NvBlast.cmake | 89 |
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}" +) + |