aboutsummaryrefslogtreecommitdiff
path: root/test/compiler
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
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')
-rw-r--r--test/compiler/cmake/BlastPerfTests.cmake144
-rw-r--r--test/compiler/cmake/BlastUnitTests.cmake167
-rw-r--r--test/compiler/cmake/windows/BlastPerfTests-AT.cmake7
-rw-r--r--test/compiler/cmake/windows/BlastPerfTests.cmake31
-rw-r--r--test/compiler/cmake/windows/BlastUnitTests-AT.cmake9
-rw-r--r--test/compiler/cmake/windows/BlastUnitTests.cmake40
-rw-r--r--test/compiler/cmake/windows/CMakeLists.txt52
7 files changed, 450 insertions, 0 deletions
diff --git a/test/compiler/cmake/BlastPerfTests.cmake b/test/compiler/cmake/BlastPerfTests.cmake
new file mode 100644
index 0000000..885b0f7
--- /dev/null
+++ b/test/compiler/cmake/BlastPerfTests.cmake
@@ -0,0 +1,144 @@
+#
+# Build BlastPerfTests Common
+#
+
+
+SET(TEST_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src)
+SET(PERF_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src/perf)
+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(GoogleTestNV $ENV{PM_GoogleTest-nv_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}/BlastPerfTests.cmake)
+
+SET(PERF_SOURCE_FILES
+ ${BLASTPERFTESTS_PLATFORM_COMMON_FILES}
+
+ ${PERF_SOURCE_DIR}/BlastBasePerfTest.h
+ ${PERF_SOURCE_DIR}/SolverPerfTests.cpp
+)
+
+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(BlastPerfTests
+ ${PERF_SOURCE_FILES}
+ ${UTILS_SOURCE_FILES}
+
+ ${SDK_COMMON_FILES}
+ ${SDK_SOLVER_FILES}
+)
+
+set_target_properties(BlastPerfTests
+ PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}
+ CHECKED_POSTFIX ${CMAKE_CHECKED_POSTFIX}
+# RELEASE_POSTFIX ${CMAKE_RELEASE_POSTFIX}
+ PROFILE_POSTFIX ${CMAKE_PROFILE_POSTFIX}
+)
+
+
+SOURCE_GROUP("Source" FILES ${PERF_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(BlastPerfTests
+ PRIVATE ${BLASTPERFTESTS_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}/shared/utils
+
+ PRIVATE ${PXSHAREDSDK_INCLUDE_DIRS}
+ PRIVATE ${GOOGLETEST_INCLUDE_DIRS}
+
+)
+
+TARGET_COMPILE_DEFINITIONS(BlastPerfTests
+ PRIVATE ${BLASTPERFTESTS_COMPILE_DEFS}
+)
+
+SET_TARGET_PROPERTIES(BlastPerfTests PROPERTIES
+ COMPILE_PDB_NAME_DEBUG "BlastPerfTests${CMAKE_DEBUG_POSTFIX}"
+ COMPILE_PDB_NAME_CHECKED "BlastPerfTests${CMAKE_CHECKED_POSTFIX}"
+ COMPILE_PDB_NAME_PROFILE "BlastPerfTests${CMAKE_PROFILE_POSTFIX}"
+ COMPILE_PDB_NAME_RELEASE "BlastPerfTests${CMAKE_RELEASE_POSTFIX}"
+)
+
+#TARGET_COMPILE_OPTIONS(BlastPerfTests PRIVATE /wd4005 /wd4244)
+
+
+TARGET_LINK_LIBRARIES(BlastPerfTests
+
+ PRIVATE NvBlastExtShaders NvBlastTk ${GOOGLETEST_LIBRARIES}
+ PRIVATE ${BLASTPERFTESTS_PLATFORM_LINKED_LIBS}
+)
+
+# 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}/BlastPerfTests-AT.cmake OPTIONAL)
+
+
+
+
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)
+
diff --git a/test/compiler/cmake/windows/BlastPerfTests-AT.cmake b/test/compiler/cmake/windows/BlastPerfTests-AT.cmake
new file mode 100644
index 0000000..d1f39d6
--- /dev/null
+++ b/test/compiler/cmake/windows/BlastPerfTests-AT.cmake
@@ -0,0 +1,7 @@
+# Copy the dlls from the deps
+
+ADD_CUSTOM_COMMAND(TARGET BlastPerfTests POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ ${PXSHAREDSDK_DLLS}
+ ${BL_EXE_OUTPUT_DIR}
+)
diff --git a/test/compiler/cmake/windows/BlastPerfTests.cmake b/test/compiler/cmake/windows/BlastPerfTests.cmake
new file mode 100644
index 0000000..fe1de27
--- /dev/null
+++ b/test/compiler/cmake/windows/BlastPerfTests.cmake
@@ -0,0 +1,31 @@
+#
+# Build BlastPerfTests Windows
+#
+
+FIND_PACKAGE(nvToolsExt $ENV{PM_nvToolsExt_VERSION} REQUIRED)
+
+SET(BLASTPERFTESTS_PLATFORM_COMMON_FILES
+)
+
+SET(BLASTPERFTESTS_PLATFORM_INCLUDES
+ PRIVATE ${NVTOOLSEXT_INCLUDE_DIRS}
+)
+
+SET(BLASTPERFTESTS_COMPILE_DEFS
+ # Common to all configurations
+ ${BLASTTESTS_SLN_COMPILE_DEFS}
+
+ $<$<CONFIG:debug>:${BLASTTESTS_SLN_DEBUG_COMPILE_DEFS}>
+ $<$<CONFIG:checked>:${BLASTTESTS_SLN_CHECKED_COMPILE_DEFS}>
+ $<$<CONFIG:profile>:${BLASTTESTS_SLN_PROFILE_COMPILE_DEFS}>
+ $<$<CONFIG:release>:${BLASTTESTS_SLN_RELEASE_COMPILE_DEFS}>
+)
+
+SET(BLASTPERFTESTS_PLATFORM_LINKED_LIBS
+ ${NVTOOLSEXT_LIB}
+)
+
+
+SET(BLASTPERFTESTS_PLATFORM_LINKED_LIBS $<$<OR:$<CONFIG:debug>,$<CONFIG:checked>,$<CONFIG:profile>>:${NVTOOLSEXT_LIB}>)
+
+
diff --git a/test/compiler/cmake/windows/BlastUnitTests-AT.cmake b/test/compiler/cmake/windows/BlastUnitTests-AT.cmake
new file mode 100644
index 0000000..6b47219
--- /dev/null
+++ b/test/compiler/cmake/windows/BlastUnitTests-AT.cmake
@@ -0,0 +1,9 @@
+# Copy the dlls from the deps
+
+ADD_CUSTOM_COMMAND(TARGET BlastUnitTests POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ ${PXSHAREDSDK_DLLS}
+ ${PHYSXSDK_DLLS}
+ ${NVTOOLSEXT_DLL}
+ $<TARGET_FILE_DIR:BlastUnitTests>
+ )
diff --git a/test/compiler/cmake/windows/BlastUnitTests.cmake b/test/compiler/cmake/windows/BlastUnitTests.cmake
new file mode 100644
index 0000000..9397652
--- /dev/null
+++ b/test/compiler/cmake/windows/BlastUnitTests.cmake
@@ -0,0 +1,40 @@
+#
+# Build BlastUnitTests Windows
+#
+
+FIND_PACKAGE(nvToolsExt $ENV{PM_nvToolsExt_VERSION} REQUIRED)
+
+SET(BLASTUNITTESTS_PLATFORM_COMMON_FILES
+)
+
+SET(BLASTUNITTESTS_PLATFORM_INCLUDES
+ PRIVATE ${NVTOOLSEXT_INCLUDE_DIRS}
+)
+
+SET(BLASTUNITTESTS_COMPILE_DEFS
+ # Common to all configurations
+ ${BLASTTESTS_SLN_COMPILE_DEFS}
+
+ $<$<CONFIG:debug>:${BLASTTESTS_SLN_DEBUG_COMPILE_DEFS}>
+ $<$<CONFIG:checked>:${BLASTTESTS_SLN_CHECKED_COMPILE_DEFS}>
+ $<$<CONFIG:profile>:${BLASTTESTS_SLN_PROFILE_COMPILE_DEFS}>
+ $<$<CONFIG:release>:${BLASTTESTS_SLN_RELEASE_COMPILE_DEFS}>
+)
+
+
+if(SERIALIZATION_INCLUDED)
+ MESSAGE("Serialization included")
+ SET(BLASTUNITTESTS_PLATFORM_LINKED_LIBS
+ NvBlastExtSerialization
+ ${NVTOOLSEXT_LIB}
+ )
+else()
+ MESSAGE("Serialization NOT NOT NOT included")
+ SET(BLASTUNITTESTS_PLATFORM_LINKED_LIBS
+ ${NVTOOLSEXT_LIB}
+ )
+endif()
+
+
+#TARGET_LINK_LIBRARIES(NvBlast PUBLIC ${NVTOOLSEXT_LIBRARIES})
+#SET_TARGET_PROPERTIES(NvBlast PROPERTIES LINK_FLAGS "/MAP" )
diff --git a/test/compiler/cmake/windows/CMakeLists.txt b/test/compiler/cmake/windows/CMakeLists.txt
new file mode 100644
index 0000000..635927b
--- /dev/null
+++ b/test/compiler/cmake/windows/CMakeLists.txt
@@ -0,0 +1,52 @@
+#Platform specific compile flags and project includes
+
+#NOTE: Warnings lowered on the sample projects as it's got a lot of warnings. Defines below hide more.
+SET(CMAKE_CXX_FLAGS "/GR- /GF /MP /Gy /EHsc /d2Zi+ /errorReport:prompt /fp:fast /Gd /Gm- /GS- /nologo /W3 /WX /Zc:forScope /Zc:inline /Zc:wchar_t /Zi")
+
+# Are we using the static or dynamic RT library? Whatever we use, it needs to be the same in any dependencies
+# we pull in or we're potentially having mismatch issues.
+IF(STATIC_WINCRT)
+ SET(WINCRT_NDEBUG "/MT")
+ SET(WINCRT_DEBUG "/MTd")
+ELSE()
+ SET(WINCRT_NDEBUG "/MD")
+ SET(WINCRT_DEBUG "/MDd")
+ENDIF()
+
+SET(CMAKE_CXX_FLAGS_DEBUG "/Od /RTCsu ${WINCRT_DEBUG}")
+SET(CMAKE_CXX_FLAGS_CHECKED "/Ox ${WINCRT_NDEBUG}")
+SET(CMAKE_CXX_FLAGS_PROFILE "/Ox ${WINCRT_NDEBUG}")
+SET(CMAKE_CXX_FLAGS_RELEASE "/Ox ${WINCRT_NDEBUG}")
+
+# Build PDBs for all configurations
+SET(CMAKE_SHARED_LINKER_FLAGS "/DEBUG")
+
+IF(CMAKE_CL_64)
+ ADD_DEFINITIONS(-DWIN64)
+ENDIF(CMAKE_CL_64)
+
+
+SET(BLASTTESTS_SLN_COMPILE_DEFS WIN32;WIN64;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;)
+
+SET(BLASTTESTS_SLN_DEBUG_COMPILE_DEFS _DEBUG;NV_DEBUG=1;NV_NVTX=1;)
+SET(BLASTTESTS_SLN_CHECKED_COMPILE_DEFS NDEBUG;NV_CHECKED=1;NV_NVTX=1;)
+SET(BLASTTESTS_SLN_PROFILE_COMPILE_DEFS NDEBUG;NV_PROFILE=1;NV_NVTX=1;)
+SET(BLASTTESTS_SLN_RELEASE_COMPILE_DEFS NDEBUG;NV_NVTX=1;)
+
+IF(CMAKE_CL_64)
+ SET(LIBPATH_SUFFIX "x64")
+ELSE(CMAKE_CL_64)
+ SET(LIBPATH_SUFFIX "x86")
+ENDIF(CMAKE_CL_64)
+
+SET(CMAKE_DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}_${LIBPATH_SUFFIX}")
+SET(CMAKE_PROFILE_POSTFIX "${CMAKE_PROFILE_POSTFIX}_${LIBPATH_SUFFIX}")
+SET(CMAKE_CHECKED_POSTFIX "${CMAKE_CHECKED_POSTFIX}_${LIBPATH_SUFFIX}")
+SET(CMAKE_RELEASE_POSTFIX "${CMAKE_RELEASE_POSTFIX}_${LIBPATH_SUFFIX}")
+
+
+# Include all of the projects
+INCLUDE(${PROJECT_CMAKE_FILES_DIR}/BlastUnitTests.cmake)
+INCLUDE(${PROJECT_CMAKE_FILES_DIR}/BlastPerfTests.cmake)
+
+