Skip to content

SD: Release Build 3.x MinGW

Lukas Dürrenberger edited this page Dec 30, 2024 · 1 revision

x64

$OldPath = $Env:PATH
$Env:PATH += ";C:\tools\winlibs-x86_64-posix-seh-gcc-14.2.0-mingw-w64ucrt-12.0.0-r2\bin"


cmake -S . -B build-mingw-64 -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=D:/Programming/C++/Contrib/SFML/install-mingw-64 -DCMAKE_BUILD_TYPE=Debug
cmake --build build-mingw-64 --target install -j 8

cmake -S . -B build-mingw-64 -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=D:/Programming/C++/Contrib/SFML/install-mingw-64 -DCMAKE_BUILD_TYPE=Release
cmake --build build-mingw-64 --target install -j 8

cmake -S . -B build-mingw-64 -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=D:/Programming/C++/Contrib/SFML/install-mingw-64 -DCMAKE_BUILD_TYPE=Debug
cmake --build build-mingw-64 --config debug --target install -j 8

cmake -S . -B build-mingw-64 -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=D:/Programming/C++/Contrib/SFML/install-mingw-64 -DSFML_BUILD_EXAMPLES=ON -DSFML_BUILD_DOC=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build-mingw-64 --target doc -j 8
cmake --build build-mingw-64 --target install -j 8


cd install-mingw-64
mkdir doc
mv ./share/doc/SFML/html ./doc
mv ./share/doc/SFML/SFML.tag ./doc
rm -r ./share
rm -r ./lib/Release
cp -r ../examples ./examples
rm ./examples/CMakeLists.txt
rm ./examples/**/CMakeLists.txt
rm -r ./examples/include
rm ./examples/**/*.h
rm ./examples/**/*.hpp
cp ../build-mingw-64/bin/*.exe ./examples


$Env:PATH = $OldPath

x86

$OldPath = $Env:PATH
$Env:PATH += ";C:\tools\winlibs-i686-posix-dwarf-gcc-14.2.0-mingw-w64ucrt-12.0.0-r2\bin"


cmake -S . -B build-mingw-32 -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=D:/Programming/C++/Contrib/SFML/install-mingw-32 -DCMAKE_BUILD_TYPE=Debug
cmake --build build-mingw-32 --target install -j 8

cmake -S . -B build-mingw-32 -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=D:/Programming/C++/Contrib/SFML/install-mingw-32 -DCMAKE_BUILD_TYPE=Release
cmake --build build-mingw-32 --target install -j 8

cmake -S . -B build-mingw-32 -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=D:/Programming/C++/Contrib/SFML/install-mingw-32 -DCMAKE_BUILD_TYPE=Debug
cmake --build build-mingw-32 --target install -j 8

cmake -S . -B build-mingw-32 -G "MinGW Makefiles" -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=D:/Programming/C++/Contrib/SFML/install-mingw-32 -DSFML_BUILD_EXAMPLES=ON -DSFML_BUILD_DOC=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build-mingw-32 --target doc -j 8
cmake --build build-mingw-32 --target install -j 8


cd install-mingw-32
mkdir doc
mv ./share/doc/SFML/html ./doc
mv ./share/doc/SFML/SFML.tag ./doc
rm -r ./share
rm -r ./lib/Release
cp -r ../examples ./examples
rm ./examples/CMakeLists.txt
rm ./examples/**/CMakeLists.txt
rm -r ./examples/include
rm ./examples/**/*.h
rm ./examples/**/*.hpp
cp ../build-mingw-32/bin/*.exe ./examples


$Env:PATH = $OldPath

Clone this wiki locally