diff options
Diffstat (limited to 'NvBlast/sdk/compiler/cmake/NvBlastTk.cmake')
| -rw-r--r-- | NvBlast/sdk/compiler/cmake/NvBlastTk.cmake | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/NvBlast/sdk/compiler/cmake/NvBlastTk.cmake b/NvBlast/sdk/compiler/cmake/NvBlastTk.cmake new file mode 100644 index 0000000..be9e04a --- /dev/null +++ b/NvBlast/sdk/compiler/cmake/NvBlastTk.cmake @@ -0,0 +1,126 @@ +# +# Build NvBlastTk common +# + +SET(TOOLKIT_DIR ${PROJECT_SOURCE_DIR}/toolkit) +SET(PROFILER_SOURCE_DIR ${PROJECT_SOURCE_DIR}/profiler) +SET(COMMON_SOURCE_DIR ${PROJECT_SOURCE_DIR}/common) + +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}/NvBlastTk.cmake) + +SET(COMMON_FILES + ${BLASTTK_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(PROFILER_FILES + ${PROFILER_SOURCE_DIR}/NvBlastProfiler.cpp + ${PROFILER_SOURCE_DIR}/NvBlastProfilerInternal.h +) + +SET(PUBLIC_FILES + ${TOOLKIT_DIR}/include/NvBlastTk.h + ${TOOLKIT_DIR}/include/NvBlastTkActor.h + ${TOOLKIT_DIR}/include/NvBlastTkAsset.h + ${TOOLKIT_DIR}/include/NvBlastTkEvent.h + ${TOOLKIT_DIR}/include/NvBlastTkFamily.h + ${TOOLKIT_DIR}/include/NvBlastTkFramework.h + ${TOOLKIT_DIR}/include/NvBlastTkGroup.h + ${TOOLKIT_DIR}/include/NvBlastTkIdentifiable.h + ${TOOLKIT_DIR}/include/NvBlastTkJoint.h + ${TOOLKIT_DIR}/include/NvBlastTkObject.h + ${TOOLKIT_DIR}/include/NvBlastTkSerializable.h + ${TOOLKIT_DIR}/include/NvBlastTkType.h +) + +SET(TOOLKIT_FILES + ${TOOLKIT_DIR}/source/NvBlastTkActorImpl.cpp + ${TOOLKIT_DIR}/source/NvBlastTkActorImpl.h + ${TOOLKIT_DIR}/source/NvBlastTkAllocator.cpp + ${TOOLKIT_DIR}/source/NvBlastTkAllocator.h + ${TOOLKIT_DIR}/source/NvBlastTkArray.h + ${TOOLKIT_DIR}/source/NvBlastTkAssetImpl.cpp + ${TOOLKIT_DIR}/source/NvBlastTkAssetImpl.h + ${TOOLKIT_DIR}/source/NvBlastTkCommon.h + ${TOOLKIT_DIR}/source/NvBlastTkEventQueue.h + ${TOOLKIT_DIR}/source/NvBlastTkFamilyImpl.cpp + ${TOOLKIT_DIR}/source/NvBlastTkFamilyImpl.h + ${TOOLKIT_DIR}/source/NvBlastTkFrameworkImpl.cpp + ${TOOLKIT_DIR}/source/NvBlastTkFrameworkImpl.h + ${TOOLKIT_DIR}/source/NvBlastTkGroupImpl.cpp + ${TOOLKIT_DIR}/source/NvBlastTkGroupImpl.h + ${TOOLKIT_DIR}/source/NvBlastTkGUID.h + ${TOOLKIT_DIR}/source/NvBlastTkHashMap.h + ${TOOLKIT_DIR}/source/NvBlastTkHashSet.h + ${TOOLKIT_DIR}/source/NvBlastTkJointImpl.cpp + ${TOOLKIT_DIR}/source/NvBlastTkJointImpl.h + ${TOOLKIT_DIR}/source/NvBlastTkTaskImpl.cpp + ${TOOLKIT_DIR}/source/NvBlastTkTaskImpl.h + ${TOOLKIT_DIR}/source/NvBlastTkTypeImpl.h +) + +ADD_LIBRARY(NvBlastTk ${BLASTTK_LIBTYPE} + ${COMMON_FILES} + ${PROFILER_FILES} + ${PUBLIC_FILES} + ${TOOLKIT_FILES} +) + +SOURCE_GROUP("common" FILES ${COMMON_FILES}) +SOURCE_GROUP("profiler" FILES ${PROFILER_FILES}) +SOURCE_GROUP("public" FILES ${PUBLIC_FILES}) +SOURCE_GROUP("toolkit" FILES ${TOOLKIT_FILES}) + +# Target specific compile options + +TARGET_INCLUDE_DIRECTORIES(NvBlastTk + PRIVATE ${BLASTTK_PLATFORM_INCLUDES} + + PRIVATE ${PROJECT_SOURCE_DIR}/common + PRIVATE ${PROJECT_SOURCE_DIR}/profiler + PUBLIC ${PROJECT_SOURCE_DIR}/lowlevel/include + PUBLIC ${PROJECT_SOURCE_DIR}/toolkit/include + + PRIVATE ${PXSHAREDSDK_INCLUDE_DIRS} +) + +TARGET_COMPILE_DEFINITIONS(NvBlastTk + PRIVATE ${BLASTTK_COMPILE_DEFS} +) + +SET_TARGET_PROPERTIES(NvBlastTk PROPERTIES + PDB_NAME_DEBUG "NvBlastTk${CMAKE_DEBUG_POSTFIX}" + PDB_NAME_CHECKED "NvBlastTk${CMAKE_CHECKED_POSTFIX}" + PDB_NAME_PROFILE "NvBlastTk${CMAKE_PROFILE_POSTFIX}" + PDB_NAME_RELEASE "NvBlastTk${CMAKE_RELEASE_POSTFIX}" +) + +# Do final direct sets after the target has been defined +TARGET_LINK_LIBRARIES(NvBlastTk + PRIVATE NvBlast + + PUBLIC ${BLASTTK_PLATFORM_LINKED_LIBS} +) + |