aboutsummaryrefslogtreecommitdiff
path: root/test/compiler/cmake/BlastUnitTests.cmake
diff options
context:
space:
mode:
authorBryan Galdrikian <[email protected]>2017-02-24 09:32:20 -0800
committerBryan Galdrikian <[email protected]>2017-02-24 09:32:20 -0800
commite1bf674c16e3c8472b29574159c789cd3f0c64e0 (patch)
tree9f0cfce09c71a2c27ff19589fcad6cd83504477c /test/compiler/cmake/BlastUnitTests.cmake
parentfirst commit (diff)
downloadblast-e1bf674c16e3c8472b29574159c789cd3f0c64e0.tar.xz
blast-e1bf674c16e3c8472b29574159c789cd3f0c64e0.zip
Updating to [email protected] and [email protected] with a new directory structure.
NvBlast folder is gone, files have been moved to top level directory. README is changed to reflect this.
Diffstat (limited to 'test/compiler/cmake/BlastUnitTests.cmake')
-rw-r--r--test/compiler/cmake/BlastUnitTests.cmake167
1 files changed, 167 insertions, 0 deletions
diff --git a/test/compiler/cmake/BlastUnitTests.cmake b/test/compiler/cmake/BlastUnitTests.cmake
new file mode 100644
index 0000000..4e09bfb
--- /dev/null
+++ b/test/compiler/cmake/BlastUnitTests.cmake
@@ -0,0 +1,167 @@
+#
+# Build BlastUnitTests Common
+#
+
+
+SET(TEST_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src)
+SET(UNITTEST_SOURCE_DIR ${TEST_SOURCE_DIR}/unit)
+SET(UTILS_SOURCE_DIR ${TEST_SOURCE_DIR}/utils)
+SET(SHAREDUTILS_SOURCE_DIR ${BLAST_ROOT_DIR}/shared/utils)
+
+SET(COMMON_SOURCE_DIR ${BLAST_ROOT_DIR}/sdk/common)
+SET(SOLVER_SOURCE_DIR ${BLAST_ROOT_DIR}/sdk/lowlevel/source)
+
+
+
+FIND_PACKAGE(PxSharedSDK $ENV{PM_PxSharedSDK_VERSION} REQUIRED)
+FIND_PACKAGE(PhysXSDK $ENV{PM_PhysXSDK_VERSION} REQUIRED)
+FIND_PACKAGE(GoogleTestNV $ENV{PM_googletest_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}/BlastUnitTests.cmake)
+
+SET(UNITTEST_SOURCE_FILES
+ ${UNITTEST_SOURCE_DIR}/AssetTests.cpp
+ ${UNITTEST_SOURCE_DIR}/ActorTests.cpp
+ ${UNITTEST_SOURCE_DIR}/APITests.cpp
+ ${UNITTEST_SOURCE_DIR}/CoreTests.cpp
+ ${UNITTEST_SOURCE_DIR}/FamilyGraphTests.cpp
+ ${UNITTEST_SOURCE_DIR}/MultithreadingTests.cpp
+ ${UNITTEST_SOURCE_DIR}/SyncTests.cpp
+ ${UNITTEST_SOURCE_DIR}/TkCompositeTests.cpp
+ ${UNITTEST_SOURCE_DIR}/TkTests.cpp
+)
+
+SET(COMMON_SOURCE_FILES
+ ${BLASTUNITTESTS_PLATFORM_COMMON_FILES}
+
+ ${TEST_SOURCE_DIR}/BlastBaseTest.h
+ ${TEST_SOURCE_DIR}/TkBaseTest.h
+)
+
+SET(SDK_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(SDK_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}/NvBlastAsset.h
+ ${SOLVER_SOURCE_DIR}/NvBlastSupportGraph.h
+ ${SOLVER_SOURCE_DIR}/NvBlastChunkHierarchy.h
+ ${SOLVER_SOURCE_DIR}/NvBlastFamily.cpp
+ ${SOLVER_SOURCE_DIR}/NvBlastFamily.h
+)
+
+SET(UTILS_SOURCE_FILES
+ ${SHAREDUTILS_SOURCE_DIR}/AssetGenerator.cpp
+ ${SHAREDUTILS_SOURCE_DIR}/AssetGenerator.h
+
+ ${UTILS_SOURCE_DIR}/TaskDispatcher.h
+ ${UTILS_SOURCE_DIR}/TestAssets.cpp
+ ${UTILS_SOURCE_DIR}/TestAssets.h
+ ${UTILS_SOURCE_DIR}/TestProfiler.h
+)
+
+
+
+ADD_EXECUTABLE(BlastUnitTests
+ ${COMMON_SOURCE_FILES}
+ ${UTILS_SOURCE_FILES}
+ ${UNITTEST_SOURCE_FILES}
+
+ ${SDK_COMMON_FILES}
+ ${SDK_SOLVER_FILES}
+)
+
+set_target_properties(BlastUnitTests
+ PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}
+ CHECKED_POSTFIX ${CMAKE_CHECKED_POSTFIX}
+# RELEASE_POSTFIX ${CMAKE_RELEASE_POSTFIX}
+ PROFILE_POSTFIX ${CMAKE_PROFILE_POSTFIX}
+)
+
+
+SOURCE_GROUP("Common" FILES ${COMMON_SOURCE_FILES})
+SOURCE_GROUP("Source" FILES ${UNITTEST_SOURCE_FILES})
+SOURCE_GROUP("Utils" FILES ${UTILS_SOURCE_FILES})
+SOURCE_GROUP("Sdk\\common" FILES ${SDK_COMMON_FILES})
+SOURCE_GROUP("Sdk\\solver" FILES ${SDK_SOLVER_FILES})
+
+
+# Target specific compile options
+
+TARGET_INCLUDE_DIRECTORIES(BlastUnitTests
+ PRIVATE ${BLASTUNITTESTS_PLATFORM_INCLUDES}
+
+ PRIVATE ${TEST_SOURCE_DIR}
+ PRIVATE ${UTILS_SOURCE_DIR}
+
+ PRIVATE ${BLAST_ROOT_DIR}/sdk/common
+ PRIVATE ${BLAST_ROOT_DIR}/sdk/profiler
+ PRIVATE ${BLAST_ROOT_DIR}/sdk/lowlevel/include
+ PRIVATE ${BLAST_ROOT_DIR}/sdk/lowlevel/source
+ PRIVATE ${BLAST_ROOT_DIR}/sdk/extensions/serialization/source
+ PRIVATE ${BLAST_ROOT_DIR}/sdk/extensions/serialization/include
+ PRIVATE ${BLAST_ROOT_DIR}/shared/utils
+
+ PRIVATE ${PXSHAREDSDK_INCLUDE_DIRS}
+ PRIVATE ${GOOGLETEST_INCLUDE_DIRS}
+
+)
+
+TARGET_COMPILE_DEFINITIONS(BlastUnitTests
+ PRIVATE ${BLASTUNITTESTS_COMPILE_DEFS}
+)
+
+SET_TARGET_PROPERTIES(BlastUnitTests PROPERTIES
+ COMPILE_PDB_NAME_DEBUG "BlastUnitTests${CMAKE_DEBUG_POSTFIX}"
+ COMPILE_PDB_NAME_CHECKED "BlastUnitTests${CMAKE_CHECKED_POSTFIX}"
+ COMPILE_PDB_NAME_PROFILE "BlastUnitTests${CMAKE_PROFILE_POSTFIX}"
+ COMPILE_PDB_NAME_RELEASE "BlastUnitTests${CMAKE_RELEASE_POSTFIX}"
+)
+
+#TARGET_COMPILE_OPTIONS(BlastUnitTests PRIVATE /wd4005 /wd4244)
+
+MESSAGE("UnitTests LL: ${BLASTUNITTESTS_PLATFORM_LINKED_LIBS}")
+
+# Do final direct sets after the target has been defined
+TARGET_LINK_LIBRARIES(BlastUnitTests
+
+ PRIVATE NvBlastExtShaders NvBlastExtPhysX NvBlastTk ${GOOGLETEST_LIBRARIES}
+ PRIVATE ${BLASTUNITTESTS_PLATFORM_LINKED_LIBS}
+
+ PUBLIC $<$<CONFIG:debug>:${PXFOUNDATION_LIB_DEBUG}> $<$<CONFIG:debug>:${PXTASK_LIB_DEBUG}>
+ PUBLIC $<$<CONFIG:checked>:${PXFOUNDATION_LIB_CHECKED}> $<$<CONFIG:checked>:${PXTASK_LIB_CHECKED}>
+ PUBLIC $<$<CONFIG:profile>:${PXFOUNDATION_LIB_PROFILE}> $<$<CONFIG:profile>:${PXTASK_LIB_PROFILE}>
+ PUBLIC $<$<CONFIG:release>:${PXFOUNDATION_LIB}> $<$<CONFIG:release>:${PXTASK_LIB}>
+
+)
+
+# This is ugly, but have to include this after the target is defined
+# This will be used for stuff like POST_BUILD commands that are platform specific
+include(${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/BlastUnitTests-AT.cmake OPTIONAL)
+