aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsantoleri-nvidia <[email protected]>2017-02-24 19:48:22 +0100
committersantoleri-nvidia <[email protected]>2017-02-24 19:48:22 +0100
commitf930643a042334fe490e9bdc3fecd9afd1799cde (patch)
tree6e4df6aec15a5446cc0ebd92d92071fe43f496d2
parentUpdating to [email protected] and blast_tools_and_samples... (diff)
parentadding linux source (diff)
downloadblast-f930643a042334fe490e9bdc3fecd9afd1799cde.tar.xz
blast-f930643a042334fe490e9bdc3fecd9afd1799cde.zip
adding linux support
-rwxr-xr-xbuildtools/cmake_projects_linux.sh29
-rwxr-xr-xbuildtools/packman/linux/packman47
-rw-r--r--compiler/cmake/linux/CMakeLists.txt18
-rwxr-xr-xgenerate_projects_linux.sh11
-rw-r--r--sdk/compiler/cmake/linux/CMakeLists.txt27
-rw-r--r--sdk/compiler/cmake/linux/NvBlast.cmake21
-rw-r--r--sdk/compiler/cmake/linux/NvBlastExtAuthoring.cmake23
-rw-r--r--sdk/compiler/cmake/linux/NvBlastExtConverterLL.cmake23
-rw-r--r--sdk/compiler/cmake/linux/NvBlastExtImport.cmake23
-rw-r--r--sdk/compiler/cmake/linux/NvBlastExtPhysX.cmake23
-rw-r--r--sdk/compiler/cmake/linux/NvBlastExtSerialization.cmake21
-rw-r--r--sdk/compiler/cmake/linux/NvBlastExtSerializationLL.cmake21
-rw-r--r--sdk/compiler/cmake/linux/NvBlastExtShaders.cmake23
-rw-r--r--sdk/compiler/cmake/linux/NvBlastTk.cmake22
-rw-r--r--test/compiler/cmake/linux/BlastPerfTests.cmake24
-rw-r--r--test/compiler/cmake/linux/BlastUnitTests.cmake24
-rw-r--r--test/compiler/cmake/linux/CMakeLists.txt25
-rw-r--r--test/data/linux64/PerfTest_linux64.cal0
18 files changed, 405 insertions, 0 deletions
diff --git a/buildtools/cmake_projects_linux.sh b/buildtools/cmake_projects_linux.sh
new file mode 100755
index 0000000..60f6e82
--- /dev/null
+++ b/buildtools/cmake_projects_linux.sh
@@ -0,0 +1,29 @@
+#!/bin/bash +x
+
+echo "Starting $(date)"
+
+[ -z "$BLAST_ROOT_DIR" ] && echo "BLAST_ROOT_DIR not defined." && exit 1;
+[ -z "$PM_CMakeModules_VERSION" ] && echo "PM_CMakeModules_VERSION not defined." && exit 1;
+[ -z "$PM_cmake_VERSION" ] && echo "PM_cmake_VERSION not defined." && exit 1;
+[ -z "$PM_PACKAGES_ROOT" ] && echo "PM_PACKAGES_ROOT not defined." && exit 1;
+
+CMAKE=$PM_cmake_PATH/bin/cmake
+
+echo "Cmake: $CMAKE"
+
+set -e
+
+# Common cmd line params
+CMAKE_CMD_LINE_PARAMS="-DTARGET_BUILD_PLATFORM=linux -DBL_LIB_OUTPUT_DIR=$BLAST_ROOT_DIR/lib/linux64-gcc -DBL_DLL_OUTPUT_DIR=$BLAST_ROOT_DIR/bin/linux64-gcc -DBL_EXE_OUTPUT_DIR=$BLAST_ROOT_DIR/bin/linux64-gcc"
+
+#configs=("debug" "profile" "checked" "release")
+configs=("debug" "release")
+for config in "${configs[@]}"
+do
+ # Generate projects
+ rm -r -f $BLAST_ROOT_DIR/compiler/linux64-$config-gcc/
+ mkdir $BLAST_ROOT_DIR/compiler/linux64-$config-gcc/
+ cd $BLAST_ROOT_DIR/compiler/linux64-$config-gcc/
+ $CMAKE $BLAST_ROOT_DIR -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=$config $CMAKE_CMD_LINE_PARAMS
+ cd $BLAST_ROOT_DIR
+done
diff --git a/buildtools/packman/linux/packman b/buildtools/packman/linux/packman
new file mode 100755
index 0000000..65ad2fc
--- /dev/null
+++ b/buildtools/packman/linux/packman
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+PM_PACKMAN_VERSION=3.7
+
+# read source config to set PM_PACKAGE_SOURCE
+PM_PACKAGE_SOURCE=`cat $(dirname "$0")/../source.conf`
+export PM_PACKAGE_SOURCE
+echo "PM_PACKAGE_SOURCE: '$PM_PACKAGE_SOURCE'"
+
+# The pagackes root may already be configured by the user
+if [ -z "$PM_PACKAGES_ROOT" ]; then
+ export PM_PACKAGES_ROOT="${HOME}/packman-repo"
+fi
+
+# Ensure the packages root path exists:
+if [ ! -d "$PM_PACKAGES_ROOT" ]; then
+ echo "Creating packman packages repository at $PM_PACKAGES_ROOT"
+ mkdir "$PM_PACKAGES_ROOT"
+fi
+
+# The packman module may be externally configured
+if [ -z "$PM_MODULE_EXT" ]; then
+ PM_MODULE_DIR="$PM_PACKAGES_ROOT/packman/$PM_PACKMAN_VERSION-common"
+ export PM_MODULE="$PM_MODULE_DIR/packman.py"
+else
+ export PM_MODULE="$PM_MODULE_EXT"
+fi
+
+# Ensure the packman package exists:
+if [ ! -f "$PM_MODULE" ]; then
+ PM_MODULE_PACKAGE="packman@$PM_PACKMAN_VERSION-common"
+ TARGET="/tmp/$PM_MODULE_PACKAGE.zip"
+ if [ "$PM_PACKAGE_SOURCE" = "gtl" ]; then
+ PM_COMMON_GUID=24ED6205-CFE6-4A64-A4B3-4BD87B64279F
+ echo "Fetching $PM_MODULE_PACKAGE from NVGTL using GUID $PM_COMMON_GUID..."
+ wget --quiet --user=svcgtlautomate --password='@ut0M@t3GTL$cr1pt$' -O$TARGET http://nvgtl.nvidia.com/download/$PM_COMMON_GUID
+ else
+ echo "Fetching $PM_MODULE_PACKAGE.zip from S3..."
+ wget --quiet -O$TARGET "http://packman.s3.amazonaws.com/$PM_MODULE_PACKAGE.zip"
+ fi
+ echo "Unpacking ..."
+ mkdir -p "$PM_MODULE_DIR"
+ unzip -q $TARGET -d "$PM_MODULE_DIR"
+ rm $TARGET
+fi
+
+python $PM_MODULE $*
diff --git a/compiler/cmake/linux/CMakeLists.txt b/compiler/cmake/linux/CMakeLists.txt
new file mode 100644
index 0000000..fcf0cde
--- /dev/null
+++ b/compiler/cmake/linux/CMakeLists.txt
@@ -0,0 +1,18 @@
+#Platform specific compile flags and project includes
+
+SET(CMAKE_CXX_FLAGS "-Werror")
+
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
+SET(CMAKE_CXX_FLAGS_CHECKED "-O2 -g")
+SET(CMAKE_CXX_FLAGS_PROFILE "-O2 -g")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
+
+SET(BLASTALL_SLN_COMPILE_DEFS "")
+
+SET(BLASTALL_SLN_DEBUG_COMPILE_DEFS _DEBUG;NV_DEBUG=1;)
+SET(BLASTALL_SLN_CHECKED_COMPILE_DEFS NDEBUG;NV_CHECKED=1;)
+SET(BLASTALL_SLN_PROFILE_COMPILE_DEFS NDEBUG;NV_PROFILE=1;)
+SET(BLASTALL_SLN_RELEASE_COMPILE_DEFS NDEBUG;)
+
+
+
diff --git a/generate_projects_linux.sh b/generate_projects_linux.sh
new file mode 100755
index 0000000..362cb11
--- /dev/null
+++ b/generate_projects_linux.sh
@@ -0,0 +1,11 @@
+#!/bin/sh +x
+
+# Set the blast root to the current directory
+SCRIPT=$(readlink -f "$0")
+export BLAST_ROOT_DIR=$(dirname $SCRIPT)
+echo $BLAST_ROOT_DIR
+
+# Run packman to ensure dependencies are present and run cmake generation script afterwards
+echo "Running packman in preparation for cmake ..."
+
+$BLAST_ROOT_DIR"/buildtools/packman/linux/packman" $PM_OPTIONS_EXT pull $BLAST_ROOT_DIR"/dependencies.xml" --platform linux --postscript $BLAST_ROOT_DIR"/buildtools/cmake_projects_linux.sh"
diff --git a/sdk/compiler/cmake/linux/CMakeLists.txt b/sdk/compiler/cmake/linux/CMakeLists.txt
new file mode 100644
index 0000000..440351e
--- /dev/null
+++ b/sdk/compiler/cmake/linux/CMakeLists.txt
@@ -0,0 +1,27 @@
+#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_DEBUG "-O0 -g3 -gdwarf-2")
+SET(CMAKE_CXX_FLAGS_CHECKED "-O3 -g3 -gdwarf-2 -fno-strict-aliasing")
+SET(CMAKE_CXX_FLAGS_PROFILE "-O3 -fno-strict-aliasing")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -fno-strict-aliasing")
+
+SET(BLAST_SLN_COMPILE_DEFS )
+
+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;)
+
+# 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)
+#INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtSerialization.cmake)
+#INCLUDE(${PROJECT_CMAKE_FILES_DIR}/NvBlastExtSerializationLL.cmake)
+
diff --git a/sdk/compiler/cmake/linux/NvBlast.cmake b/sdk/compiler/cmake/linux/NvBlast.cmake
new file mode 100644
index 0000000..63ebeea
--- /dev/null
+++ b/sdk/compiler/cmake/linux/NvBlast.cmake
@@ -0,0 +1,21 @@
+#
+# Build NvBlast Linux
+#
+
+SET(BLAST_PLATFORM_COMMON_FILES
+)
+
+SET(BLAST_PLATFORM_INCLUDES
+)
+
+SET(BLAST_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_LIB_TYPE STATIC)
diff --git a/sdk/compiler/cmake/linux/NvBlastExtAuthoring.cmake b/sdk/compiler/cmake/linux/NvBlastExtAuthoring.cmake
new file mode 100644
index 0000000..c99653b
--- /dev/null
+++ b/sdk/compiler/cmake/linux/NvBlastExtAuthoring.cmake
@@ -0,0 +1,23 @@
+#
+# 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-maybe-uninitialized")
diff --git a/sdk/compiler/cmake/linux/NvBlastExtConverterLL.cmake b/sdk/compiler/cmake/linux/NvBlastExtConverterLL.cmake
new file mode 100644
index 0000000..d37a1dc
--- /dev/null
+++ b/sdk/compiler/cmake/linux/NvBlastExtConverterLL.cmake
@@ -0,0 +1,23 @@
+#
+# 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
new file mode 100644
index 0000000..d37a1dc
--- /dev/null
+++ b/sdk/compiler/cmake/linux/NvBlastExtImport.cmake
@@ -0,0 +1,23 @@
+#
+# 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/NvBlastExtPhysX.cmake b/sdk/compiler/cmake/linux/NvBlastExtPhysX.cmake
new file mode 100644
index 0000000..22fd8ad
--- /dev/null
+++ b/sdk/compiler/cmake/linux/NvBlastExtPhysX.cmake
@@ -0,0 +1,23 @@
+#
+# 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(BLASTEXT_PHYSX_LIBTYPE STATIC)
+
+SET(BLASTEXT_PLATFORM_COMPILE_OPTIONS "-Wno-unknown-pragmas" "-Wno-maybe-uninitialized")
diff --git a/sdk/compiler/cmake/linux/NvBlastExtSerialization.cmake b/sdk/compiler/cmake/linux/NvBlastExtSerialization.cmake
new file mode 100644
index 0000000..a8bc1cf
--- /dev/null
+++ b/sdk/compiler/cmake/linux/NvBlastExtSerialization.cmake
@@ -0,0 +1,21 @@
+#
+# 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/NvBlastExtSerializationLL.cmake b/sdk/compiler/cmake/linux/NvBlastExtSerializationLL.cmake
new file mode 100644
index 0000000..a8bc1cf
--- /dev/null
+++ b/sdk/compiler/cmake/linux/NvBlastExtSerializationLL.cmake
@@ -0,0 +1,21 @@
+#
+# 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
new file mode 100644
index 0000000..d37a1dc
--- /dev/null
+++ b/sdk/compiler/cmake/linux/NvBlastExtShaders.cmake
@@ -0,0 +1,23 @@
+#
+# 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/NvBlastTk.cmake b/sdk/compiler/cmake/linux/NvBlastTk.cmake
new file mode 100644
index 0000000..4f70825
--- /dev/null
+++ b/sdk/compiler/cmake/linux/NvBlastTk.cmake
@@ -0,0 +1,22 @@
+#
+# Build NvBlastTk Linux
+#
+
+SET(BLASTTK_PLATFORM_COMMON_FILES
+)
+
+SET(BLASTTK_PLATFORM_INCLUDES
+)
+
+SET(BLASTTK_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(BLASTTK_LIBTYPE "STATIC")
+
diff --git a/test/compiler/cmake/linux/BlastPerfTests.cmake b/test/compiler/cmake/linux/BlastPerfTests.cmake
new file mode 100644
index 0000000..1ef9eb8
--- /dev/null
+++ b/test/compiler/cmake/linux/BlastPerfTests.cmake
@@ -0,0 +1,24 @@
+#
+# Build BlastPerfTests PS4
+#
+
+SET(BLASTPERFTESTS_PLATFORM_COMMON_FILES
+)
+
+SET(BLASTPERFTESTS_PLATFORM_INCLUDES
+)
+
+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
+ -lpthread
+ -lm
+)
diff --git a/test/compiler/cmake/linux/BlastUnitTests.cmake b/test/compiler/cmake/linux/BlastUnitTests.cmake
new file mode 100644
index 0000000..e8a333a
--- /dev/null
+++ b/test/compiler/cmake/linux/BlastUnitTests.cmake
@@ -0,0 +1,24 @@
+#
+# Build BlastUnitTests PS4
+#
+
+SET(BLASTUNITTESTS_PLATFORM_COMMON_FILES
+)
+
+SET(BLASTUNITTESTS_PLATFORM_INCLUDES
+)
+
+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}>
+)
+
+SET(BLASTUNITTESTS_PLATFORM_LINKED_LIBS
+ -lpthread
+ -lm
+)
diff --git a/test/compiler/cmake/linux/CMakeLists.txt b/test/compiler/cmake/linux/CMakeLists.txt
new file mode 100644
index 0000000..be49d07
--- /dev/null
+++ b/test/compiler/cmake/linux/CMakeLists.txt
@@ -0,0 +1,25 @@
+#Platform specific compile flags and project includes
+
+SET(CMAKE_CXX_FLAGS "-Wextra -fdiagnostics-show-option -fno-rtti -fno-exceptions -m64 -msse2 -mfpmath=sse -fpic -ffast-math -fno-exceptions -fno-rtti -Wno-invalid-offsetof -Wno-unknown-pragmas -Wno-multichar -std=c++0x")
+
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -gdwarf-2")
+SET(CMAKE_CXX_FLAGS_CHECKED "-O3 -g3 -gdwarf-2 -fno-strict-aliasing")
+SET(CMAKE_CXX_FLAGS_PROFILE "-O3 -fno-strict-aliasing")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -fno-strict-aliasing")
+
+SET(BLASTTESTS_SLN_COMPILE_DEFS)
+#NvBlastExt doesn't have the _CONSOLE flag
+
+SET(BLASTTESTS_SLN_DEBUG_COMPILE_DEFS _DEBUG;NV_DEBUG=1;)
+SET(BLASTTESTS_SLN_CHECKED_COMPILE_DEFS NDEBUG;NV_CHECKED=1;)
+SET(BLASTTESTS_SLN_PROFILE_COMPILE_DEFS NDEBUG;NV_PROFILE=1;)
+SET(BLASTTESTS_SLN_RELEASE_COMPILE_DEFS NDEBUG;)
+
+SET(CMAKE_EXECUTABLE_SUFFIX ".elf")
+
+
+# Include all of the projects
+INCLUDE(${PROJECT_CMAKE_FILES_DIR}/BlastUnitTests.cmake)
+INCLUDE(${PROJECT_CMAKE_FILES_DIR}/BlastPerfTests.cmake)
+
+
diff --git a/test/data/linux64/PerfTest_linux64.cal b/test/data/linux64/PerfTest_linux64.cal
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/data/linux64/PerfTest_linux64.cal