diff options
| author | Bryan Galdrikian <[email protected]> | 2017-02-24 09:32:20 -0800 |
|---|---|---|
| committer | Bryan Galdrikian <[email protected]> | 2017-02-24 09:32:20 -0800 |
| commit | e1bf674c16e3c8472b29574159c789cd3f0c64e0 (patch) | |
| tree | 9f0cfce09c71a2c27ff19589fcad6cd83504477c /test/compiler | |
| parent | first commit (diff) | |
| download | blast-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.cmake | 144 | ||||
| -rw-r--r-- | test/compiler/cmake/BlastUnitTests.cmake | 167 | ||||
| -rw-r--r-- | test/compiler/cmake/windows/BlastPerfTests-AT.cmake | 7 | ||||
| -rw-r--r-- | test/compiler/cmake/windows/BlastPerfTests.cmake | 31 | ||||
| -rw-r--r-- | test/compiler/cmake/windows/BlastUnitTests-AT.cmake | 9 | ||||
| -rw-r--r-- | test/compiler/cmake/windows/BlastUnitTests.cmake | 40 | ||||
| -rw-r--r-- | test/compiler/cmake/windows/CMakeLists.txt | 52 |
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) + + |