2.0 KiB
Installation Guide
Installation and Reuse
There are a few different ways of installing/reusing units in your project.
Copy
As units is a header-only library you can simply copy src/include directory to
your source tree and use it as regular header files.
NOTE: Until C++20 arrives the library has some 3rd party dependencies that provide experimental C++20 features. The list of dependncies include:
range-v3@ericniebler
All of them are easily obtained with conan.
cmake + conan
To use units as a cmake imported library via cmake configuration files the following
steps may be done:
-
add the following remotes to your local
conaninstanceconan remote add conan-mpusz https://api.bintray.com/conan/mpusz/conan-mpusz -
add
unitsas a dependency to yourconanfile. For example to use testing version of0.4.0ofmp-unitsadd:-
conanfile.txt[requires] mp-units/0.4.0@mpusz/testing -
conanfile.pyrequires = "mp-units/0.4.0@mpusz/testing"
-
-
link your
cmaketarget with unitstarget_link_libraries(<your_target> PUBLIC|PRIVATE|INTERFACE CONAN_PKG::mp-units) -
install
conandependencies before configuring cmakecd build conan install .. -pr <your_conan_profile> -s cppstd=20 -b=outdated -u
Full build and unit testing
In case you would like to build all the code in that repository (with unit tests and examples)
you should use the CMakeLists.txt from the parent directory.
mkdir build && cd build
conan install .. <your_profile_and_settings> -s cppstd=20
cmake .. <your_cmake_configuration>
cmake --build .
Packaging
To create a conan package and test cmake installation and conan packaging run:
conan create . <username>/<channel> -s cppstd=20 -b=outdated <your_profile_and_settings>
Upload package to conan server
conan upload -r <remote-name> --all mp-units/0.4.0@<user>/<channel>