Index
This is an overview of the build system and its components as used in Overte.
- Python prebuild:
- prebuild.py prepares tools required for configuring and building. Runs VCPKG.
hifi_android.py defines functions for downloading, checking, and preparing Android dependencies (including Qt)
hifi_qt.py defines functions for downloading, checking, and preparing Qt packages (exluding Android Qt)
hifi_singleton.py defines functions for locking files?
hifi_utils.py defines micelanious functions
hifi_vcpkg.py defines functions for downloading, checking (currently disabled), preparing, and using VCPKG
- CMake configuration:
- CMakeLists.txt takes configuration arguments, runs prebuild.py, configures builds
cmake/compiler.cmake Compiler detection and pre-configuration
cmake/init.cmake Sets "global" options that don't change. (e.g. CMake policies, relative source paths, etc.)
cmake/macros/ CMake files defining macros to be used as functions.
cmake/modules/ CMake files that look for dependencies and define their paths. They are included in other CMake files as modules.
cmake/externals/ CMake files for getting external dependencies directly via CMake.
cmake/installer/ Resources for the Windows NSIS installer.
cmake/templates/ Templates, that will be configured by CMake macros and put wherever in the codebase they are needed. For example, BuildInfo.h.in will be filled out by SetPackagingParameters.cmake, and then saved to build/includes/BuildInfo.h.
- VCPKG dependencies:
cmake/ports/ Contains VCPKG ports that will be used by VCPKG to install dependencies.
- Misc:
CMakeGraphvizOptions.cmake Graphviz configuration. Used for generating an "overview" of CMake dependencies.
TODO
android/