From f95789a0b3f881a17d854534244ad380389d0cb1 Mon Sep 17 00:00:00 2001 From: MerryMage Date: Sat, 13 Jan 2018 21:37:06 +0000 Subject: [PATCH] Update build scripts --- .travis/linux/build.sh | 2 +- .travis/linux/deps.sh | 2 +- .travis/linux/docker.sh | 17 ++++++++++------ .travis/linux/upload.sh | 6 +++--- .travis/macos/build.sh | 2 ++ .travis/macos/deps.sh | 8 +++++++- .travis/macos/upload.sh | 44 ++++++++++++++++++++--------------------- appveyor.yml | 18 ++++++++--------- 8 files changed, 56 insertions(+), 43 deletions(-) diff --git a/.travis/linux/build.sh b/.travis/linux/build.sh index 98433d1845..bea8981715 100755 --- a/.travis/linux/build.sh +++ b/.travis/linux/build.sh @@ -1,3 +1,3 @@ #!/bin/bash -ex -docker run -v $(pwd):/citra ubuntu:16.04 /bin/bash /citra/.travis/linux/docker.sh +docker run -v $(pwd):/yuzu ubuntu:18.04 /bin/bash /yuzu/.travis/linux/docker.sh diff --git a/.travis/linux/deps.sh b/.travis/linux/deps.sh index be3f6bece4..540bb934a8 100755 --- a/.travis/linux/deps.sh +++ b/.travis/linux/deps.sh @@ -1,3 +1,3 @@ #!/bin/sh -ex -docker pull ubuntu:16.04 +docker pull ubuntu:18.04 diff --git a/.travis/linux/docker.sh b/.travis/linux/docker.sh index e27af5600c..a85225c5a6 100755 --- a/.travis/linux/docker.sh +++ b/.travis/linux/docker.sh @@ -1,14 +1,19 @@ #!/bin/bash -ex -cd /citra - apt-get update -apt-get install -y build-essential libsdl2-dev qtbase5-dev libqt5opengl5-dev libcurl4-openssl-dev libssl-dev wget git +apt-get install -y build-essential git libcurl4-openssl-dev libqt5opengl5-dev libsdl2-dev libssl-dev python qtbase5-dev wget # Get a recent version of CMake -wget https://cmake.org/files/v3.9/cmake-3.9.0-Linux-x86_64.sh -echo y | sh cmake-3.9.0-Linux-x86_64.sh --prefix=cmake -export PATH=/citra/cmake/cmake-3.9.0-Linux-x86_64/bin:$PATH +wget https://cmake.org/files/v3.10/cmake-3.10.1-Linux-x86_64.sh +sh cmake-3.10.1-Linux-x86_64.sh --exclude-subdir --prefix=/ --skip-license + +mkdir /unicorn +cd /unicorn +git clone https://github.com/yuzu-emu/unicorn . +UNICORN_ARCHS=aarch64 ./make.sh +./make.sh install + +cd /yuzu mkdir build && cd build cmake .. -DUSE_SYSTEM_CURL=ON -DCMAKE_BUILD_TYPE=Release diff --git a/.travis/linux/upload.sh b/.travis/linux/upload.sh index dd265e0fd5..8a029bbe22 100755 --- a/.travis/linux/upload.sh +++ b/.travis/linux/upload.sh @@ -2,13 +2,13 @@ . .travis/common/pre-upload.sh -REV_NAME="citra-linux-${GITDATE}-${GITREV}" +REV_NAME="yuzu-linux-${GITDATE}-${GITREV}" ARCHIVE_NAME="${REV_NAME}.tar.xz" COMPRESSION_FLAGS="-cJvf" mkdir "$REV_NAME" -cp build/src/citra/citra "$REV_NAME" -cp build/src/citra_qt/citra-qt "$REV_NAME" +cp build/src/yuzu_cmd/yuzu-cmd "$REV_NAME" +cp build/src/yuzu/yuzu "$REV_NAME" . .travis/common/post-upload.sh diff --git a/.travis/macos/build.sh b/.travis/macos/build.sh index c957cdf21b..e1c54af55c 100755 --- a/.travis/macos/build.sh +++ b/.travis/macos/build.sh @@ -4,8 +4,10 @@ set -o pipefail export MACOSX_DEPLOYMENT_TARGET=10.9 export Qt5_DIR=$(brew --prefix)/opt/qt5 +export UNICORNDIR=$(pwd)/externals/unicorn mkdir build && cd build +cmake --version cmake .. -DUSE_SYSTEM_CURL=ON -DCMAKE_OSX_ARCHITECTURES="x86_64;x86_64h" -DCMAKE_BUILD_TYPE=Release make -j4 diff --git a/.travis/macos/deps.sh b/.travis/macos/deps.sh index 30ec99b620..7dea804389 100755 --- a/.travis/macos/deps.sh +++ b/.travis/macos/deps.sh @@ -1,4 +1,10 @@ #!/bin/sh -ex brew update -brew install qt5 sdl2 dylibbundler p7zip +brew install dylibbundler p7zip qt5 sdl2 + +mkdir externals/unicorn +pushd externals/unicorn +git clone https://github.com/yuzu-emu/unicorn . +UNICORN_ARCHS=aarch64 ./make.sh macos-universal-no +popd diff --git a/.travis/macos/upload.sh b/.travis/macos/upload.sh index 19c80fdf0a..de0ba91f11 100755 --- a/.travis/macos/upload.sh +++ b/.travis/macos/upload.sh @@ -2,22 +2,22 @@ . .travis/common/pre-upload.sh -REV_NAME="citra-osx-${GITDATE}-${GITREV}" +REV_NAME="yuzu-osx-${GITDATE}-${GITREV}" ARCHIVE_NAME="${REV_NAME}.tar.gz" COMPRESSION_FLAGS="-czvf" mkdir "$REV_NAME" -cp build/src/citra/citra "$REV_NAME" -cp -r build/src/citra_qt/citra-qt.app "$REV_NAME" +cp build/src/yuzu_cmd/yuzu-cmd "$REV_NAME" +cp -r build/src/yuzu/yuzu.app "$REV_NAME" # move qt libs into app bundle for deployment -$(brew --prefix)/opt/qt5/bin/macdeployqt "${REV_NAME}/citra-qt.app" +$(brew --prefix)/opt/qt5/bin/macdeployqt "${REV_NAME}/yuzu.app" # move SDL2 libs into folder for deployment -dylibbundler -b -x "${REV_NAME}/citra" -cd -d "${REV_NAME}/libs" -p "@executable_path/libs/" +dylibbundler -b -x "${REV_NAME}/yuzu-cmd" -cd -d "${REV_NAME}/libs" -p "@executable_path/libs/" -# Make the changes to make the citra-qt app standalone (i.e. not dependent on the current brew installation). +# Make the changes to make the yuzu app standalone (i.e. not dependent on the current brew installation). # To do this, the absolute references to each and every QT framework must be re-written to point to the local frameworks # (in the Contents/Frameworks folder). # The "install_name_tool" is used to do so. @@ -33,8 +33,8 @@ QT_BREWS_PATH=$(grealpath "$(brew --prefix qt5)") BREW_PATH=$(brew --prefix) QT_VERSION_NUM=5 -$BREW_PATH/opt/qt5/bin/macdeployqt "${REV_NAME_ALT}citra-qt.app" \ - -executable="${REV_NAME_ALT}citra-qt.app/Contents/MacOS/citra-qt" +$BREW_PATH/opt/qt5/bin/macdeployqt "${REV_NAME_ALT}yuzu.app" \ + -executable="${REV_NAME_ALT}yuzu.app/Contents/MacOS/yuzu" # These are the files that macdeployqt packed into Contents/Frameworks/ - we don't want those, so we replace them. declare -a macos_libs=("QtCore" "QtWidgets" "QtGui" "QtOpenGL" "QtPrintSupport") @@ -43,7 +43,7 @@ for macos_lib in "${macos_libs[@]}" do SC_FRAMEWORK_PART=$macos_lib.framework/Versions/$QT_VERSION_NUM/$macos_lib # Replace macdeployqt versions of the Frameworks with our own (from /usr/local/opt/qt5/lib/) - cp "$BREW_PATH/opt/qt5/lib/$SC_FRAMEWORK_PART" "${REV_NAME_ALT}citra-qt.app/Contents/Frameworks/$SC_FRAMEWORK_PART" + cp "$BREW_PATH/opt/qt5/lib/$SC_FRAMEWORK_PART" "${REV_NAME_ALT}yuzu.app/Contents/Frameworks/$SC_FRAMEWORK_PART" # Replace references within the embedded Framework files with "internal" versions. for macos_lib2 in "${macos_libs[@]}" @@ -55,11 +55,11 @@ do install_name_tool -change \ $QT_BREWS_PATH/lib/$RM_FRAMEWORK_PART \ @executable_path/../Frameworks/$RM_FRAMEWORK_PART \ - "${REV_NAME_ALT}citra-qt.app/Contents/Frameworks/$SC_FRAMEWORK_PART" + "${REV_NAME_ALT}yuzu.app/Contents/Frameworks/$SC_FRAMEWORK_PART" install_name_tool -change \ "$BREW_PATH/opt/qt5/lib/$RM_FRAMEWORK_PART" \ @executable_path/../Frameworks/$RM_FRAMEWORK_PART \ - "${REV_NAME_ALT}citra-qt.app/Contents/Frameworks/$SC_FRAMEWORK_PART" + "${REV_NAME_ALT}yuzu.app/Contents/Frameworks/$SC_FRAMEWORK_PART" done done @@ -71,40 +71,40 @@ declare -a macos_plugins=("Plugins/platforms/libqcocoa.dylib") for macos_lib in "${macos_plugins[@]}" do - install_name_tool -id @executable_path/../$macos_lib "${REV_NAME_ALT}citra-qt.app/Contents/$macos_lib" + install_name_tool -id @executable_path/../$macos_lib "${REV_NAME_ALT}yuzu.app/Contents/$macos_lib" for macos_lib2 in "${macos_libs[@]}" do RM_FRAMEWORK_PART=$macos_lib2.framework/Versions/$QT_VERSION_NUM/$macos_lib2 install_name_tool -change \ $QT_BREWS_PATH/lib/$RM_FRAMEWORK_PART \ @executable_path/../Frameworks/$RM_FRAMEWORK_PART \ - "${REV_NAME_ALT}citra-qt.app/Contents/$macos_lib" + "${REV_NAME_ALT}yuzu.app/Contents/$macos_lib" install_name_tool -change \ "$BREW_PATH/opt/qt5/lib/$RM_FRAMEWORK_PART" \ @executable_path/../Frameworks/$RM_FRAMEWORK_PART \ - "${REV_NAME_ALT}citra-qt.app/Contents/$macos_lib" + "${REV_NAME_ALT}yuzu.app/Contents/$macos_lib" done done for macos_lib in "${macos_libs[@]}" do # Debugging info for Travis-CI - otool -L "${REV_NAME_ALT}citra-qt.app/Contents/Frameworks/$macos_lib.framework/Versions/$QT_VERSION_NUM/$macos_lib" + otool -L "${REV_NAME_ALT}yuzu.app/Contents/Frameworks/$macos_lib.framework/Versions/$QT_VERSION_NUM/$macos_lib" done -# Make the citra-qt.app application launch a debugging terminal. +# Make the yuzu.app application launch a debugging terminal. # Store away the actual binary -mv ${REV_NAME_ALT}citra-qt.app/Contents/MacOS/citra-qt ${REV_NAME_ALT}citra-qt.app/Contents/MacOS/citra-qt-bin +mv ${REV_NAME_ALT}yuzu.app/Contents/MacOS/yuzu ${REV_NAME_ALT}yuzu.app/Contents/MacOS/yuzu-bin -cat > ${REV_NAME_ALT}citra-qt.app/Contents/MacOS/citra-qt < ${REV_NAME_ALT}yuzu.app/Contents/MacOS/yuzu <&1 && exit 0' + cmd /C 'cmake -G "Visual Studio 15 2017 Win64" -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_BUNDLED_UNICORN=1 -DCMAKE_USE_OPENSSL=0 .. 2>&1 && exit 0' } else { - C:\msys64\usr\bin\bash.exe -lc "cmake -G 'MSYS Makefiles' -DUSE_SYSTEM_CURL=1 -DCITRA_USE_BUNDLED_CURL=1 -DCMAKE_BUILD_TYPE=Release .. 2>&1" + C:\msys64\usr\bin\bash.exe -lc "cmake -G 'MSYS Makefiles' -DUSE_SYSTEM_CURL=1 -DYUZU_USE_BUNDLED_CURL=1 -DCMAKE_BUILD_TYPE=Release .. 2>&1" } - cd .. @@ -52,7 +52,7 @@ build_script: - ps: | if ($env:BUILD_TYPE -eq 'msvc') { # https://www.appveyor.com/docs/build-phase - msbuild msvc_build/citra.sln /maxcpucount /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" + msbuild msvc_build/yuzu.sln /maxcpucount /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" } else { C:\msys64\usr\bin\bash.exe -lc 'mingw32-make -C mingw_build/ 2>&1' } @@ -72,9 +72,9 @@ after_build: if ($env:BUILD_TYPE -eq 'msvc') { # Where are these spaces coming from? Regardless, let's remove them - $MSVC_BUILD_ZIP = "citra-windows-msvc-$GITDATE-$GITREV.zip" -replace " ", "" - $MSVC_BUILD_PDB = "citra-windows-msvc-$GITDATE-$GITREV-debugsymbols.zip" -replace " ", "" - $MSVC_SEVENZIP = "citra-windows-msvc-$GITDATE-$GITREV.7z" -replace " ", "" + $MSVC_BUILD_ZIP = "yuzu-windows-msvc-$GITDATE-$GITREV.zip" -replace " ", "" + $MSVC_BUILD_PDB = "yuzu-windows-msvc-$GITDATE-$GITREV-debugsymbols.zip" -replace " ", "" + $MSVC_SEVENZIP = "yuzu-windows-msvc-$GITDATE-$GITREV.7z" -replace " ", "" # set the build names as env vars so the artifacts can upload them $env:BUILD_ZIP = $MSVC_BUILD_ZIP @@ -91,8 +91,8 @@ after_build: 7z a -tzip $MSVC_BUILD_ZIP $RELEASE_DIST\* 7z a $MSVC_SEVENZIP $RELEASE_DIST } else { - $MINGW_BUILD_ZIP = "citra-windows-mingw-$GITDATE-$GITREV.zip" -replace " ", "" - $MINGW_SEVENZIP = "citra-windows-mingw-$GITDATE-$GITREV.7z" -replace " ", "" + $MINGW_BUILD_ZIP = "yuzu-windows-mingw-$GITDATE-$GITREV.zip" -replace " ", "" + $MINGW_SEVENZIP = "yuzu-windows-mingw-$GITDATE-$GITREV.7z" -replace " ", "" # not going to bother adding separate debug symbols for mingw, so just upload a README for it # if someone wants to add them, change mingw to compile with -g and use objdump and strip to separate the symbols from the binary $MINGW_NO_DEBUG_SYMBOLS = "README_No_Debug_Symbols.txt" @@ -111,7 +111,7 @@ after_build: mkdir $RELEASE_DIST/platforms # copy the compiled binaries and other release files to the release folder - Get-ChildItem "$CMAKE_BINARY_DIR" -Recurse -Filter "citra*.exe" | Copy-Item -destination $RELEASE_DIST + Get-ChildItem "$CMAKE_BINARY_DIR" -Recurse -Filter "yuzu*.exe" | Copy-Item -destination $RELEASE_DIST # copy the libcurl dll Get-ChildItem "$CMAKE_BINARY_DIR" -Recurse -Filter "libcurl.dll" | Copy-Item -destination $RELEASE_DIST Copy-Item -path "$CMAKE_SOURCE_DIR/license.txt" -destination $RELEASE_DIST