summaryrefslogtreecommitdiffstats
path: root/BuildTools/Scripts
diff options
context:
space:
mode:
authorEgor <egor.yusov@gmail.com>2019-11-28 00:14:50 +0000
committerEgor <egor.yusov@gmail.com>2019-11-28 00:14:50 +0000
commit953d0c02c0f0fd526deacd3340165f88e08bf6fe (patch)
tree9e2fb8225e61d1f1fc471f6b817f5e3d6f90f1c9 /BuildTools/Scripts
parentUpdated readme and code_formatting.md (diff)
downloadDiligentCore-953d0c02c0f0fd526deacd3340165f88e08bf6fe.tar.gz
DiligentCore-953d0c02c0f0fd526deacd3340165f88e08bf6fe.zip
travis: added build scripts with common build instructions
Diffstat (limited to 'BuildTools/Scripts')
-rwxr-xr-xBuildTools/Scripts/travis/before_install.sh39
-rwxr-xr-xBuildTools/Scripts/travis/build.sh17
-rwxr-xr-xBuildTools/Scripts/travis/build_install.sh17
3 files changed, 73 insertions, 0 deletions
diff --git a/BuildTools/Scripts/travis/before_install.sh b/BuildTools/Scripts/travis/before_install.sh
new file mode 100755
index 00000000..d5623aaf
--- /dev/null
+++ b/BuildTools/Scripts/travis/before_install.sh
@@ -0,0 +1,39 @@
+CMAKE_VERSION="3.15.4"
+VULKAN_SDK_VER="1.1.101.0"
+
+if [ "$TRAVIS_OS_NAME" = "osx" ]; then
+ wget --no-check-certificate https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Darwin-x86_64.tar.gz
+ tar -xzf cmake-${CMAKE_VERSION}-Darwin-x86_64.tar.gz
+ export PATH=$PWD/cmake-${CMAKE_VERSION}-Darwin-x86_64/CMake.app/Contents/bin:$PATH
+ cmake --version
+ if [ "$IOS" = "true" ]; then
+ wget -O vulkansdk-macos-$VULKAN_SDK_VER.tar.gz https://sdk.lunarg.com/sdk/download/$VULKAN_SDK_VER/mac/vulkansdk-macos-$VULKAN_SDK_VER.tar.gz?Human=true &&
+ tar -xzf vulkansdk-macos-$VULKAN_SDK_VER.tar.gz
+ export VULKAN_SDK=$PWD/vulkansdk-macos-$VULKAN_SDK_VER
+ fi
+fi
+
+if [ "$TRAVIS_OS_NAME" = "linux" ]; then
+ # Link gcc-7 and g++-7 to their standard commands
+ sudo ln -s /usr/bin/gcc-7 /usr/local/bin/gcc
+ sudo ln -s /usr/bin/g++-7 /usr/local/bin/g++
+ # Export CC and CXX to tell cmake which compiler to use
+ export CC=/usr/bin/gcc-7
+ export CXX=/usr/bin/g++-7
+ # Check versions of gcc, g++ and cmake
+ gcc -v
+ g++ -v
+ # Download a recent cmake
+ mkdir $HOME/usr
+ export PATH="$HOME/usr/bin:$PATH"
+ wget https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.sh
+ chmod +x cmake-${CMAKE_VERSION}-Linux-x86_64.sh
+ ./cmake-${CMAKE_VERSION}-Linux-x86_64.sh --prefix=$HOME/usr --exclude-subdir --skip-license
+ cmake --version
+ sudo apt-get update
+ sudo apt-get install libx11-dev
+ sudo apt-get install mesa-common-dev
+ sudo apt-get install mesa-utils
+ sudo apt-get install libgl-dev
+fi
+
diff --git a/BuildTools/Scripts/travis/build.sh b/BuildTools/Scripts/travis/build.sh
new file mode 100755
index 00000000..9f431ec1
--- /dev/null
+++ b/BuildTools/Scripts/travis/build.sh
@@ -0,0 +1,17 @@
+mkdir build
+cd build
+
+if [ "$TRAVIS_OS_NAME" = "linux" ]; then
+ cmake .. -G "Unix Makefiles" -DDILIGENT_ENABLE_TESTS=TRUE -DCMAKE_BUILD_TYPE=${CONFIG}
+ cmake --build .
+fi
+|
+if [ "$TRAVIS_OS_NAME" = "osx" ]; then
+ if [ "$IOS" = "true" ]; then
+ cmake .. -DCMAKE_TOOLCHAIN_FILE=../DiligentCore/ios.toolchain.cmake -DIOS_PLATFORM=SIMULATOR64 -DDILIGENT_ENABLE_TESTS=TRUE -G "Xcode"
+ else
+ cmake .. -DDILIGENT_ENABLE_TESTS=TRUE -G "Xcode"
+ fi
+ xcodebuild -configuration ${CONFIG} | xcpretty
+fi
+
diff --git a/BuildTools/Scripts/travis/build_install.sh b/BuildTools/Scripts/travis/build_install.sh
new file mode 100755
index 00000000..ba729d28
--- /dev/null
+++ b/BuildTools/Scripts/travis/build_install.sh
@@ -0,0 +1,17 @@
+mkdir build
+cd build
+
+if [ "$TRAVIS_OS_NAME" = "linux" ]; then
+ cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=${CONFIG} -DCMAKE_INSTALL_PREFIX=install
+ cmake --build . --target install
+fi
+
+if [ "$TRAVIS_OS_NAME" = "osx" ]; then
+ if [ "$IOS" = "true" ]; then
+ cmake .. -DCMAKE_TOOLCHAIN_FILE=../DiligentCore/ios.toolchain.cmake -DIOS_PLATFORM=OS64 -DIOS_ARCH=arm64 -DVULKAN_SDK="$VULKAN_SDK" -DCMAKE_INSTALL_PREFIX=install -G "Xcode"
+ else
+ cmake .. -DCMAKE_INSTALL_PREFIX=install -G "Xcode"
+ fi
+ cmake --build . --target install --config ${CONFIG} | xcpretty
+fi
+