From 17e10bed9fd78071b025e71adac7ba56045d3783 Mon Sep 17 00:00:00 2001 From: realweezerfan93 <22036195+rwf93@users.noreply.github.com> Date: Tue, 20 Jun 2023 12:29:42 -0700 Subject: [PATCH] hack around weird builds --- README.md | 13 ++++++++-- scripts/windows/setup64-ninja.bat | 42 +++++++++++++++++++++++++++++++ scripts/windows/setup64.bat | 5 ++-- source/client/CMakeLists.txt | 8 +++--- 4 files changed, 61 insertions(+), 7 deletions(-) create mode 100644 scripts/windows/setup64-ninja.bat diff --git a/README.md b/README.md index 0f91411..83ff6f4 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,15 @@ Install [Visual Studio 2023](https://c2rsetup.officeapps.live.com/c2r/downloadVS Install [CMake](https://github.com/Kitware/CMake/releases/download/v3.27.0-rc2/cmake-3.27.0-rc2-windows-x86_64.msi) Optionally, Install [QT 5.6.0](https://download.qt.io/new_archive/qt/5.6/5.6.0/qt-opensource-windows-x86-msvc2015_64-5.6.0.exe) +### Visual Studio + Run ``scripts\windows\setup64.bat`` -A solution should be generated in the ``build`` folder (at top level) -Outputs/builds should be inside the ``dist`` folder (also top level) \ No newline at end of file +A solution should be generated in the ``build`` folder +Open it and click Build (shortcut: CTRL+B) + +### Visual Studio Code +Open a vcvarsall window (x64 Native Tools Command Prompt for VS 2022) +Run ``scripts\windows\setup64-ninja.bat`` + +A ninja project should be generated in the ``build`` folder +Simply run ``ninja`` \ No newline at end of file diff --git a/scripts/windows/setup64-ninja.bat b/scripts/windows/setup64-ninja.bat new file mode 100644 index 0000000..ddc66ea --- /dev/null +++ b/scripts/windows/setup64-ninja.bat @@ -0,0 +1,42 @@ +cd /d %~dp0 +cd ..\.. + +mkdir dist +del dist\*.dll +copy lib\windows64\*.dll dist\ +copy scripts\windows\sbinit.config dist\ + +mkdir build +cd build + +if exist "C:\Program Files (x86)\CMake\bin" ( + set CMAKE_EXE_PATH="C:\Program Files (x86)\CMake\bin" +) else ( + set CMAKE_EXE_PATH="C:\Program Files\CMake\bin" +) + +set QT_PREFIX_PATH=C:\Qt\Qt5.6.0\5.6\msvc2015_64 + +if exist %QT_PREFIX_PATH% ( + +%CMAKE_EXE_PATH%\cmake.exe ^ + ..\source ^ + -G "Ninja" ^ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ^ + -DSTAR_USE_JEMALLOC=ON ^ + -DCMAKE_PREFIX_PATH=%QT_PREFIX_PATH% ^ + -DSTAR_BUILD_QT_TOOLS=ON ^ + -DCMAKE_INCLUDE_PATH="..\lib\windows64\include" ^ + -DCMAKE_LIBRARY_PATH="..\lib\windows64" +) else ( + +%CMAKE_EXE_PATH%\cmake.exe ^ + ..\source ^ + -G "Ninja" ^ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ^ + -DSTAR_USE_JEMALLOC=ON ^ + -DCMAKE_INCLUDE_PATH="..\lib\windows64\include" ^ + -DCMAKE_LIBRARY_PATH="..\lib\windows64" +) + +pause diff --git a/scripts/windows/setup64.bat b/scripts/windows/setup64.bat index 14cf09d..4208fc3 100644 --- a/scripts/windows/setup64.bat +++ b/scripts/windows/setup64.bat @@ -22,21 +22,22 @@ if exist %QT_PREFIX_PATH% ( %CMAKE_EXE_PATH%\cmake.exe ^ ..\source ^ -G "Visual Studio 17 2022" ^ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ^ -DSTAR_USE_JEMALLOC=ON ^ -DCMAKE_PREFIX_PATH=%QT_PREFIX_PATH% ^ -DSTAR_BUILD_QT_TOOLS=ON ^ -DCMAKE_INCLUDE_PATH="..\lib\windows64\include" ^ -DCMAKE_LIBRARY_PATH="..\lib\windows64" - ) else ( %CMAKE_EXE_PATH%\cmake.exe ^ ..\source ^ -G "Visual Studio 17 2022" ^ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ^ -DSTAR_USE_JEMALLOC=ON ^ -DCMAKE_INCLUDE_PATH="..\lib\windows64\include" ^ -DCMAKE_LIBRARY_PATH="..\lib\windows64" - + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ) pause diff --git a/source/client/CMakeLists.txt b/source/client/CMakeLists.txt index 0e6335a..e9d4d2f 100644 --- a/source/client/CMakeLists.txt +++ b/source/client/CMakeLists.txt @@ -19,9 +19,11 @@ SET (star_client_SOURCES ) IF (STAR_SYSTEM_WINDOWS) - SET (star_client_RESOURCES - starbound.rc - ) + IF (CMAKE_GENERATOR MATCHES "Visual Studio") # Ninja and possibly some others have problems building resources. + SET (star_client_RESOURCES + starbound.rc + ) + ENDIF () ENDIF () ADD_EXECUTABLE (starbound WIN32