diff options
| author | Anton Novoselov <[email protected]> | 2017-08-01 13:20:34 +0300 |
|---|---|---|
| committer | Anton Novoselov <[email protected]> | 2017-08-01 13:20:34 +0300 |
| commit | 883afed713a7b6508c9847a1a3d7670811b43026 (patch) | |
| tree | a58d155fc9422e836d8b33ee39880dc1491f7828 /sdk | |
| parent | Blast 1.1 release (windows / linux) (diff) | |
| download | blast-883afed713a7b6508c9847a1a3d7670811b43026.tar.xz blast-883afed713a7b6508c9847a1a3d7670811b43026.zip | |
* fix .gitignore
* added missing cmake files
Diffstat (limited to 'sdk')
17 files changed, 983 insertions, 0 deletions
diff --git a/sdk/compiler/cmake/NvBlastExtAssetUtils.cmake b/sdk/compiler/cmake/NvBlastExtAssetUtils.cmake new file mode 100644 index 0000000..830196e --- /dev/null +++ b/sdk/compiler/cmake/NvBlastExtAssetUtils.cmake @@ -0,0 +1,93 @@ +# +# Build NvBlastExtAssetUtils Common +# + +SET(COMMON_SOURCE_DIR ${PROJECT_SOURCE_DIR}/common) + +SET(ASSETUTILS_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/extensions/assetutils/include) +SET(ASSETUTILS_SOURCE_DIR ${PROJECT_SOURCE_DIR}/extensions/assetutils/source) + +SET(EXT_COMMON_SOURCE_DIR ${PROJECT_SOURCE_DIR}/extensions/common/source) +SET(EXT_COMMON_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/extensions/common/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}/NvBlastExtAssetUtils.cmake) + + +SET(COMMON_FILES + ${BLASTEXTASSETUTILS_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.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(ASSETUTILS_SOURCE_FILES + ${ASSETUTILS_SOURCE_DIR}/NvBlastExtAssetUtils.cpp +) + +SET(ASSETUTILS_PUBLIC_FILES + ${ASSETUTILS_INCLUDE_DIR}/NvBlastExtAssetUtils.h +) + +ADD_LIBRARY(NvBlastExtAssetUtils ${BLASTEXTASSETUTILS_LIB_TYPE} + ${COMMON_FILES} + ${ASSETUTILS_SOURCE_FILES} + ${ASSETUTILS_PUBLIC_FILES} +) + +SOURCE_GROUP("common" FILES ${COMMON_FILES}) +SOURCE_GROUP("public" FILES ${ASSETUTILS_PUBLIC_FILES}) +SOURCE_GROUP("src" FILES ${ASSETUTILS_SOURCE_FILES}) + +# Target specific compile options + +TARGET_INCLUDE_DIRECTORIES(NvBlastExtAssetUtils + PUBLIC ${ASSETUTILS_INCLUDE_DIR} + + PRIVATE ${BLASTEXTASSETUTILS_PLATFORM_INCLUDES} + + PRIVATE ${PROJECT_SOURCE_DIR}/common + PRIVATE ${PROJECT_SOURCE_DIR}/lowlevel/include + PRIVATE ${PROJECT_SOURCE_DIR}/lowlevel/source + + PRIVATE ${COMMON_SOURCE_DIR} +) + +TARGET_COMPILE_DEFINITIONS(NvBlastExtAssetUtils + PUBLIC CAPNP_LITE=1 + PRIVATE ${BLASTEXTASSETUTILS_COMPILE_DEFS} +) + +# Warning disables for Capn Proto +TARGET_COMPILE_OPTIONS(NvBlastExtAssetUtils + PRIVATE ${BLASTEXTASSETUTILS_COMPILE_OPTIONS} +) + +SET_TARGET_PROPERTIES(NvBlastExtAssetUtils PROPERTIES + PDB_NAME_DEBUG "NvBlastExtAssetUtils${CMAKE_DEBUG_POSTFIX}" + PDB_NAME_CHECKED "NvBlastExtAssetUtils${CMAKE_CHECKED_POSTFIX}" + PDB_NAME_PROFILE "NvBlastExtAssetUtils${CMAKE_PROFILE_POSTFIX}" + PDB_NAME_RELEASE "NvBlastExtAssetUtils${CMAKE_RELEASE_POSTFIX}" +) + +# Do final direct sets after the target has been defined +TARGET_LINK_LIBRARIES(NvBlastExtAssetUtils + PRIVATE NvBlast + PUBLIC NvBlastGlobals +) diff --git a/sdk/compiler/cmake/NvBlastExtExporter.cmake b/sdk/compiler/cmake/NvBlastExtExporter.cmake new file mode 100644 index 0000000..aaf2b8c --- /dev/null +++ b/sdk/compiler/cmake/NvBlastExtExporter.cmake @@ -0,0 +1,102 @@ +# +# Build NvBlastExt Common +# + + +SET(COMMON_SOURCE_DIR ${PROJECT_SOURCE_DIR}/common) + +SET(EXPORTER_EXT_SOURCE_DIR ${PROJECT_SOURCE_DIR}/extensions/exporter/source) +SET(COMMON_EXT_SOURCE_DIR ${PROJECT_SOURCE_DIR}/extensions/common/source) +SET(EXPORTER_EXT_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/extensions/exporter/include) +SET(EXT_AUTHORING_INCLUDE_DIR ${BLAST_ROOT_DIR}/sdk/extensions/authoring/include) +SET(TK_INCLUDE_DIR ${BLAST_ROOT_DIR}/sdk/toolkit/include) + +FIND_PACKAGE(PxSharedSDK $ENV{PM_PxShared_VERSION} REQUIRED) +FIND_PACKAGE(PhysXSDK $ENV{PM_PhysX_VERSION} REQUIRED) +FIND_PACKAGE(tinyObjLoader $ENV{PM_tinyObjLoader_VERSION} REQUIRED) +FIND_PACKAGE(FBXSDK $ENV{PM_FBXSDK_VERSION} REQUIRED) + +# 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}/NvBlastExtExporter.cmake) + +SET(COMMON_FILES + ${BLASTEXT_PLATFORM_COMMON_FILES} + + #${COMMON_SOURCE_DIR}/NvBlastAssert.cpp + #${COMMON_SOURCE_DIR}/NvBlastAssert.h +) + +SET(PUBLIC_FILES + ${EXPORTER_EXT_INCLUDE_DIR}/NvBlastExtExporter.h + ${EXPORTER_EXT_INCLUDE_DIR}/NvBlastExtExporterJsonCollision.h +) + +SET(EXT_EXPORTER_FILES + ${EXPORTER_EXT_SOURCE_DIR}/NvBlastExtExporterFbxUtils.cpp + ${EXPORTER_EXT_SOURCE_DIR}/NvBlastExtExporterFbxUtils.h + ${EXPORTER_EXT_SOURCE_DIR}/NvBlastExtExporter.cpp + ${EXPORTER_EXT_SOURCE_DIR}/NvBlastExtExporterFbxReader.cpp + ${EXPORTER_EXT_SOURCE_DIR}/NvBlastExtExporterFbxReader.h + ${EXPORTER_EXT_SOURCE_DIR}/NvBlastExtExporterFbxWriter.cpp + ${EXPORTER_EXT_SOURCE_DIR}/NvBlastExtExporterFbxWriter.h + ${EXPORTER_EXT_SOURCE_DIR}/NvBlastExtExporterObjReader.cpp + ${EXPORTER_EXT_SOURCE_DIR}/NvBlastExtExporterObjReader.h + ${EXPORTER_EXT_SOURCE_DIR}/NvBlastExtExporterObjWriter.cpp + ${EXPORTER_EXT_SOURCE_DIR}/NvBlastExtExporterObjWriter.h + ${EXPORTER_EXT_SOURCE_DIR}/NvBlastExtExporterJsonCollision.cpp +) + +ADD_LIBRARY(NvBlastExtExporter SHARED + ${COMMON_FILES} + ${PUBLIC_FILES} + ${EXT_EXPORTER_FILES} +) + +SOURCE_GROUP("common" FILES ${COMMON_FILES}) +SOURCE_GROUP("public" FILES ${PUBLIC_FILES}) +SOURCE_GROUP("src" FILES ${EXT_EXPORTER_FILES}) + + +# Target specific compile options + +TARGET_INCLUDE_DIRECTORIES(NvBlastExtExporter + PRIVATE ${BLASTEXT_PLATFORM_INCLUDES} + PRIVATE ${TK_INCLUDE_DIR} + + PUBLIC ${PROJECT_SOURCE_DIR}/lowlevel/include + PUBLIC ${EXPORTER_EXT_INCLUDE_DIR} + + PRIVATE ${PROJECT_SOURCE_DIR}/common + PRIVATE ${COMMON_EXT_SOURCE_DIR} + PUBLIC ${EXT_AUTHORING_INCLUDE_DIR} + + PRIVATE ${EXPORTER_EXT_SOURCE_DIR} + + PRIVATE ${PHYSXSDK_INCLUDE_DIRS} + PRIVATE ${PXSHAREDSDK_INCLUDE_DIRS} + + PRIVATE ${TINYOBJLOADER_INCLUDE_DIRS} + PRIVATE ${FBXSDK_INCLUDE_DIRS} +) + +TARGET_COMPILE_DEFINITIONS(NvBlastExtExporter + PRIVATE ${BLASTEXT_COMPILE_DEFS} +) + +TARGET_COMPILE_OPTIONS(NvBlastExtExporter + PRIVATE ${BLASTEXT_PLATFORM_COMPILE_OPTIONS} +) + +SET_TARGET_PROPERTIES(NvBlastExtExporter PROPERTIES + PDB_NAME_DEBUG "NvBlastExtExporter${CMAKE_DEBUG_POSTFIX}" + PDB_NAME_CHECKED "NvBlastExtExporter${CMAKE_CHECKED_POSTFIX}" + PDB_NAME_PROFILE "NvBlastExtExporter${CMAKE_PROFILE_POSTFIX}" + PDB_NAME_RELEASE "NvBlastExtExporter${CMAKE_RELEASE_POSTFIX}" +) + +# Do final direct sets after the target has been defined +TARGET_LINK_LIBRARIES(NvBlastExtExporter + PUBLIC NvBlast NvBlastGlobals NvBlastTk NvBlastExtAuthoring + PUBLIC ${BLASTEXT_PLATFORM_LINKED_LIBS} + PUBLIC ${FBXSDK_LIBRARIES} +) diff --git a/sdk/compiler/cmake/NvBlastExtPxSerialization.cmake b/sdk/compiler/cmake/NvBlastExtPxSerialization.cmake new file mode 100644 index 0000000..846ecf1 --- /dev/null +++ b/sdk/compiler/cmake/NvBlastExtPxSerialization.cmake @@ -0,0 +1,206 @@ +# +# Build NvBlastExtPxSerialization Common +# + +SET(COMMON_SOURCE_DIR ${PROJECT_SOURCE_DIR}/common) + +SET(SERIAL_EXT_SOURCE_DIR ${PROJECT_SOURCE_DIR}/extensions/serialization/source) +SET(SERIAL_EXT_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/extensions/serialization/include) +SET(TK_INCLUDE_DIR ${BLAST_ROOT_DIR}/sdk/toolkit/include) +SET(PHYSX_EXT_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/extensions/physx/include) +SET(PHYSX_EXT_SOURCE_DIR ${PROJECT_SOURCE_DIR}/extensions/physx/source) +SET(EXT_COMMON_SOURCE_DIR ${PROJECT_SOURCE_DIR}/extensions/common/source) +SET(EXT_COMMON_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/extensions/common/include) + +SET(DTO_SOURCE_DIR ${SERIAL_EXT_SOURCE_DIR}/DTO) + +SET(SOLVER_SOURCE_DIR ${PROJECT_SOURCE_DIR}/lowlevel/source) + +SET(SERIAL_GENERATED_SOURCE_DIR ${SERIAL_EXT_SOURCE_DIR}/generated) + +FIND_PACKAGE(PhysXSDK $ENV{PM_PhysX_VERSION} REQUIRED) +FIND_PACKAGE(PxSharedSDK $ENV{PM_PxShared_VERSION} REQUIRED) +FIND_PACKAGE(CapnProtoSDK $ENV{PM_CapnProto_VERSION} REQUIRED) + +# 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}/NvBlastExtPxSerialization.cmake) + +# Compile the generated files for serialization + +INCLUDE(CapnProtoGenerate) + +SET(CAPNPC_OUTPUT_DIR ${SERIAL_GENERATED_SOURCE_DIR}) +SET(CAPNPC_SRC_PREFIX ${SERIAL_EXT_SOURCE_DIR}) +CAPNP_GENERATE_CPP(CAPNP_SRCS CAPNP_HDRS ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtLlSerialization.capn ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtTkSerialization.capn ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtPxSerialization.capn) + +SET(COMMON_FILES + ${BLASTEXTPXSERIALIZATION_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(EXT_SERIALIZATION_FILES + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtPxSerialization.capn + + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtPxSerialization.cpp + + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtSerializationCAPN.h + + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtSerializationInternal.h + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtPxSerializerCAPN.h + + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtPxSerializerRAW.h + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtPxSerializerRAW.cpp + + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtTkSerializerRAW.h + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtTkSerializerRAW.cpp + + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtOutputStream.h + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtOutputStream.cpp + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtInputStream.h + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtInputStream.cpp + + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtKJPxInputStream.h + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtKJPxInputStream.cpp + + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtKJPxOutputStream.h + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtKJPxOutputStream.cpp +) + +SET(DTO_SOURCE_FILES + ${DTO_SOURCE_DIR}/DTOMacros.h + ${DTO_SOURCE_DIR}/AssetDTO.h + ${DTO_SOURCE_DIR}/AssetDTO.cpp + ${DTO_SOURCE_DIR}/TkAssetDTO.h + ${DTO_SOURCE_DIR}/TkAssetDTO.cpp + ${DTO_SOURCE_DIR}/ExtPxAssetDTO.h + ${DTO_SOURCE_DIR}/ExtPxAssetDTO.cpp + ${DTO_SOURCE_DIR}/PxVec3DTO.h + ${DTO_SOURCE_DIR}/PxVec3DTO.cpp + ${DTO_SOURCE_DIR}/NvBlastChunkDTO.h + ${DTO_SOURCE_DIR}/NvBlastChunkDTO.cpp + ${DTO_SOURCE_DIR}/NvBlastBondDTO.h + ${DTO_SOURCE_DIR}/NvBlastBondDTO.cpp + ${DTO_SOURCE_DIR}/NvBlastIDDTO.h + ${DTO_SOURCE_DIR}/NvBlastIDDTO.cpp + ${DTO_SOURCE_DIR}/TkAssetJointDescDTO.h + ${DTO_SOURCE_DIR}/TkAssetJointDescDTO.cpp + ${DTO_SOURCE_DIR}/ExtPxChunkDTO.h + ${DTO_SOURCE_DIR}/ExtPxChunkDTO.cpp + ${DTO_SOURCE_DIR}/ExtPxSubchunkDTO.h + ${DTO_SOURCE_DIR}/ExtPxSubchunkDTO.cpp + ${DTO_SOURCE_DIR}/PxQuatDTO.h + ${DTO_SOURCE_DIR}/PxQuatDTO.cpp + ${DTO_SOURCE_DIR}/PxTransformDTO.h + ${DTO_SOURCE_DIR}/PxTransformDTO.cpp + ${DTO_SOURCE_DIR}/PxMeshScaleDTO.h + ${DTO_SOURCE_DIR}/PxMeshScaleDTO.cpp + ${DTO_SOURCE_DIR}/PxConvexMeshGeometryDTO.h + ${DTO_SOURCE_DIR}/PxConvexMeshGeometryDTO.cpp +) + +SET(EXT_SERIALIZATION_INCLUDES + ${SERIAL_EXT_INCLUDE_DIR}/NvBlastExtPxSerialization.h +) + +ADD_LIBRARY(NvBlastExtPxSerialization ${BLASTEXTPXSERIALIZATION_LIB_TYPE} + ${COMMON_FILES} + + ${DTO_SOURCE_FILES} + + ${EXT_SERIALIZATION_INCLUDES} + ${EXT_SERIALIZATION_FILES} + + ${CAPNP_SRCS} + ${CAPNP_HDRS} + + ${MD5_FILES} + + ${CAPNPROTOSDK_SOURCE_FILES} +) + +SOURCE_GROUP("common" FILES ${COMMON_FILES}) + +SOURCE_GROUP("include" FILES ${EXT_SERIALIZATION_INCLUDES}) +SOURCE_GROUP("src\\serialization" FILES ${EXT_SERIALIZATION_FILES}) +SOURCE_GROUP("src\\serialization\\DTO" FILES ${DTO_SOURCE_FILES}) +SOURCE_GROUP("src\\serialization\\generated" FILES ${CAPNP_SRCS} ${CAPNP_HDRS}) +SOURCE_GROUP("src\\serialization\\CapnProtoSDK" FILES ${CAPNPROTOSDK_SOURCE_FILES}) + + +# Target specific compile options + +TARGET_INCLUDE_DIRECTORIES(NvBlastExtPxSerialization + PRIVATE ${BLASTEXTPXSERIALIZATION_PLATFORM_INCLUDES} + + PRIVATE ${PROJECT_SOURCE_DIR}/common + PRIVATE ${PROJECT_SOURCE_DIR}/lowlevel/include + PRIVATE ${PROJECT_SOURCE_DIR}/lowlevel/source + + PRIVATE ${PX_INCLUDE_DIR} + + PUBLIC ${SERIAL_EXT_INCLUDE_DIR} + PUBLIC ${SERIAL_EXT_SOURCE_DIR} + PUBLIC ${DTO_SOURCE_DIR} + + PRIVATE ${PHYSX_EXT_INCLUDE_DIR} + PRIVATE ${PHYSX_EXT_SOURCE_DIR} + + PRIVATE ${EXT_COMMON_SOURCE_DIR} + PRIVATE ${EXT_COMMON_INCLUDE_DIR} + + PUBLIC ${CAPNPROTOSDK_INCLUDE_DIRS} + + PRIVATE ${COMMON_SOURCE_DIR} + + PUBLIC ${PHYSXSDK_INCLUDE_DIRS} + PRIVATE ${PXSHAREDSDK_INCLUDE_DIRS} +) + +TARGET_COMPILE_DEFINITIONS(NvBlastExtPxSerialization + PUBLIC CAPNP_LITE=1 + PRIVATE ${BLASTEXTPXSERIALIZATION_COMPILE_DEFS} +) + +# Warning disables for Capn Proto +TARGET_COMPILE_OPTIONS(NvBlastExtPxSerialization + PRIVATE ${BLASTEXTPXSERIALIZATION_COMPILE_OPTIONS} +) + +SET_TARGET_PROPERTIES(NvBlastExtPxSerialization PROPERTIES + PDB_NAME_DEBUG "NvBlastExtPxSerialization${CMAKE_DEBUG_POSTFIX}" + PDB_NAME_CHECKED "NvBlastExtPxSerialization${CMAKE_CHECKED_POSTFIX}" + PDB_NAME_PROFILE "NvBlastExtPxSerialization${CMAKE_PROFILE_POSTFIX}" + PDB_NAME_RELEASE "NvBlastExtPxSerialization${CMAKE_RELEASE_POSTFIX}" +) + +# Do final direct sets after the target has been defined +TARGET_LINK_LIBRARIES(NvBlastExtPxSerialization + PRIVATE NvBlast NvBlastGlobals NvBlastTk NvBlastExtPhysX ${CAPNPROTOSDK_LIBRARIES} + PUBLIC $<$<CONFIG:debug>:${PHYSX3_LIB_DEBUG}> $<$<CONFIG:debug>:${PHYSX3COOKING_LIB_DEBUG}> + PUBLIC $<$<CONFIG:checked>:${PHYSX3_LIB_CHECKED}> $<$<CONFIG:checked>:${PHYSX3COOKING_LIB_CHECKED}> + PUBLIC $<$<CONFIG:profile>:${PHYSX3_LIB_PROFILE}> $<$<CONFIG:profile>:${PHYSX3COOKING_LIB_PROFILE}> + PUBLIC $<$<CONFIG:release>:${PHYSX3_LIB}> $<$<CONFIG:release>:${PHYSX3COOKING_LIB}> +) + +#Hack for now to force these to build serialially to fix fighting over writing the generated code +ADD_DEPENDENCIES(NvBlastExtPxSerialization NvBlastExtTkSerialization NvBlastExtSerialization) diff --git a/sdk/compiler/cmake/NvBlastExtStress.cmake b/sdk/compiler/cmake/NvBlastExtStress.cmake new file mode 100644 index 0000000..d0b73a6 --- /dev/null +++ b/sdk/compiler/cmake/NvBlastExtStress.cmake @@ -0,0 +1,91 @@ +# +# Build NvBlastExtStress Common +# + +SET(COMMON_SOURCE_DIR ${PROJECT_SOURCE_DIR}/common) + +SET(STRESS_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/extensions/stress/include) +SET(STRESS_SOURCE_DIR ${PROJECT_SOURCE_DIR}/extensions/stress/source) + +SET(EXT_COMMON_SOURCE_DIR ${PROJECT_SOURCE_DIR}/extensions/common/source) +SET(EXT_COMMON_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/extensions/common/include) + +FIND_PACKAGE(PxSharedSDK $ENV{PM_PxShared_VERSION} REQUIRED) + +# 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}/NvBlastExtStress.cmake OPTIONAL) + + +SET(COMMON_FILES + ${BLASTEXTSTRESS_PLATFORM_COMMON_FILES} + + ${COMMON_SOURCE_DIR}/NvBlastAssert.cpp + ${COMMON_SOURCE_DIR}/NvBlastAssert.h +) + +SET(STRESS_SOURCE_FILES + ${STRESS_SOURCE_DIR}/NvBlastExtStressSolver.cpp +) + +SET(STRESS_PUBLIC_FILES + ${STRESS_INCLUDE_DIR}/NvBlastExtStressSolver.h +) + +ADD_LIBRARY(NvBlastExtStress SHARED + ${COMMON_FILES} + ${STRESS_SOURCE_FILES} + ${STRESS_PUBLIC_FILES} +) + +SOURCE_GROUP("common" FILES ${COMMON_FILES}) +SOURCE_GROUP("public" FILES ${STRESS_PUBLIC_FILES}) +SOURCE_GROUP("src" FILES ${STRESS_SOURCE_FILES}) + +# Target specific compile options + +TARGET_INCLUDE_DIRECTORIES(NvBlastExtStress + PUBLIC ${STRESS_INCLUDE_DIR} + + PRIVATE ${BLASTEXTSTRESS_PLATFORM_INCLUDES} + + PRIVATE ${PROJECT_SOURCE_DIR}/common + PRIVATE ${PROJECT_SOURCE_DIR}/lowlevel/include + PRIVATE ${PROJECT_SOURCE_DIR}/lowlevel/source + + PRIVATE ${COMMON_SOURCE_DIR} + + PRIVATE ${PXSHAREDSDK_INCLUDE_DIRS} +) + +SET(BLASTEXTSTRESS_COMPILE_DEFS + # Common to all configurations + ${BLAST_SLN_COMPILE_DEFS};_CONSOLE; + + $<$<CONFIG:debug>:${BLAST_SLN_DEBUG_COMPILE_DEFS}> + $<$<CONFIG:checked>:${BLAST_SLN_CHECKED_COMPILE_DEFS}> + $<$<CONFIG:profile>:${BLAST_SLN_PROFILE_COMPILE_DEFS}> + $<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}> +) + +TARGET_COMPILE_DEFINITIONS(NvBlastExtStress + PUBLIC CAPNP_LITE=1 + PRIVATE ${BLASTEXTSTRESS_COMPILE_DEFS} +) + +# Warning disables for Capn Proto +TARGET_COMPILE_OPTIONS(NvBlastExtStress + PRIVATE ${BLASTEXTSTRESS_PLATFORM_COMPILE_OPTIONS} +) + +SET_TARGET_PROPERTIES(NvBlastExtStress PROPERTIES + PDB_NAME_DEBUG "NvBlastExtStress${CMAKE_DEBUG_POSTFIX}" + PDB_NAME_CHECKED "NvBlastExtStress${CMAKE_CHECKED_POSTFIX}" + PDB_NAME_PROFILE "NvBlastExtStress${CMAKE_PROFILE_POSTFIX}" + PDB_NAME_RELEASE "NvBlastExtStress${CMAKE_RELEASE_POSTFIX}" +) + +# Do final direct sets after the target has been defined +TARGET_LINK_LIBRARIES(NvBlastExtStress + PUBLIC NvBlast NvBlastGlobals + PUBLIC ${BLASTEXT_PLATFORM_LINKED_LIBS} +) diff --git a/sdk/compiler/cmake/NvBlastExtTkSerialization.cmake b/sdk/compiler/cmake/NvBlastExtTkSerialization.cmake new file mode 100644 index 0000000..ddc5eb5 --- /dev/null +++ b/sdk/compiler/cmake/NvBlastExtTkSerialization.cmake @@ -0,0 +1,172 @@ +# +# Build NvBlastExtTkSerialization Common +# + +SET(COMMON_SOURCE_DIR ${PROJECT_SOURCE_DIR}/common) + +SET(SERIAL_EXT_SOURCE_DIR ${PROJECT_SOURCE_DIR}/extensions/serialization/source) +SET(SERIAL_EXT_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/extensions/serialization/include) +SET(TK_INCLUDE_DIR ${BLAST_ROOT_DIR}/sdk/toolkit/include) +SET(EXT_COMMON_SOURCE_DIR ${PROJECT_SOURCE_DIR}/extensions/common/source) +SET(EXT_COMMON_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/extensions/common/include) + +SET(DTO_SOURCE_DIR ${SERIAL_EXT_SOURCE_DIR}/DTO) + +SET(SOLVER_SOURCE_DIR ${PROJECT_SOURCE_DIR}/lowlevel/source) + +SET(SERIAL_GENERATED_SOURCE_DIR ${SERIAL_EXT_SOURCE_DIR}/generated) + +FIND_PACKAGE(PxSharedSDK $ENV{PM_PxShared_VERSION} REQUIRED) +FIND_PACKAGE(CapnProtoSDK $ENV{PM_CapnProto_VERSION} REQUIRED) + +# 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}/NvBlastExtTkSerialization.cmake) + +# Compile the generated files for serialization + +INCLUDE(CapnProtoGenerate) + +SET(CAPNPC_OUTPUT_DIR ${SERIAL_GENERATED_SOURCE_DIR}) +SET(CAPNPC_SRC_PREFIX ${SERIAL_EXT_SOURCE_DIR}) +CAPNP_GENERATE_CPP(CAPNP_SRCS CAPNP_HDRS ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtLlSerialization.capn ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtTkSerialization.capn) + +SET(COMMON_FILES + ${BLASTEXTTKSERIALIZATION_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(EXT_SERIALIZATION_FILES + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtTkSerialization.capn + + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtTkSerialization.cpp + + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtSerializationCAPN.h + + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtSerializationInternal.h + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtTkSerializerCAPN.h + + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtTkSerializerRAW.h + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtTkSerializerRAW.cpp + + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtOutputStream.h + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtOutputStream.cpp + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtInputStream.h + ${SERIAL_EXT_SOURCE_DIR}/NvBlastExtInputStream.cpp +) + +SET(DTO_SOURCE_FILES + ${DTO_SOURCE_DIR}/DTOMacros.h + ${DTO_SOURCE_DIR}/AssetDTO.h + ${DTO_SOURCE_DIR}/AssetDTO.cpp + ${DTO_SOURCE_DIR}/TkAssetDTO.h + ${DTO_SOURCE_DIR}/TkAssetDTO.cpp + ${DTO_SOURCE_DIR}/PxVec3DTO.h + ${DTO_SOURCE_DIR}/PxVec3DTO.cpp + ${DTO_SOURCE_DIR}/NvBlastChunkDTO.h + ${DTO_SOURCE_DIR}/NvBlastChunkDTO.cpp + ${DTO_SOURCE_DIR}/NvBlastBondDTO.h + ${DTO_SOURCE_DIR}/NvBlastBondDTO.cpp + ${DTO_SOURCE_DIR}/NvBlastIDDTO.h + ${DTO_SOURCE_DIR}/NvBlastIDDTO.cpp + ${DTO_SOURCE_DIR}/TkAssetJointDescDTO.h + ${DTO_SOURCE_DIR}/TkAssetJointDescDTO.cpp +) + +SET(EXT_SERIALIZATION_INCLUDES + ${SERIAL_EXT_INCLUDE_DIR}/NvBlastExtTkSerialization.h +) + +ADD_LIBRARY(NvBlastExtTkSerialization ${BLASTEXTTKSERIALIZATION_LIB_TYPE} + ${COMMON_FILES} + + ${DTO_SOURCE_FILES} + + ${EXT_SERIALIZATION_INCLUDES} + ${EXT_SERIALIZATION_FILES} + + ${CAPNP_SRCS} + ${CAPNP_HDRS} + + ${MD5_FILES} + + ${CAPNPROTOSDK_SOURCE_FILES} +) + +SOURCE_GROUP("common" FILES ${COMMON_FILES}) + +SOURCE_GROUP("include" FILES ${EXT_SERIALIZATION_INCLUDES}) +SOURCE_GROUP("src\\serialization" FILES ${EXT_SERIALIZATION_FILES}) +SOURCE_GROUP("src\\serialization\\DTO" FILES ${DTO_SOURCE_FILES}) +SOURCE_GROUP("src\\serialization\\generated" FILES ${CAPNP_SRCS} ${CAPNP_HDRS}) +SOURCE_GROUP("src\\serialization\\CapnProtoSDK" FILES ${CAPNPROTOSDK_SOURCE_FILES}) + + +# Target specific compile options + +TARGET_INCLUDE_DIRECTORIES(NvBlastExtTkSerialization + PRIVATE ${BLASTEXTTKSERIALIZATION_PLATFORM_INCLUDES} + + PRIVATE ${PROJECT_SOURCE_DIR}/common + PRIVATE ${PROJECT_SOURCE_DIR}/lowlevel/include + PRIVATE ${PROJECT_SOURCE_DIR}/lowlevel/source + + PRIVATE ${TK_INCLUDE_DIR} + + PUBLIC ${SERIAL_EXT_INCLUDE_DIR} + PUBLIC ${SERIAL_EXT_SOURCE_DIR} + PUBLIC ${DTO_SOURCE_DIR} + + PRIVATE ${EXT_COMMON_SOURCE_DIR} + PRIVATE ${EXT_COMMON_INCLUDE_DIR} + + PUBLIC ${CAPNPROTOSDK_INCLUDE_DIRS} + + PRIVATE ${COMMON_SOURCE_DIR} + + PRIVATE ${PXSHAREDSDK_INCLUDE_DIRS} +) + +TARGET_COMPILE_DEFINITIONS(NvBlastExtTkSerialization + PUBLIC CAPNP_LITE=1 + PRIVATE ${BLASTEXTTKSERIALIZATION_COMPILE_DEFS} +) + +# Warning disables for Capn Proto +TARGET_COMPILE_OPTIONS(NvBlastExtTkSerialization + PRIVATE ${BLASTEXTTKSERIALIZATION_COMPILE_OPTIONS} +) + +SET_TARGET_PROPERTIES(NvBlastExtTkSerialization PROPERTIES + PDB_NAME_DEBUG "NvBlastExtTkSerialization${CMAKE_DEBUG_POSTFIX}" + PDB_NAME_CHECKED "NvBlastExtTkSerialization${CMAKE_CHECKED_POSTFIX}" + PDB_NAME_PROFILE "NvBlastExtTkSerialization${CMAKE_PROFILE_POSTFIX}" + PDB_NAME_RELEASE "NvBlastExtTkSerialization${CMAKE_RELEASE_POSTFIX}" +) + +# Do final direct sets after the target has been defined +TARGET_LINK_LIBRARIES(NvBlastExtTkSerialization + PRIVATE NvBlast NvBlastGlobals NvBlastTk ${CAPNPROTOSDK_LIBRARIES} +) + +#Hack for now to force these to build serialially to fix fighting over writing the generated code +ADD_DEPENDENCIES(NvBlastExtTkSerialization NvBlastExtSerialization)
\ No newline at end of file diff --git a/sdk/compiler/cmake/NvBlastGlobals.cmake b/sdk/compiler/cmake/NvBlastGlobals.cmake new file mode 100644 index 0000000..4f528df --- /dev/null +++ b/sdk/compiler/cmake/NvBlastGlobals.cmake @@ -0,0 +1,67 @@ +# +# Build NvBlastGlobals common +# + +SET(GLOBALS_DIR ${PROJECT_SOURCE_DIR}/globals) +SET(COMMON_SOURCE_DIR ${PROJECT_SOURCE_DIR}/common) + +# 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}/NvBlastGlobals.cmake OPTIONAL) + +SET(COMMON_FILES + ${COMMON_SOURCE_DIR}/NvBlastAssert.cpp + ${COMMON_SOURCE_DIR}/NvBlastAssert.h +) + +SET(SOURCE_FILES + ${GLOBALS_DIR}/source/NvBlastGlobals.cpp + ${GLOBALS_DIR}/source/NvBlastProfiler.cpp + ${GLOBALS_DIR}/source/NvBlastProfilerInternal.h +) + +SET(PUBLIC_FILES + ${GLOBALS_DIR}/include/NvBlastGlobals.h + ${GLOBALS_DIR}/include/NvBlastAllocator.h + ${GLOBALS_DIR}/include/NvBlastProfiler.h +) + +ADD_LIBRARY(NvBlastGlobals SHARED + ${COMMON_FILES} + ${SOURCE_FILES} + ${PUBLIC_FILES} +) + +SOURCE_GROUP("common" FILES ${COMMON_FILES}) +SOURCE_GROUP("source" FILES ${SOURCE_FILES}) +SOURCE_GROUP("public" FILES ${PUBLIC_FILES}) + +# Target specific compile options + +TARGET_INCLUDE_DIRECTORIES(NvBlastGlobals + PUBLIC ${GLOBALS_DIR}/include + PUBLIC ${GLOBALS_DIR}/source + PRIVATE ${COMMON_SOURCE_DIR} +) + +TARGET_COMPILE_DEFINITIONS(NvBlastGlobals + PRIVATE ${BLASTGLOBALS_COMPILE_DEFS} +) + +TARGET_COMPILE_OPTIONS(NvBlastGlobals + PRIVATE ${BLASTGLOBALS_PLATFORM_COMPILE_OPTIONS} +) + +SET_TARGET_PROPERTIES(NvBlastGlobals PROPERTIES + PDB_NAME_DEBUG "NvBlastGlobals${CMAKE_DEBUG_POSTFIX}" + PDB_NAME_CHECKED "NvBlastGlobals${CMAKE_CHECKED_POSTFIX}" + PDB_NAME_PROFILE "NvBlastGlobals${CMAKE_PROFILE_POSTFIX}" + PDB_NAME_RELEASE "NvBlastGlobals${CMAKE_RELEASE_POSTFIX}" +) + +# Do final direct sets after the target has been defined +TARGET_LINK_LIBRARIES(NvBlastGlobals + PRIVATE NvBlast + + PUBLIC ${BLASTGLOBALS_PLATFORM_LINKED_LIBS} +) + diff --git a/sdk/compiler/cmake/linux/NvBlastExtAssetUtils.cmake b/sdk/compiler/cmake/linux/NvBlastExtAssetUtils.cmake new file mode 100644 index 0000000..71ff1aa --- /dev/null +++ b/sdk/compiler/cmake/linux/NvBlastExtAssetUtils.cmake @@ -0,0 +1,27 @@ +# +# Build NvBlastExtAssetUtils Windows +# + +SET(BLASTEXTASSETUTILS_PLATFORM_COMMON_FILES +# No Linux counterpart +# ${COMMON_SOURCE_DIR}/NvBlastIncludeWindows.h +) + +SET(BLASTEXTASSETUTILS_PLATFORM_INCLUDES +) + +SET(BLASTEXTASSETUTILS_COMPILE_DEFS + # Common to all configurations + ${BLAST_SLN_COMPILE_DEFS};_CONSOLE; + + $<$<CONFIG:debug>:${BLAST_SLN_DEBUG_COMPILE_DEFS}> + $<$<CONFIG:checked>:${BLAST_SLN_CHECKED_COMPILE_DEFS}> + $<$<CONFIG:profile>:${BLAST_SLN_PROFILE_COMPILE_DEFS}> + $<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}> +) + +SET(BLASTEXTASSETUTILS_LIB_TYPE SHARED) + + +SET(BLASTEXTASSETUTILS_COMPILE_OPTIONS "") + diff --git a/sdk/compiler/cmake/linux/NvBlastExtPxSerialization.cmake b/sdk/compiler/cmake/linux/NvBlastExtPxSerialization.cmake new file mode 100644 index 0000000..8507ea2 --- /dev/null +++ b/sdk/compiler/cmake/linux/NvBlastExtPxSerialization.cmake @@ -0,0 +1,29 @@ +# +# Build NvBlastExtPxSerialization Linux +# + +SET(BLASTEXTPXSERIALIZATION_PLATFORM_COMMON_FILES +) + +SET(BLASTEXTPXSERIALIZATION_PLATFORM_INCLUDES +) + +SET(BLASTEXTPXSERIALIZATION_COMPILE_DEFS + # Common to all configurations + ${BLAST_SLN_COMPILE_DEFS}; + + $<$<CONFIG:debug>:${BLAST_SLN_DEBUG_COMPILE_DEFS}> + $<$<CONFIG:checked>:${BLAST_SLN_CHECKED_COMPILE_DEFS}> + $<$<CONFIG:profile>:${BLAST_SLN_PROFILE_COMPILE_DEFS}> + $<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}> +) + +SET(BLASTEXTPXSERIALIZATION_LIB_TYPE SHARED) + +IF (NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + SET(BLASTEXTPXSERIALIZATION_COMPILE_OPTIONS "-Wno-sign-compare") +ELSE() + SET(BLASTEXTPXSERIALIZATION_COMPILE_OPTIONS "-Wno-sign-compare" "-Wno-return-type-c-linkage" "-Wno-unused-parameter") +ENDIF() + + diff --git a/sdk/compiler/cmake/linux/NvBlastExtStress.cmake b/sdk/compiler/cmake/linux/NvBlastExtStress.cmake new file mode 100644 index 0000000..96fe6a0 --- /dev/null +++ b/sdk/compiler/cmake/linux/NvBlastExtStress.cmake @@ -0,0 +1,11 @@ +# +# Build NvBlast Linux +# + +SET(BLASTTK_LIBTYPE SHARED) + +IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + SET(BLASTEXTSTRESS_PLATFORM_COMPILE_OPTIONS "-Wno-return-type-c-linkage" "-pedantic") +ELSE() + SET(BLASTEXTSTRESS_PLATFORM_COMPILE_OPTIONS "-pedantic") +ENDIF() diff --git a/sdk/compiler/cmake/linux/NvBlastExtTkSerialization.cmake b/sdk/compiler/cmake/linux/NvBlastExtTkSerialization.cmake new file mode 100644 index 0000000..12ade81 --- /dev/null +++ b/sdk/compiler/cmake/linux/NvBlastExtTkSerialization.cmake @@ -0,0 +1,27 @@ +# +# Build NvBlastExtTkSerialization Linux +# + +SET(BLASTEXTTKSERIALIZATION_PLATFORM_COMMON_FILES +) + +SET(BLASTEXTTKSERIALIZATION_PLATFORM_INCLUDES +) + +SET(BLASTEXTTKSERIALIZATION_COMPILE_DEFS + # Common to all configurations + ${BLAST_SLN_COMPILE_DEFS}; + + $<$<CONFIG:debug>:${BLAST_SLN_DEBUG_COMPILE_DEFS}> + $<$<CONFIG:checked>:${BLAST_SLN_CHECKED_COMPILE_DEFS}> + $<$<CONFIG:profile>:${BLAST_SLN_PROFILE_COMPILE_DEFS}> + $<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}> +) + +SET(BLASTEXTTKSERIALIZATION_LIB_TYPE SHARED) + +IF (NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + SET(BLASTEXTTKSERIALIZATION_COMPILE_OPTIONS "-Wno-sign-compare") +ELSE() + SET(BLASTEXTTKSERIALIZATION_COMPILE_OPTIONS "-Wno-sign-compare" "-Wno-return-type-c-linkage" "-Wno-unused-parameter") +ENDIF() diff --git a/sdk/compiler/cmake/linux/NvBlastGlobals.cmake b/sdk/compiler/cmake/linux/NvBlastGlobals.cmake new file mode 100644 index 0000000..163d4b9 --- /dev/null +++ b/sdk/compiler/cmake/linux/NvBlastGlobals.cmake @@ -0,0 +1,15 @@ +# +# Build NvBlastGlobals Linux +# + +SET(BLASTGLOBALS_COMPILE_DEFS + # Common to all configurations + ${BLAST_SLN_COMPILE_DEFS}; + + $<$<CONFIG:debug>:${BLAST_SLN_DEBUG_COMPILE_DEFS}> + $<$<CONFIG:checked>:${BLAST_SLN_CHECKED_COMPILE_DEFS}> + $<$<CONFIG:profile>:${BLAST_SLN_PROFILE_COMPILE_DEFS}> + $<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}> +) + +SET(BLASTGLOBALS_PLATFORM_COMPILE_OPTIONS "-pedantic")
\ No newline at end of file diff --git a/sdk/compiler/cmake/modules/FindBoostMultiprecision.cmake b/sdk/compiler/cmake/modules/FindBoostMultiprecision.cmake new file mode 100644 index 0000000..84373ab --- /dev/null +++ b/sdk/compiler/cmake/modules/FindBoostMultiprecision.cmake @@ -0,0 +1,22 @@ +# - Try to find tinyObjLoader +# Once done this will define +# BOOSTMULTIPRECISION_FOUND - System has tinyObjLoader +# BOOSTMULTIPRECISION_INCLUDE_DIRS - The tinyObjLoader include directories + +INCLUDE(FindPackageHandleStandardArgs) + +#TODO: Proper version support +FIND_PATH( BOOSTMULTIPRECISION_PATH boost/multiprecision + PATHS + ${GW_DEPS_ROOT}/BoostMultiprecision/${BoostMultiprecision_FIND_VERSION} + ) + +MESSAGE("Boost Multiprecision Loader: " ${BOOSTMULTIPRECISION_PATH}) + +SET(BOOSTMULTIPRECISION_INCLUDE_DIRS + ${BOOSTMULTIPRECISION_PATH} +) + +FIND_PACKAGE_HANDLE_STANDARD_ARGS(BoostMultiprecision DEFAULT_MSG BOOSTMULTIPRECISION_INCLUDE_DIRS) + +mark_as_advanced(BOOSTMULTIPRECISION_INCLUDE_DIRS)
\ No newline at end of file diff --git a/sdk/compiler/cmake/windows/NvBlastExtAssetUtils.cmake b/sdk/compiler/cmake/windows/NvBlastExtAssetUtils.cmake new file mode 100644 index 0000000..77c51b4 --- /dev/null +++ b/sdk/compiler/cmake/windows/NvBlastExtAssetUtils.cmake @@ -0,0 +1,26 @@ +# +# Build NvBlastExtAssetUtils Windows +# + +SET(BLASTEXTASSETUTILS_PLATFORM_COMMON_FILES + ${COMMON_SOURCE_DIR}/NvBlastIncludeWindows.h +) + +SET(BLASTEXTASSETUTILS_PLATFORM_INCLUDES +) + +SET(BLASTEXTASSETUTILS_COMPILE_DEFS + # Common to all configurations + ${BLAST_SLN_COMPILE_DEFS};_CONSOLE; + + $<$<CONFIG:debug>:${BLAST_SLN_DEBUG_COMPILE_DEFS}> + $<$<CONFIG:checked>:${BLAST_SLN_CHECKED_COMPILE_DEFS}> + $<$<CONFIG:profile>:${BLAST_SLN_PROFILE_COMPILE_DEFS}> + $<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}> +) + +SET(BLASTEXTASSETUTILS_LIB_TYPE SHARED) + + +SET(BLASTEXTASSETUTILS_COMPILE_OPTIONS "/wd4100;/wd4239;/wd4244;/wd4245;/wd4267;/EHsc") + diff --git a/sdk/compiler/cmake/windows/NvBlastExtExporter.cmake b/sdk/compiler/cmake/windows/NvBlastExtExporter.cmake new file mode 100644 index 0000000..33f720d --- /dev/null +++ b/sdk/compiler/cmake/windows/NvBlastExtExporter.cmake @@ -0,0 +1,30 @@ +# +# Build NvBlastExt Windows +# + +SET(BLASTEXT_PLATFORM_COMMON_FILES + ${COMMON_SOURCE_DIR}/NvBlastIncludeWindows.h +) + +SET(BLASTEXT_PLATFORM_INCLUDES +) + +SET(BLASTEXT_COMPILE_DEFS + # Common to all configurations + ${BLAST_SLN_COMPILE_DEFS};_CONSOLE; + + $<$<CONFIG:debug>:${BLAST_SLN_DEBUG_COMPILE_DEFS}> + $<$<CONFIG:checked>:${BLAST_SLN_CHECKED_COMPILE_DEFS}> + $<$<CONFIG:profile>:${BLAST_SLN_PROFILE_COMPILE_DEFS}> + $<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}> +) + +SET(BLAST_EXT_SHARED_LIB_TYPE SHARED) + +SET(BLASTEXT_PLATFORM_COMPILE_OPTIONS "/wd4100;/wd4239;/wd4244;/wd4245;/wd4267;/EHsc") + +#VS2013 has a unreacable code warning in the STL (xtree) +IF(MSVC_VERSION LESS 1900) + SET(BLASTEXT_PLATFORM_COMPILE_OPTIONS "${BLASTEXT_PLATFORM_COMPILE_OPTIONS};/wd4702") +ENDIF() + diff --git a/sdk/compiler/cmake/windows/NvBlastExtPxSerialization.cmake b/sdk/compiler/cmake/windows/NvBlastExtPxSerialization.cmake new file mode 100644 index 0000000..4ea6ea9 --- /dev/null +++ b/sdk/compiler/cmake/windows/NvBlastExtPxSerialization.cmake @@ -0,0 +1,26 @@ +# +# Build NvBlastPxExtSerialization Windows +# + +SET(BLASTEXTPXSERIALIZATION_PLATFORM_COMMON_FILES + ${COMMON_SOURCE_DIR}/NvBlastIncludeWindows.h +) + +SET(BLASTEXTPXSERIALIZATION_PLATFORM_INCLUDES +) + +SET(BLASTEXTPXSERIALIZATION_COMPILE_DEFS + # Common to all configurations + ${BLAST_SLN_COMPILE_DEFS};_CONSOLE; + + $<$<CONFIG:debug>:${BLAST_SLN_DEBUG_COMPILE_DEFS}> + $<$<CONFIG:checked>:${BLAST_SLN_CHECKED_COMPILE_DEFS}> + $<$<CONFIG:profile>:${BLAST_SLN_PROFILE_COMPILE_DEFS}> + $<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}> +) + +SET(BLASTEXTPXSERIALIZATION_LIB_TYPE SHARED) + + +SET(BLASTEXTPXSERIALIZATION_COMPILE_OPTIONS "/wd4100;/wd4239;/wd4244;/wd4245;/wd4267;/wd4702;/wd4800;/wd4541;/wd4189;/wd4714;/wd4018;/wd4456;/wd4091;/wd4127;/EHsc") + diff --git a/sdk/compiler/cmake/windows/NvBlastExtTkSerialization.cmake b/sdk/compiler/cmake/windows/NvBlastExtTkSerialization.cmake new file mode 100644 index 0000000..bdd2ebe --- /dev/null +++ b/sdk/compiler/cmake/windows/NvBlastExtTkSerialization.cmake @@ -0,0 +1,26 @@ +# +# Build NvBlastTkExtSerialization Windows +# + +SET(BLASTEXTTKSERIALIZATION_PLATFORM_COMMON_FILES + ${COMMON_SOURCE_DIR}/NvBlastIncludeWindows.h +) + +SET(BLASTEXTTKSERIALIZATION_PLATFORM_INCLUDES +) + +SET(BLASTEXTTKSERIALIZATION_COMPILE_DEFS + # Common to all configurations + ${BLAST_SLN_COMPILE_DEFS};_CONSOLE; + + $<$<CONFIG:debug>:${BLAST_SLN_DEBUG_COMPILE_DEFS}> + $<$<CONFIG:checked>:${BLAST_SLN_CHECKED_COMPILE_DEFS}> + $<$<CONFIG:profile>:${BLAST_SLN_PROFILE_COMPILE_DEFS}> + $<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}> +) + +SET(BLASTEXTTKSERIALIZATION_LIB_TYPE SHARED) + + +SET(BLASTEXTTKSERIALIZATION_COMPILE_OPTIONS "/wd4100;/wd4239;/wd4244;/wd4245;/wd4267;/wd4702;/wd4800;/wd4541;/wd4189;/wd4714;/wd4018;/wd4456;/wd4091;/wd4127;/EHsc") + diff --git a/sdk/compiler/cmake/windows/NvBlastGlobals.cmake b/sdk/compiler/cmake/windows/NvBlastGlobals.cmake new file mode 100644 index 0000000..106c9aa --- /dev/null +++ b/sdk/compiler/cmake/windows/NvBlastGlobals.cmake @@ -0,0 +1,13 @@ +# +# Build NvBlastGlobals Windows +# + +SET(BLASTGLOBALS_COMPILE_DEFS + # Common to all configurations + ${BLAST_SLN_COMPILE_DEFS};_CONSOLE + + $<$<CONFIG:debug>:${BLAST_SLN_DEBUG_COMPILE_DEFS}> + $<$<CONFIG:checked>:${BLAST_SLN_CHECKED_COMPILE_DEFS}> + $<$<CONFIG:profile>:${BLAST_SLN_PROFILE_COMPILE_DEFS}> + $<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}> +) |