From 6cc33f7a6f01e4c2eff8d05becd52552ed714db0 Mon Sep 17 00:00:00 2001 From: Evan Pratten Date: Tue, 6 Apr 2021 10:48:07 -0400 Subject: [PATCH] cross compile scripts --- .gitignore | 2 ++ Cargo.toml | 4 ++-- Cross.toml | 2 ++ assets/.gitkeep | 0 bundle/.gitignore | 2 ++ bundle/create-releases.sh | 7 +++++++ bundle/linux/Dockerfile | 4 ++++ bundle/linux/create-release.sh | 20 ++++++++++++++++++++ bundle/windows/create-release.sh | 19 +++++++++++++++++++ 9 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 Cross.toml create mode 100644 assets/.gitkeep create mode 100644 bundle/.gitignore create mode 100755 bundle/create-releases.sh create mode 100644 bundle/linux/Dockerfile create mode 100755 bundle/linux/create-release.sh create mode 100755 bundle/windows/create-release.sh diff --git a/.gitignore b/.gitignore index 0f596a8..4e1d2b0 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,5 @@ Cargo.lock # Added by cargo /target + +.project \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml index f17d3fe..62d9551 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,9 +3,9 @@ name = "ludum-dare-48" version = "0.1.0" authors = ["Evan Pratten "] edition = "2018" +description = "" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -raylib = "3.5" -include-flate = "0.1.3" \ No newline at end of file +raylib = "3.5" \ No newline at end of file diff --git a/Cross.toml b/Cross.toml new file mode 100644 index 0000000..f9f9eae --- /dev/null +++ b/Cross.toml @@ -0,0 +1,2 @@ +[target.x86_64-unknown-linux-gnu] +image = "ldjam_48_x86_64_unknown_linux_gnu_build_env" \ No newline at end of file diff --git a/assets/.gitkeep b/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/bundle/.gitignore b/bundle/.gitignore new file mode 100644 index 0000000..377cc42 --- /dev/null +++ b/bundle/.gitignore @@ -0,0 +1,2 @@ +*/*.zip +*/release \ No newline at end of file diff --git a/bundle/create-releases.sh b/bundle/create-releases.sh new file mode 100755 index 0000000..de7808d --- /dev/null +++ b/bundle/create-releases.sh @@ -0,0 +1,7 @@ +#! /bin/bash + +set -e + +# Build all platforms +./bundle/linux/create-release.sh +./bundle/windows/create-release.sh \ No newline at end of file diff --git a/bundle/linux/Dockerfile b/bundle/linux/Dockerfile new file mode 100644 index 0000000..9ad2abb --- /dev/null +++ b/bundle/linux/Dockerfile @@ -0,0 +1,4 @@ +FROM rustembedded/cross:x86_64-unknown-linux-gnu-0.2.1 + +RUN apt-get update -y +RUN apt-get install libasound2-dev mesa-common-dev libx11-dev libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev -y \ No newline at end of file diff --git a/bundle/linux/create-release.sh b/bundle/linux/create-release.sh new file mode 100755 index 0000000..000b3c3 --- /dev/null +++ b/bundle/linux/create-release.sh @@ -0,0 +1,20 @@ +#! /bin/bash + +set -e + +echo "Building for x64 Linux" +docker build -t ldjam_48_x86_64_unknown_linux_gnu_build_env ./bundle/linux +cross build --target x86_64-unknown-linux-gnu --release + +echo "Creating bundle output" +rm -rf ./bundle/linux/release +mkdir -p ./bundle/linux/release + +echo "Copying binary" +cp ./target/x86_64-unknown-linux-gnu/release/ludum-dare-48 ./bundle/linux/release + +echo "Copying assets" +cp -r ./assets ./bundle/linux/release + +echo "Packing assets" +zip -r ./bundle/linux/release-x86_64-unknown-linux-gnu.zip ./bundle/linux/release \ No newline at end of file diff --git a/bundle/windows/create-release.sh b/bundle/windows/create-release.sh new file mode 100755 index 0000000..f5ab480 --- /dev/null +++ b/bundle/windows/create-release.sh @@ -0,0 +1,19 @@ +#! /bin/bash + +set -e + +echo "Building for x64 Windows" +cross build --target x86_64-pc-windows-gnu --release + +echo "Creating bundle output" +rm -rf ./bundle/windows/release +mkdir -p ./bundle/windows/release + +echo "Copying binary" +cp ./target/x86_64-pc-windows-gnu/release/ludum-dare-48.exe ./bundle/windows/release + +echo "Copying assets" +cp -r ./assets ./bundle/windows/release + +echo "Packing assets" +zip -r ./bundle/windows/release-x86_64-pc-windows-gnu.zip ./bundle/windows/release \ No newline at end of file