Install Core as a Static Library
Erbsland Core always builds as a static library. Installing it separately is useful for package-building workflows or when several controlled projects share one exact Core revision.
Note
We strongly recommend to integrate Erbsland Core as a submodule, as it remains simpler because source and application revisions stay together.
Build and Install
Clone the chosen revision and configure a consumer-oriented Release build:
$ git clone https://github.com/erbsland-dev/erbsland-core.git
$ cmake -S erbsland-core -B erbsland-core-build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DERBSLAND_CORE_ENABLE_TESTS=OFF \
-DERBSLAND_CORE_ENABLE_DEMOS=OFF \
-DERBSLAND_CORE_ENABLE_PRECOMPILED_HEADERS=ON \
-DERBSLAND_CORE_DEVELOPER_BUILD=OFF
$ cmake --build erbsland-core-build
$ cmake --install erbsland-core-build --prefix "$PWD/erbsland-core-install"
Installed consumers receive the regular flattened namespace and el alias by default.
Core itself always compiles with explicit domain namespaces.
Developer mode is disabled so the installed binary does not expose development-only hooks.
The selected prefix receives the static library, public headers, the package configuration, and the Git-version CMake helper.
Consume the Package
Use CMake’s config-package mode and configure the executable with Core’s application helper:
cmake_minimum_required(VERSION 3.28)
project(ExampleConsumer LANGUAGES CXX)
find_package(erbsland-core CONFIG REQUIRED)
add_executable(example src/main.cpp)
erbsland_core_setup_application(TARGET example)
Point CMake to a custom installation prefix when configuring the consumer:
$ cmake -S . -B build -G Ninja \
-DCMAKE_PREFIX_PATH=/absolute/path/to/erbsland-core-install
$ cmake --build build
Both setup helpers select the available Core target automatically.
Use erbsland_core_setup_static_library(TARGET example_library) for a static-library target, whether Core is
integrated from source or consumed as an installed package.