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 /sdk/compiler/cmake/windows | |
| 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 'sdk/compiler/cmake/windows')
| -rw-r--r-- | sdk/compiler/cmake/windows/CMakeLists.txt | 67 | ||||
| -rw-r--r-- | sdk/compiler/cmake/windows/NvBlast.cmake | 22 | ||||
| -rw-r--r-- | sdk/compiler/cmake/windows/NvBlastExtAuthoring.cmake | 24 | ||||
| -rw-r--r-- | sdk/compiler/cmake/windows/NvBlastExtConverterLL.cmake | 24 | ||||
| -rw-r--r-- | sdk/compiler/cmake/windows/NvBlastExtImport.cmake | 24 | ||||
| -rw-r--r-- | sdk/compiler/cmake/windows/NvBlastExtPhysX.cmake | 24 | ||||
| -rw-r--r-- | sdk/compiler/cmake/windows/NvBlastExtSerialization.cmake | 26 | ||||
| -rw-r--r-- | sdk/compiler/cmake/windows/NvBlastExtSerializationLL.cmake | 26 | ||||
| -rw-r--r-- | sdk/compiler/cmake/windows/NvBlastExtShaders.cmake | 24 | ||||
| -rw-r--r-- | sdk/compiler/cmake/windows/NvBlastTk.cmake | 27 |
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}>) |