diff options
author | Erik Kundiman <erik@megapahit.org> | 2025-06-11 23:56:20 +0800 |
---|---|---|
committer | Erik Kundiman <erik@megapahit.org> | 2025-06-11 23:56:20 +0800 |
commit | f1fa6c55b57b188d3c84711f51a2499a98b9b9e8 (patch) | |
tree | 2a193ccbcf874bafb17b980739f08f25b21935e3 | |
parent | 78f85aa6efdeb8ada9afb5083dc75e645aa34e8c (diff) |
Update Windows build instructions
There's a different section for Windows arm64, cause there are
different patterns in the commands that are too difficult to generalise.
BuildTools is used instead of the full Visual Studio IDE,
and BuildTools is installed in Program Files (x86)
on both Windows x64 and arm64.
The CMake used is the one automatically installed by vcpkg, and it
can find the compilers when the toolchain file setting is set to
the file provided by vcpkg.
This way we don't have to install VS CMake component that depends
on x64/x86 build tools, which we don't need for Windows arm64.
The pkg-config used is the other one downloaded, as the path to it
is common on both Windows arm64 and x64.
cURL is installed on arm64 cause there doesn't seem to be any easy
way to build OpenSSL 1.1 for Windows arm64 (which LL's cURL fork
depends on).
-rw-r--r-- | README.md | 24 |
1 files changed, 19 insertions, 5 deletions
@@ -119,14 +119,28 @@ $ sudo apt install ./megapahit-`cat newview/viewer_version.txt`-Linux.deb $ megapahit ``` -### Windows +### Windows arm64 +``` +$ vcpkg install pkgconf python3 freealut apr-util boost curl freetype glm hunspell libjpeg-turbo meshoptimizer minizip nghttp2 openjpeg libvorbis libxml2[tools] xxhash +$ vcpkg install --allow-unsupported boost-fiber +$ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602 /Zc:preprocessor" +$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-arm64/bin:$VCPKG_ROOT/downloads/tools/msys2/2db36fb050d01f45/usr/bin:$VCPKG_ROOT/installed/arm64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" +$ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/arm64-windows/lib/pkgconfig" +$ export PYTHON="$VCPKG_ROOT/installed/arm64-windows/tools/python3/python.exe" +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=OFF -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_TOOLCHAIN_FILE:FILEPATH=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra +$ MSBuild.exe Megapahit.sln -p:Configuration=Release +$ cpack -G NSIS +$ start Megapahit-`cat newview/viewer_version.txt`-win64.exe +``` + +### Windows x64 ``` $ vcpkg install pkgconf python3 freealut apr-util boost freetype glm hunspell libjpeg-turbo meshoptimizer minizip nghttp2 openjpeg libvorbis libxml2[tools] xxhash $ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602" -$ export PATH="/c/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin:/c/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin:$VCPKG_ROOT/downloads/tools/msys2/21caed2f81ec917b/mingw64/bin:$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/libxml2:$PATH" -$ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/lib/pkgconfig" -$ export PYTHON="$VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/python3/python.exe" -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra +$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-i386/bin:$VCPKG_ROOT/downloads/tools/msys2/2db36fb050d01f45/usr/bin:$VCPKG_ROOT/installed/x64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin:$PATH" +$ export PKG_CONFIG_LIBDIR="$VCPKG_ROOT/installed/x64-windows/lib/pkgconfig" +$ export PYTHON="$VCPKG_ROOT/installed/x64-windows/tools/python3/python.exe" +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_TOOLCHAIN_FILE:FILEPATH=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra $ MSBuild.exe Megapahit.sln -p:Configuration=Release $ cpack -G NSIS $ start Megapahit-`cat newview/viewer_version.txt`-win64.exe |