From 20d56efdfc39ba630927d8b400312a1aa1d489da Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Mon, 7 Sep 2026 10:57:39 +0500 Subject: [PATCH] win: remove outdated msys2 scripts They were very outdated and if we'll need msys2 support, we'll be able to introduce it later in our Python scripts. --- README.md | 1 - conda/recipe.yaml | 1 - .../docs/ifcopenshell/installation.rst | 32 ------- win/build-deps.sh | 86 ------------------- win/build-ifcopenshell.sh | 30 ------- win/install-ifcopenshell.sh | 30 ------- win/readme.md | 23 +---- win/run-cmake.sh | 40 --------- 8 files changed, 4 insertions(+), 239 deletions(-) delete mode 100755 win/build-deps.sh delete mode 100755 win/build-ifcopenshell.sh delete mode 100755 win/install-ifcopenshell.sh delete mode 100755 win/run-cmake.sh diff --git a/README.md b/README.md index adedacaaa9..5d7975adec 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,5 @@ The IfcOpenShell C++ codebase is split into multiple interal libraries: [IFC4x3 Add2]: https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/ "IFC4x3 Add2" [Visual Studio]: https://www.visualstudio.com/ "Visual Studio" [Visual C++ Build Tools]: http://landinghub.visualstudio.com/visual-cpp-build-tools "Visual C++ Build Tools" -[MSYS2]: https://msys2.github.io/ "MSYS2" [win/readme.md]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/win/readme.md "win/readme.md" [nix/build-all.py]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/nix/build-all.py "nix/build-all.py" diff --git a/conda/recipe.yaml b/conda/recipe.yaml index c9d6cf665a..bf97c0f0c2 100644 --- a/conda/recipe.yaml +++ b/conda/recipe.yaml @@ -288,7 +288,6 @@ about: [IFC4 Add2 TC1]: https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/ "IFC4 Add2 TC1" [Visual Studio]: https://www.visualstudio.com/ "Visual Studio" [Visual C++ Build Tools]: http://landinghub.visualstudio.com/visual-cpp-build-tools "Visual C++ Build Tools" - [MSYS2]: https://msys2.github.io/ "MSYS2" [win/readme.md]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/win/readme.md "win/readme.md" [nix/build-all.py]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/nix/build-all.py "nix/build-all.py" homepage: https://ifcopenshell.org diff --git a/src/ifcopenshell-python/docs/ifcopenshell/installation.rst b/src/ifcopenshell-python/docs/ifcopenshell/installation.rst index ef2c51c386..f12d5c3545 100644 --- a/src/ifcopenshell-python/docs/ifcopenshell/installation.rst +++ b/src/ifcopenshell-python/docs/ifcopenshell/installation.rst @@ -254,38 +254,6 @@ C++ Build Tools `__). Readme `__. -Compiling on Windows (MSYS2 + MinGW) ------------------------------------- - -This is for users of `MSYS2 `__ and `MinGW -`__. - -1. Fetch the latest source code, including all submodules. - - .. code-block:: bat - - git clone --recursive https://github.com/IfcOpenShell/IfcOpenshell.git - - .. warning:: - - The path where the source code is cloned to can contain spaces but non-ASCII - characters are very likely to cause problems with the build. - -2. Start the MSYS2 Shell and then: - - .. code-block:: bat - - cd IfcOpenShell/win - ./build-deps.sh - ./run-cmake.sh - ./install-ifcopenshell.sh - -.. seealso:: - - For more information on configuring a Windows compilation see the `Windows - Readme - `__. - Packaged installation --------------------- diff --git a/win/build-deps.sh b/win/build-deps.sh deleted file mode 100755 index 14b7825809..0000000000 --- a/win/build-deps.sh +++ /dev/null @@ -1,86 +0,0 @@ -############################################################################### -# # -# This file is part of IfcOpenShell. # -# # -# IfcOpenShell is free software: you can redistribute it and/or modify # -# it under the terms of the Lesser GNU General Public License as published by # -# the Free Software Foundation, either version 3.0 of the License, or # -# (at your option) any later version. # -# # -# IfcOpenShell is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# Lesser GNU General Public License for more details. # -# # -# You should have received a copy of the Lesser GNU General Public License # -# along with this program. If not, see . # -# # -############################################################################### - -############################################################################### -# # -# This script installs and builds IfcOpenShell's dependencies using MSYS2 # -# # -# Note that this script is currently a very bare-bones implementation # -# # -############################################################################### - -set -e - -# Set defaults for missing empty environment variables - -if [ -z "$IFCOS_NUM_BUILD_PROCS" ]; then -IFCOS_NUM_BUILD_PROCS=$(expr $(sysctl -n hw.ncpu 2> /dev/null || cat /proc/cpuinfo | grep processor | wc -l) + 1) -fi - -BUILD_DIR=build-msys -SCRIPT_DIR=`pwd "$0"` - -DEPS_DIR="$SCRIPT_DIR/../deps" -[ -d $DEPS_DIR ] || mkdir -p $DEPS_DIR - -INSTALL_DIR="$SCRIPT_DIR/../deps-msys-installed" - -pacman --noconfirm -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-boost make swig - -export PATH=/mingw64/bin/:$PATH - -function git_clone_or_pull { - [ -d $2 ] || git clone $1 $2 - pushd $2 - git pull - popd -} - -function git_clone_and_checkout_revision { - [ -d $2 ] || git clone $1 $2 - pushd $2 - git checkout $3 - popd -} - -# Use a fixed revision in order to prevent introducing breaking changes -git_clone_and_checkout_revision https://github.com/KhronosGroup/OpenCOLLADA.git "$DEPS_DIR/OpenCOLLADA" \ - 064a60b65c2c31b94f013820856bc84fb1937cc6 -pushd "$DEPS_DIR/OpenCOLLADA" -[ -d $BUILD_DIR ] || mkdir -p $BUILD_DIR -pushd $BUILD_DIR -cmake .. -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR/OpenCOLLADA" -make -j$IFCOS_NUM_BUILD_PROCS -make install -popd - -git_clone_or_pull https://github.com/tpaviot/oce.git "$DEPS_DIR/oce" -git_clone_or_pull https://github.com/QbProg/oce-win-bundle.git "$DEPS_DIR/oce/oce-win-bundle" -pushd "$DEPS_DIR/oce" -[ -d $BUILD_DIR ] || mkdir -p $BUILD_DIR -pushd $BUILD_DIR -# -DOCE_BUILD_SHARED_LIB=0 -cmake .. -G "MSYS Makefiles" -DOCE_INSTALL_PREFIX="$INSTALL_DIR/oce" -DOCE_TESTING=0 -make -j$IFCOS_NUM_BUILD_PROCS -make install -popd - -popd - -echo IfcOpenShell dependencies installed and built diff --git a/win/build-ifcopenshell.sh b/win/build-ifcopenshell.sh deleted file mode 100755 index cf01975b3a..0000000000 --- a/win/build-ifcopenshell.sh +++ /dev/null @@ -1,30 +0,0 @@ -############################################################################### -# # -# This file is part of IfcOpenShell. # -# # -# IfcOpenShell is free software: you can redistribute it and/or modify # -# it under the terms of the Lesser GNU General Public License as published by # -# the Free Software Foundation, either version 3.0 of the License, or # -# (at your option) any later version. # -# # -# IfcOpenShell is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# Lesser GNU General Public License for more details. # -# # -# You should have received a copy of the Lesser GNU General Public License # -# along with this program. If not, see . # -# # -############################################################################### - -set -e - -export PATH=/mingw64/bin/:$PATH - -if [ -z "$IFCOS_NUM_BUILD_PROCS" ]; then -IFCOS_NUM_BUILD_PROCS=$(expr $(sysctl -n hw.ncpu 2> /dev/null || cat /proc/cpuinfo | grep processor | wc -l) + 1) -fi - -pushd ../build-msys -/mingw64/bin/mingw32-make.exe -j$IFCOS_NUM_BUILD_PROCS -popd diff --git a/win/install-ifcopenshell.sh b/win/install-ifcopenshell.sh deleted file mode 100755 index d7e09d86ab..0000000000 --- a/win/install-ifcopenshell.sh +++ /dev/null @@ -1,30 +0,0 @@ -############################################################################### -# # -# This file is part of IfcOpenShell. # -# # -# IfcOpenShell is free software: you can redistribute it and/or modify # -# it under the terms of the Lesser GNU General Public License as published by # -# the Free Software Foundation, either version 3.0 of the License, or # -# (at your option) any later version. # -# # -# IfcOpenShell is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# Lesser GNU General Public License for more details. # -# # -# You should have received a copy of the Lesser GNU General Public License # -# along with this program. If not, see . # -# # -############################################################################### - -set -e - -export PATH=/mingw64/bin/:$PATH - -if [ -z "$IFCOS_NUM_BUILD_PROCS" ]; then -IFCOS_NUM_BUILD_PROCS=$(expr $(sysctl -n hw.ncpu 2> /dev/null || cat /proc/cpuinfo | grep processor | wc -l) + 1) -fi - -pushd ../build-msys -make install -j$IFCOS_NUM_BUILD_PROCS -popd diff --git a/win/readme.md b/win/readme.md index 539ba9db1e..128182677c 100644 --- a/win/readme.md +++ b/win/readme.md @@ -5,19 +5,10 @@ and its dependencies. As a general guideline, `.cmd` files are non-standalone batch files that need to be run from command prompt or from another batch file, and/or while the Visual Studio ("MSVC") environment variables set, and `.bat` files are standalone batch -files that can also be invoked e.g. by double-clicking in the File Explorer. `.sh` files are for MSYS**2** + MinGW ("MSYS" -) compilation. +files that can also be invoked e.g. by double-clicking in the File Explorer. Usage Instructions ------------------ -### MSYS - -Building using MSYS is very similar to using the MSVC batch files, but instead the shell scripts -are used. Note that the MSYS support is currently a bit experimental. It is advised to check out the contents -of the shell scripts before using them. Note that contrary to MSVC, with MSYS all of the dependencies are not -built or used as static libraries. Currently Release build is used for all libraries. - -### MSVC Launch the proper Visual Studio command prompt, cd to the 'win' directory inside the IfcOpenShell directory and execute `build-deps.cmd` to fetch, build and install the dependencies. The batch file will print the requirements for a successful execution. The script allows a few user-configurable build options which are listed below. `build-deps.cmd` expects a CMake generator as `%1` and a build configuration type (`RelWithDebInfo`, `Release`, `MinSizeRel`, or `Debug`, defaults to `RelWithDebInfo`) as `%2`. If the generator is not provided, the generator is deduced from the MSVC environment variables. @@ -71,8 +62,6 @@ Before building the dependencies, enable the OCCT usage: > build-deps.cmd ``` -Please note that this option is not yet available in the MSYS build scripts. - Using an already existing Python installation --------------------------------------------- @@ -97,23 +86,19 @@ Directory Structure ------------------ ``` .. -+---build-* - Created by run-cmake.bat/sh, specific for a certain compiler and and target architecture -+---deps - Created by build-deps.cmd/sh, common for all compilers -+---deps-*-installed - Created by build-deps.cmd/sh, specific for a certain compiler and target architecture ++---build-* - Created by run-cmake.bat, specific for a certain compiler and and target architecture ++---deps - Created by build-deps.cmd, common for all compilers ++---deps-*-installed - Created by build-deps.cmd, specific for a certain compiler and target architecture +---installed-* - Created by installing the IFCOS project, specific for a certain compiler and target architecture \---win | build-all.cmd - Runs all of the build scripts for IFCOS and it dependencies in a row without pauses | build-deps.cmd - Fetches and builds all needed dependencies for IFCOS using MSVC -| build-deps.sh - Fetches and builds all needed dependencies for IFCOS using MSYS | BuildDepsCache-.txt - Cache file created by build-deps.cmd | build-ifcopenshell.bat - Builds IFCOS using MSVC -| build-ifcopenshell.sh - Builds IFCOS using MSYS | build-type-cfg.cmd - Utility file used by the build scripts | install-ifcopenshell.bat - Installs/deploys IFCOS using MSVC. -| install-ifcopenshell.sh - Installs/deploys IFCOS using MSYS. | readme.md - This file | run-cmake.bat - Sets environment variables for the dependencies and runs CMake for IFCOS using MSVC -| run-cmake.sh - Sets environment variables for the dependencies and runs CMake for IFCOS using MSYS | set-python-to-path.bat - Utility for setting PYTHONHOME (read from BuildDepsCache-.txt) to PATH | vs-cfg.cmd - Utility file used by the build scripts \---patches - Contains patches for the dependencies diff --git a/win/run-cmake.sh b/win/run-cmake.sh deleted file mode 100755 index a314adc8b3..0000000000 --- a/win/run-cmake.sh +++ /dev/null @@ -1,40 +0,0 @@ -############################################################################### -# # -# This file is part of IfcOpenShell. # -# # -# IfcOpenShell is free software: you can redistribute it and/or modify # -# it under the terms of the Lesser GNU General Public License as published by # -# the Free Software Foundation, either version 3.0 of the License, or # -# (at your option) any later version. # -# # -# IfcOpenShell is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# Lesser GNU General Public License for more details. # -# # -# You should have received a copy of the Lesser GNU General Public License # -# along with this program. If not, see . # -# # -############################################################################### - -set -e - -export PATH=/mingw64/bin/:$PATH - -BUILD_DIR=../build-msys -[ -d $BUILD_DIR ] || mkdir -p $BUILD_DIR - -CMAKE_INSTALL_PREFIX=../installed-msys - -pushd $BUILD_DIR - -# PYTHON_INCLUDE_DIR=/mingw64/include/python2.7 \ -# PYTHON_LIBRARY=/mingw64/lib/python2.7/config/libpython2.7.a \ -OCC_INCLUDE_DIR=`pwd`/../deps-msys-installed/oce/include/oce/ \ -OCC_LIBRARY_DIR=`pwd`/../deps-msys-installed/oce/Win64/lib/ \ -OPENCOLLADA_INCLUDE_DIR=`pwd`/../deps-msys-installed/OpenCOLLADA/include/opencollada/ \ -OPENCOLLADA_LIBRARY_DIR=`pwd`/../deps-msys-installed/OpenCOLLADA/lib/opencollada/ \ -cmake -G "MSYS Makefiles" ../cmake -DSWIG_DIR=/usr/bin -DCMAKE_INSTALL_PREFIX=$CMAKE_INSTALL_PREFIX \ - -DCMAKE_MAKE_PROGRAM=/mingw64/bin/mingw32-make.exe $@ - -popd