Overview of the APR external dependency
masterThe nupic.core project uses the Apache Portable Runtime (APR) unix sources for both Unix-like (Linux, Mac OS X) and Windows builds. The external package in nupic.core wraps the APR build process within a CMake module to ensure compatibility across platforms.
Key build characteristics:
- Unix/Linux/Mac OS X: Uses standard
configure-based builds. - Windows: Uses
CMakeLists.txtprovided by APR.
Note that the APR sources are patched by the project to:
- Disable the
libapr-1shared library target on Windows to avoid unnecessary builds. - Modify
APR_VERSION_STRING_CSVinapr_version.csvto ensure compatibility with themingwpytoolchain used for Windows builds.