aboutsummaryrefslogtreecommitdiff
path: root/sdk/compiler/cmake/windows
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 /sdk/compiler/cmake/windows
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 'sdk/compiler/cmake/windows')
-rw-r--r--sdk/compiler/cmake/windows/CMakeLists.txt67
-rw-r--r--sdk/compiler/cmake/windows/NvBlast.cmake22
-rw-r--r--sdk/compiler/cmake/windows/NvBlastExtAuthoring.cmake24
-rw-r--r--sdk/compiler/cmake/windows/NvBlastExtConverterLL.cmake24
-rw-r--r--sdk/compiler/cmake/windows/NvBlastExtImport.cmake24
-rw-r--r--sdk/compiler/cmake/windows/NvBlastExtPhysX.cmake24
-rw-r--r--sdk/compiler/cmake/windows/NvBlastExtSerialization.cmake26
-rw-r--r--sdk/compiler/cmake/windows/NvBlastExtSerializationLL.cmake26
-rw-r--r--sdk/compiler/cmake/windows/NvBlastExtShaders.cmake24
-rw-r--r--sdk/compiler/cmake/windows/NvBlastTk.cmake27
10 files changed, 288 insertions, 0 deletions
diff --git a/sdk/compiler/cmake/windows/CMakeLists.txt b/sdk/compiler/cmake/windows/CMakeLists.txt
new file mode 100644
index 0000000..ac8b186
--- /dev/null
+++ b/sdk/compiler/cmake/windows/CMakeLists.txt
@@ -0,0 +1,67 @@
+#Platform specific compile flags and project includes
+
+SET(CMAKE_CXX_FLAGS "/GR- /GF /MP /Gy /d2Zi+ /errorReport:prompt /fp:fast /Gd /Gm- /GS- /nologo /W4 /WX /Zc:forScope /Zc:inline /Zc:wchar_t /Zi")
+
+OPTION(STATIC_WINCRT "Use static WinCRT" OFF)
+
+# 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}")
+
+MESSAGE("STATIC OR DYN: ${WINCRT_DEBUG}")
+
+# Build PDBs for all configurations
+SET(CMAKE_SHARED_LINKER_FLAGS "/DEBUG")
+
+IF(CMAKE_CL_64)
+ ADD_DEFINITIONS(-DWIN64)
+ENDIF(CMAKE_CL_64)
+
+SET(BLAST_SLN_COMPILE_DEFS _HAS_EXCEPTIONS=0;WIN32;WIN64;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;)
+#NvBlastExt doesn't have the _CONSOLE flag
+
+SET(BLAST_SLN_DEBUG_COMPILE_DEFS _DEBUG;NV_DEBUG=1;)
+SET(BLAST_SLN_CHECKED_COMPILE_DEFS NDEBUG;NV_CHECKED=1;)
+SET(BLAST_SLN_PROFILE_COMPILE_DEFS NDEBUG;NV_PROFILE=1;)
+SET(BLAST_SLN_RELEASE_COMPILE_DEFS NDEBUG;)
+
+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}/NvBlast.cmake)
+INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastTk.cmake)
+INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtConverterLL.cmake)
+INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtShaders.cmake)
+INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtPhysX.cmake)
+INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtAuthoring.cmake)
+INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtImport.cmake)
+
+#Sadly, CapnProto won't compile on anything less than VS2015.
+if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 19.0.0.0)
+ SET(SERIALIZATION_INCLUDED 1 PARENT_SCOPE)
+ INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtSerialization.cmake)
+ INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtSerializationLL.cmake)
+else()
+ SET(SERIALIZATION_INCLUDED 0)
+endif()
diff --git a/sdk/compiler/cmake/windows/NvBlast.cmake b/sdk/compiler/cmake/windows/NvBlast.cmake
new file mode 100644
index 0000000..64b6b02
--- /dev/null
+++ b/sdk/compiler/cmake/windows/NvBlast.cmake
@@ -0,0 +1,22 @@
+#
+# Build NvBlast Windows
+#
+
+SET(BLAST_PLATFORM_COMMON_FILES
+ ${COMMON_SOURCE_DIR}/NvBlastIncludeWindows.h
+)
+
+SET(BLAST_PLATFORM_INCLUDES
+)
+
+SET(BLAST_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_LIB_TYPE SHARED)
diff --git a/sdk/compiler/cmake/windows/NvBlastExtAuthoring.cmake b/sdk/compiler/cmake/windows/NvBlastExtAuthoring.cmake
new file mode 100644
index 0000000..7406d74
--- /dev/null
+++ b/sdk/compiler/cmake/windows/NvBlastExtAuthoring.cmake
@@ -0,0 +1,24 @@
+#
+# 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")
diff --git a/sdk/compiler/cmake/windows/NvBlastExtConverterLL.cmake b/sdk/compiler/cmake/windows/NvBlastExtConverterLL.cmake
new file mode 100644
index 0000000..7406d74
--- /dev/null
+++ b/sdk/compiler/cmake/windows/NvBlastExtConverterLL.cmake
@@ -0,0 +1,24 @@
+#
+# 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")
diff --git a/sdk/compiler/cmake/windows/NvBlastExtImport.cmake b/sdk/compiler/cmake/windows/NvBlastExtImport.cmake
new file mode 100644
index 0000000..7406d74
--- /dev/null
+++ b/sdk/compiler/cmake/windows/NvBlastExtImport.cmake
@@ -0,0 +1,24 @@
+#
+# 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")
diff --git a/sdk/compiler/cmake/windows/NvBlastExtPhysX.cmake b/sdk/compiler/cmake/windows/NvBlastExtPhysX.cmake
new file mode 100644
index 0000000..9bf7614
--- /dev/null
+++ b/sdk/compiler/cmake/windows/NvBlastExtPhysX.cmake
@@ -0,0 +1,24 @@
+#
+# 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(BLASTEXT_PHYSX_LIBTYPE SHARED)
+
+SET(BLASTEXT_PLATFORM_COMPILE_OPTIONS "/wd4100;/wd4239;/wd4244;/wd4245;/wd4267;/EHsc")
diff --git a/sdk/compiler/cmake/windows/NvBlastExtSerialization.cmake b/sdk/compiler/cmake/windows/NvBlastExtSerialization.cmake
new file mode 100644
index 0000000..20910be
--- /dev/null
+++ b/sdk/compiler/cmake/windows/NvBlastExtSerialization.cmake
@@ -0,0 +1,26 @@
+#
+# Build NvBlastExtSerialization Windows
+#
+
+SET(BLASTEXTSERIALIZATION_PLATFORM_COMMON_FILES
+ ${COMMON_SOURCE_DIR}/NvBlastIncludeWindows.h
+)
+
+SET(BLASTEXTSERIALIZATION_PLATFORM_INCLUDES
+)
+
+SET(BLASTEXTSERIALIZATION_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(BLASTEXTSERIALIZATION_LIB_TYPE SHARED)
+
+
+SET(BLASTEXTSERIALIZATION_COMPILE_OPTIONS "/wd4100;/wd4239;/wd4244;/wd4245;/wd4267;/EHsc")
+
diff --git a/sdk/compiler/cmake/windows/NvBlastExtSerializationLL.cmake b/sdk/compiler/cmake/windows/NvBlastExtSerializationLL.cmake
new file mode 100644
index 0000000..20910be
--- /dev/null
+++ b/sdk/compiler/cmake/windows/NvBlastExtSerializationLL.cmake
@@ -0,0 +1,26 @@
+#
+# Build NvBlastExtSerialization Windows
+#
+
+SET(BLASTEXTSERIALIZATION_PLATFORM_COMMON_FILES
+ ${COMMON_SOURCE_DIR}/NvBlastIncludeWindows.h
+)
+
+SET(BLASTEXTSERIALIZATION_PLATFORM_INCLUDES
+)
+
+SET(BLASTEXTSERIALIZATION_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(BLASTEXTSERIALIZATION_LIB_TYPE SHARED)
+
+
+SET(BLASTEXTSERIALIZATION_COMPILE_OPTIONS "/wd4100;/wd4239;/wd4244;/wd4245;/wd4267;/EHsc")
+
diff --git a/sdk/compiler/cmake/windows/NvBlastExtShaders.cmake b/sdk/compiler/cmake/windows/NvBlastExtShaders.cmake
new file mode 100644
index 0000000..7406d74
--- /dev/null
+++ b/sdk/compiler/cmake/windows/NvBlastExtShaders.cmake
@@ -0,0 +1,24 @@
+#
+# 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")
diff --git a/sdk/compiler/cmake/windows/NvBlastTk.cmake b/sdk/compiler/cmake/windows/NvBlastTk.cmake
new file mode 100644
index 0000000..d12f78f
--- /dev/null
+++ b/sdk/compiler/cmake/windows/NvBlastTk.cmake
@@ -0,0 +1,27 @@
+#
+# Build NvBlastTk Windows
+#
+
+FIND_PACKAGE(nvToolsExt $ENV{PM_nvToolsExt_VERSION} REQUIRED)
+
+SET(BLASTTK_PLATFORM_COMMON_FILES
+ ${COMMON_SOURCE_DIR}/NvBlastIncludeWindows.h
+)
+
+SET(BLASTTK_PLATFORM_INCLUDES
+ PRIVATE $<$<OR:$<CONFIG:debug>,$<CONFIG:checked>,$<CONFIG:profile>>:${NVTOOLSEXT_INCLUDE_DIRS}>
+)
+
+SET(BLASTTK_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(BLASTTK_LIBTYPE "SHARED")
+
+SET(BLASTTK_PLATFORM_LINKED_LIBS Rpcrt4 $<$<OR:$<CONFIG:debug>,$<CONFIG:checked>,$<CONFIG:profile>>:${NVTOOLSEXT_LIB}>)