Files
IfcOpenShell/win/readme.md
T

51 lines
3.0 KiB
Markdown

Windows Build Tools and Scripts
===============================
This folder contains build tools and script for automatic building and deployment of IfcOpenShell's
(IFCOS) dependencies.
As a general guideline, `.cmd` files are non-standalone batch files that need to be run from command
prompt or from other batch file and/or Visual Studio environment variables set and `.bat` files are
standalone batch files that can be run also from the File Explorer.
Usage Instructions
------------------
Execute `build-deps.cmd` to fetch, build and install the dependencies. The batch file will print
requirements for a successful execution. The script allows a few user-configurable build options
which are listed in the usage instructions. Either edit the script file or set these values before
running the script.
build-deps.cmd expects a CMake generator as `%1` and a build configuration type as `%2`. If the parameters
are not provided, the default values are used (`"Visual Studio 14 2015 Win64"` and `RelWithDebInfo` respectively).
A build type (`Build/Rebuild/Clean`) can be provided as `%3`, if wanted (defaults to `Build`). See `vs-cfg.cmd`
if you want to change the defaults. The batch file will create `deps\` and `deps-vs<VERSION>-<ARCHITECTURE>-installed\`
directories to the project root. Debug and release builds of the depedencies can co-exist by simply running
`build-deps.cmd <GENERATOR> Debug` and `build-deps.cmd <GENERATOR> <Release|RelWithDebInfo|MinSizeRel>`.
After the dependencies are build, execute `run-cmake.bat`. The batch file expects a CMake generator as
`%1`, or alternatively if more parameters are provided, `%*` is passed for the CMake invokation. If no `%1`
is provided, the same default value as above is used. This batch script will create a folder of form
build-vs<VERSION>-<ARCHITECTURE> which will contain the solution and project files for Visual Studio.
**If you wish to use any library from a custom location, modify the paths in run-cmake.bat
accordingly**.
You can now build the project using the `IfcOpenShell.sln` file in the build folder. Build the `INSTALL` project
if wanted. The project will installed to `installed-vs<VERSION>-<ARCHITECTURE>\` folder in the project's root
folder and the required IfcOpenShell-Python parts are deployed to the `<PYTHONPATH>\Lib\site-packages\` folder.
All of the dependencies are build as static libraries against the static run-time allowing the developer
to effortlessly deploy standalone IFCOS binaries.
Directory Structure
------------------
```
| build-deps.cmd - Fetches and builds all needed dependencies for IFCOS
| readme.txt - This file
| run-cmake.bat - Sets environment variables for the dependencies and runs CMake for IFCOS
| vs-cfg.cmd - Utility file used by the build scripts
| BuildDepsCache-<ARCH>.txt - Cache file created by build-deps.cmd
|
+---sln - Contains the old Visual Studio solution and project files
\---utils - Contains various utilities for the build scripts
```