mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 16:46:47 +00:00
README: Update instructions
This commit is contained in:
parent
8d12b908b6
commit
2208fe91e8
28
README.md
28
README.md
|
@ -44,11 +44,14 @@ a simulation, reconstruction and analysis framework.
|
||||||
|
|
||||||
## Installation from Source
|
## Installation from Source
|
||||||
|
|
||||||
|
Recommended:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/FairRootGroup/FairMQ fairmq
|
git clone https://github.com/FairRootGroup/FairMQ fairmq_source
|
||||||
mkdir fairmq_build && cd fairmq_build
|
cmake -S fairmq_source -B fairmq_build -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=fairmq_install
|
||||||
cmake -DCMAKE_INSTALL_PREFIX=./fairmq_install ../fairmq
|
cmake --build fairmq_build
|
||||||
cmake --build . --target install
|
cd fairmq_build; ctest -j4; cd ..
|
||||||
|
cmake --build fairmq_build --target install
|
||||||
```
|
```
|
||||||
|
|
||||||
If dependencies are not installed in standard system directories, you can hint the installation location via `-DCMAKE_PREFIX_PATH=...` or per dependency via `-D{DEPENDENCY}_ROOT=...`. `{DEPENDENCY}` can be `GTEST`, `BOOST`, `FAIRLOGGER`, `ZEROMQ`, `MSGPACK`, `NANOMSG`, `OFI`, `PMIX`, `ASIOFI` or `DDS` (`*_ROOT` variables can also be environment variables).
|
If dependencies are not installed in standard system directories, you can hint the installation location via `-DCMAKE_PREFIX_PATH=...` or per dependency via `-D{DEPENDENCY}_ROOT=...`. `{DEPENDENCY}` can be `GTEST`, `BOOST`, `FAIRLOGGER`, `ZEROMQ`, `MSGPACK`, `NANOMSG`, `OFI`, `PMIX`, `ASIOFI` or `DDS` (`*_ROOT` variables can also be environment variables).
|
||||||
|
@ -70,26 +73,27 @@ find_package(FairMQ)
|
||||||
|
|
||||||
`find_package(FairMQ)` will define an imported target `FairMQ::FairMQ`.
|
`find_package(FairMQ)` will define an imported target `FairMQ::FairMQ`.
|
||||||
|
|
||||||
In order to succesfully compile and link against the `FairMQ::FairMQ` target, you need to discover its public package dependencies, too.
|
In order to succesfully compile and link against the `FairMQ::FairMQ` target, you need to discover its public package dependencies:
|
||||||
|
|
||||||
```cmake
|
```cmake
|
||||||
find_package(FairMQ)
|
find_package(FairMQ)
|
||||||
if(FairMQ_FOUND)
|
if(FairMQ_FOUND)
|
||||||
find_package(FairLogger ${FairMQ_FairLogger_VERSION})
|
foreach(dep IN LISTS FairMQ_PACKAGE_DEPENDENCIES)
|
||||||
find_package(Boost ${FairMQ_Boost_VERSION} COMPONENTS ${FairMQ_Boost_COMPONENTS})
|
if(FairMQ_${dep}_COMPONENTS)
|
||||||
|
find_package(${dep} ${FairMQ_${dep}_VERSION} COMPONENTS ${FairMQ_${dep}_COMPONENTS})
|
||||||
|
else()
|
||||||
|
find_package(${dep} ${FairMQ_${dep}_VERSION})
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
```
|
```
|
||||||
|
|
||||||
Of course, feel free to customize the above commands to your needs.
|
If your project shares a dependency with FairMQ or if you want to omit a certain dependency, you may want to customize the above example code to your needs.
|
||||||
|
|
||||||
Optionally, you can require certain FairMQ package components and a minimum version:
|
Optionally, you can require certain FairMQ package components and a minimum version:
|
||||||
|
|
||||||
```cmake
|
```cmake
|
||||||
find_package(FairMQ 1.1.0 COMPONENTS nanomsg_transport dds_plugin)
|
find_package(FairMQ 1.1.0 COMPONENTS nanomsg_transport dds_plugin)
|
||||||
if(FairMQ_FOUND)
|
|
||||||
find_package(FairLogger ${FairMQ_FairLogger_VERSION})
|
|
||||||
find_package(Boost ${FairMQ_Boost_VERSION} COMPONENTS ${FairMQ_Boost_COMPONENTS})
|
|
||||||
endif()
|
|
||||||
```
|
```
|
||||||
|
|
||||||
When building FairMQ, CMake will print a summary table of all available package components.
|
When building FairMQ, CMake will print a summary table of all available package components.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user