aboutsummaryrefslogtreecommitdiff
path: root/sdk/compiler/cmake/linux
diff options
context:
space:
mode:
authorAnton Novoselov <[email protected]>2017-08-01 12:53:38 +0300
committerAnton Novoselov <[email protected]>2017-08-01 12:53:38 +0300
commit236f03c0b9a4982328ed1201978f7f69d192d9b2 (patch)
treee486f2fa39dba203563895541e92c60ed3e25759 /sdk/compiler/cmake/linux
parentAdded screens to welcome page (diff)
downloadblast-236f03c0b9a4982328ed1201978f7f69d192d9b2.tar.xz
blast-236f03c0b9a4982328ed1201978f7f69d192d9b2.zip
Blast 1.1 release (windows / linux)
see docs/release_notes.txt for details
Diffstat (limited to 'sdk/compiler/cmake/linux')
-rw-r--r--sdk/compiler/cmake/linux/CMakeLists.txt29
-rw-r--r--sdk/compiler/cmake/linux/NvBlast.cmake4
-rw-r--r--sdk/compiler/cmake/linux/NvBlastExtAuthoring.cmake10
-rw-r--r--sdk/compiler/cmake/linux/NvBlastExtConverterLL.cmake23
-rw-r--r--sdk/compiler/cmake/linux/NvBlastExtImport.cmake2
-rw-r--r--sdk/compiler/cmake/linux/NvBlastExtPhysX.cmake9
-rw-r--r--sdk/compiler/cmake/linux/NvBlastExtSerialization.cmake8
-rw-r--r--sdk/compiler/cmake/linux/NvBlastExtSerializationLL.cmake21
-rw-r--r--sdk/compiler/cmake/linux/NvBlastExtShaders.cmake4
-rw-r--r--sdk/compiler/cmake/linux/NvBlastTk.cmake8
10 files changed, 59 insertions, 59 deletions
diff --git a/sdk/compiler/cmake/linux/CMakeLists.txt b/sdk/compiler/cmake/linux/CMakeLists.txt
index 440351e..d0cf60a 100644
--- a/sdk/compiler/cmake/linux/CMakeLists.txt
+++ b/sdk/compiler/cmake/linux/CMakeLists.txt
@@ -1,6 +1,6 @@
#Platform specific compile flags and project includes
-SET(CMAKE_CXX_FLAGS "-Wextra -Werror -pedantic -fdiagnostics-show-option -fno-rtti -fno-exceptions -m64 -msse2 -mfpmath=sse -fpic -ffast-math -fno-exceptions -fno-rtti -Wno-invalid-offsetof -Wno-unknown-pragmas -std=c++0x")
+SET(CMAKE_CXX_FLAGS "-Wextra -Werror -fdiagnostics-show-option -fno-rtti -fno-exceptions -m64 -msse2 -mfpmath=sse -fPIC -ffast-math -fno-exceptions -fno-rtti -Wno-invalid-offsetof -Wno-unknown-pragmas -std=c++0x")
SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -gdwarf-2")
SET(CMAKE_CXX_FLAGS_CHECKED "-O3 -g3 -gdwarf-2 -fno-strict-aliasing")
@@ -16,12 +16,31 @@ SET(BLAST_SLN_RELEASE_COMPILE_DEFS NDEBUG;)
# Include all of the projects
INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlast.cmake)
+INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastGlobals.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}/NvBlastExtStress.cmake)
INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtPhysX.cmake)
INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtAuthoring.cmake)
-#INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtImport.cmake)
-#INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtSerialization.cmake)
-#INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtSerializationLL.cmake)
+IF(${UE4_LINUX_CROSSCOMPILE})
+ #This uses the Windows CapnProto exe so it works
+ INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtAssetUtils.cmake)
+ INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtSerialization.cmake)
+ INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtTkSerialization.cmake)
+ INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtPxSerialization.cmake)
+
+ #The UE4 Linux cross tools don't include libc++, it's in the UE4 source, however UE4 uses libc++
+ #and not libstdc++ so link this statically to avoid a dependency
+ SET(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")
+ SET(CMAKE_SHARED_LINKER_FLAGS "-static-libgcc -static-libstdc++")
+ELSE()
+ #TODO Update Linux CapnProto build to generate correct version code
+
+ INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtAssetUtils.cmake)
+
+ #INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtImport.cmake)
+ INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtSerialization.cmake)
+ INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtTkSerialization.cmake)
+ INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtPxSerialization.cmake)
+ENDIF()
diff --git a/sdk/compiler/cmake/linux/NvBlast.cmake b/sdk/compiler/cmake/linux/NvBlast.cmake
index 63ebeea..c1b0363 100644
--- a/sdk/compiler/cmake/linux/NvBlast.cmake
+++ b/sdk/compiler/cmake/linux/NvBlast.cmake
@@ -18,4 +18,6 @@ SET(BLAST_COMPILE_DEFS
$<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}>
)
-SET(BLAST_LIB_TYPE STATIC)
+SET(BLAST_LIB_TYPE SHARED)
+
+SET(BLAST_PLATFORM_COMPILE_OPTIONS "-pedantic")
diff --git a/sdk/compiler/cmake/linux/NvBlastExtAuthoring.cmake b/sdk/compiler/cmake/linux/NvBlastExtAuthoring.cmake
index c99653b..3d7bb78 100644
--- a/sdk/compiler/cmake/linux/NvBlastExtAuthoring.cmake
+++ b/sdk/compiler/cmake/linux/NvBlastExtAuthoring.cmake
@@ -18,6 +18,12 @@ SET(BLASTEXT_COMPILE_DEFS
$<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}>
)
-SET(BLAST_EXT_SHARED_LIB_TYPE STATIC)
+SET(BLAST_EXT_SHARED_LIB_TYPE SHARED)
-SET(BLASTEXT_PLATFORM_COMPILE_OPTIONS "-Wno-maybe-uninitialized")
+#Exceptions are needed by boost
+#This option doesn't work on Clang
+IF (NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ SET(BLASTEXT_PLATFORM_COMPILE_OPTIONS "-Wno-maybe-uninitialized" "-fexceptions" "-Wno-unused-parameter")
+ELSE ()
+ SET(BLASTEXT_PLATFORM_COMPILE_OPTIONS "-Wno-return-type-c-linkage" "-pedantic" "-fexceptions" "-Wno-unused-parameter")
+ENDIF() \ No newline at end of file
diff --git a/sdk/compiler/cmake/linux/NvBlastExtConverterLL.cmake b/sdk/compiler/cmake/linux/NvBlastExtConverterLL.cmake
deleted file mode 100644
index d37a1dc..0000000
--- a/sdk/compiler/cmake/linux/NvBlastExtConverterLL.cmake
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Build NvBlast Linux
-#
-
-SET(BLASTEXT_PLATFORM_COMMON_FILES
-)
-
-SET(BLASTEXT_PLATFORM_INCLUDES
-)
-
-SET(BLASTEXT_COMPILE_DEFS
- # Common to all configurations
- ${BLAST_SLN_COMPILE_DEFS};
-
- $<$<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 STATIC)
-
-SET(BLASTEXT_PLATFORM_COMPILE_OPTIONS "-Wno-unknown-pragmas")
diff --git a/sdk/compiler/cmake/linux/NvBlastExtImport.cmake b/sdk/compiler/cmake/linux/NvBlastExtImport.cmake
index d37a1dc..543887d 100644
--- a/sdk/compiler/cmake/linux/NvBlastExtImport.cmake
+++ b/sdk/compiler/cmake/linux/NvBlastExtImport.cmake
@@ -18,6 +18,6 @@ SET(BLASTEXT_COMPILE_DEFS
$<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}>
)
-SET(BLAST_EXT_SHARED_LIB_TYPE STATIC)
+SET(BLAST_EXT_SHARED_LIB_TYPE SHARED)
SET(BLASTEXT_PLATFORM_COMPILE_OPTIONS "-Wno-unknown-pragmas")
diff --git a/sdk/compiler/cmake/linux/NvBlastExtPhysX.cmake b/sdk/compiler/cmake/linux/NvBlastExtPhysX.cmake
index 22fd8ad..9edb58c 100644
--- a/sdk/compiler/cmake/linux/NvBlastExtPhysX.cmake
+++ b/sdk/compiler/cmake/linux/NvBlastExtPhysX.cmake
@@ -18,6 +18,11 @@ SET(BLASTEXT_COMPILE_DEFS
$<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}>
)
-SET(BLASTEXT_PHYSX_LIBTYPE STATIC)
+SET(BLASTEXT_PHYSX_LIBTYPE SHARED)
-SET(BLASTEXT_PLATFORM_COMPILE_OPTIONS "-Wno-unknown-pragmas" "-Wno-maybe-uninitialized")
+#-Wno-maybe-uninitialized doesn't work on Clang
+IF (NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ SET(BLASTEXT_PLATFORM_COMPILE_OPTIONS "-Wno-unknown-pragmas" "-Wno-maybe-uninitialized")
+ELSE()
+ SET(BLASTEXT_PLATFORM_COMPILE_OPTIONS "-Wno-unknown-pragmas" "-Wno-return-type-c-linkage")
+ENDIF()
diff --git a/sdk/compiler/cmake/linux/NvBlastExtSerialization.cmake b/sdk/compiler/cmake/linux/NvBlastExtSerialization.cmake
index a8bc1cf..b6d4d84 100644
--- a/sdk/compiler/cmake/linux/NvBlastExtSerialization.cmake
+++ b/sdk/compiler/cmake/linux/NvBlastExtSerialization.cmake
@@ -18,4 +18,10 @@ SET(BLASTEXTSERIALIZATION_COMPILE_DEFS
$<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}>
)
-SET(BLASTEXTSERIALIZATION_COMPILE_OPTIONS "")
+SET(BLASTEXTSERIALIZATION_LIB_TYPE SHARED)
+
+IF (NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ SET(BLASTEXTSERIALIZATION_COMPILE_OPTIONS "-Wno-sign-compare")
+ELSE()
+ SET(BLASTEXTSERIALIZATION_COMPILE_OPTIONS "-Wno-sign-compare" "-Wno-unused-parameter" "-Wno-return-type-c-linkage")
+ENDIF()
diff --git a/sdk/compiler/cmake/linux/NvBlastExtSerializationLL.cmake b/sdk/compiler/cmake/linux/NvBlastExtSerializationLL.cmake
deleted file mode 100644
index a8bc1cf..0000000
--- a/sdk/compiler/cmake/linux/NvBlastExtSerializationLL.cmake
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# Build NvBlastExtSerialization Linux
-#
-
-SET(BLASTEXTSERIALIZATION_PLATFORM_COMMON_FILES
-)
-
-SET(BLASTEXTSERIALIZATION_PLATFORM_INCLUDES
-)
-
-SET(BLASTEXTSERIALIZATION_COMPILE_DEFS
- # Common to all configurations
- ${BLAST_SLN_COMPILE_DEFS};
-
- $<$<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_COMPILE_OPTIONS "")
diff --git a/sdk/compiler/cmake/linux/NvBlastExtShaders.cmake b/sdk/compiler/cmake/linux/NvBlastExtShaders.cmake
index d37a1dc..a5c8c67 100644
--- a/sdk/compiler/cmake/linux/NvBlastExtShaders.cmake
+++ b/sdk/compiler/cmake/linux/NvBlastExtShaders.cmake
@@ -18,6 +18,6 @@ SET(BLASTEXT_COMPILE_DEFS
$<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}>
)
-SET(BLAST_EXT_SHARED_LIB_TYPE STATIC)
+SET(BLAST_EXT_SHARED_LIB_TYPE SHARED)
-SET(BLASTEXT_PLATFORM_COMPILE_OPTIONS "-Wno-unknown-pragmas")
+SET(BLASTEXT_PLATFORM_COMPILE_OPTIONS "-Wno-unknown-pragmas" "-pedantic")
diff --git a/sdk/compiler/cmake/linux/NvBlastTk.cmake b/sdk/compiler/cmake/linux/NvBlastTk.cmake
index 4f70825..5ea3746 100644
--- a/sdk/compiler/cmake/linux/NvBlastTk.cmake
+++ b/sdk/compiler/cmake/linux/NvBlastTk.cmake
@@ -18,5 +18,11 @@ SET(BLASTTK_COMPILE_DEFS
$<$<CONFIG:release>:${BLAST_SLN_RELEASE_COMPILE_DEFS}>
)
-SET(BLASTTK_LIBTYPE "STATIC")
+SET(BLASTTK_LIBTYPE SHARED)
+
+IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ SET(BLASTTK_PLATFORM_COMPILE_OPTIONS "-Wno-return-type-c-linkage" "-pedantic")
+ELSE ()
+ SET(BLASTTK_PLATFORM_COMPILE_OPTIONS "-pedantic")
+ENDIF()