mirror of
https://github.com/slsdetectorgroup/aare.git
synced 2025-06-08 21:40:43 +02:00
add boost library
This commit is contained in:
parent
a48820059d
commit
59b04ad6e8
@ -27,6 +27,8 @@ option(AARE_FETCH_PYBIND11 "Use FetchContent to download pybind11" ON)
|
|||||||
option(AARE_FETCH_CATCH "Use FetchContent to download catch2" ON)
|
option(AARE_FETCH_CATCH "Use FetchContent to download catch2" ON)
|
||||||
option(AARE_FETCH_JSON "Use FetchContent to download nlohmann::json" ON)
|
option(AARE_FETCH_JSON "Use FetchContent to download nlohmann::json" ON)
|
||||||
option(AARE_FETCH_ZMQ "Use FetchContent to download libzmq" ON)
|
option(AARE_FETCH_ZMQ "Use FetchContent to download libzmq" ON)
|
||||||
|
option(AARE_FETCH_BOOST "Use FetchContent to download boost" ON)
|
||||||
|
|
||||||
|
|
||||||
#Convenience option to use system libraries
|
#Convenience option to use system libraries
|
||||||
option(AARE_SYSTEM_LIBRARIES "Use system libraries" OFF)
|
option(AARE_SYSTEM_LIBRARIES "Use system libraries" OFF)
|
||||||
@ -37,6 +39,8 @@ if(AARE_SYSTEM_LIBRARIES)
|
|||||||
set(AARE_FETCH_CATCH OFF CACHE BOOL "Disabled FetchContent for catch2" FORCE)
|
set(AARE_FETCH_CATCH OFF CACHE BOOL "Disabled FetchContent for catch2" FORCE)
|
||||||
set(AARE_FETCH_JSON OFF CACHE BOOL "Disabled FetchContent for nlohmann::json" FORCE)
|
set(AARE_FETCH_JSON OFF CACHE BOOL "Disabled FetchContent for nlohmann::json" FORCE)
|
||||||
set(AARE_FETCH_ZMQ OFF CACHE BOOL "Disabled FetchContent for libzmq" FORCE)
|
set(AARE_FETCH_ZMQ OFF CACHE BOOL "Disabled FetchContent for libzmq" FORCE)
|
||||||
|
set(AARE_FETCH_BOOST OFF CACHE BOOL "Disabled FetchContent for boost" FORCE)
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
@ -72,9 +76,26 @@ if (AARE_FETCH_FMT)
|
|||||||
)
|
)
|
||||||
FetchContent_MakeAvailable(fmt)
|
FetchContent_MakeAvailable(fmt)
|
||||||
else()
|
else()
|
||||||
find_package(fmt 6 REQUIRED)
|
find_package(fmt 6 REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
if (AARE_FETCH_BOOST)
|
||||||
|
set(BOOST_INCLUDE_LIBRARIES program_options)
|
||||||
|
set(BOOST_ENABLE_CMAKE ON)
|
||||||
|
FetchContent_Declare(
|
||||||
|
Boost
|
||||||
|
GIT_REPOSITORY https://github.com/boostorg/boost.git
|
||||||
|
GIT_TAG boost-1.80.0
|
||||||
|
)
|
||||||
|
FetchContent_MakeAvailable(Boost)
|
||||||
|
else()
|
||||||
|
|
||||||
|
find_package(Boost 1.80 REQUIRED COMPONENTS program_options)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
add_library(aare_compiler_flags INTERFACE)
|
add_library(aare_compiler_flags INTERFACE)
|
||||||
target_compile_features(aare_compiler_flags INTERFACE cxx_std_17)
|
target_compile_features(aare_compiler_flags INTERFACE cxx_std_17)
|
||||||
|
|
||||||
@ -88,7 +109,7 @@ else()
|
|||||||
INTERFACE
|
INTERFACE
|
||||||
-Og
|
-Og
|
||||||
-ggdb3
|
-ggdb3
|
||||||
-D_GLIBCXX_DEBUG
|
# -D_GLIBCXX_DEBUG # causes errors with boost
|
||||||
-D_GLIBCXX_DEBUG_PEDANTIC
|
-D_GLIBCXX_DEBUG_PEDANTIC
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -153,7 +174,7 @@ add_subdirectory(network_io)
|
|||||||
|
|
||||||
#Overall target to link to when using the library
|
#Overall target to link to when using the library
|
||||||
add_library(aare INTERFACE)
|
add_library(aare INTERFACE)
|
||||||
target_link_libraries(aare INTERFACE core file_io utils network_io)
|
target_link_libraries(aare INTERFACE core file_io utils network_io ${Boost_LIBRARIES})
|
||||||
target_include_directories(aare INTERFACE
|
target_include_directories(aare INTERFACE
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||||
$<INSTALL_INTERFACE:include>
|
$<INSTALL_INTERFACE:include>
|
||||||
|
@ -8,3 +8,4 @@ dependencies:
|
|||||||
- nlohmann_json # should be removed
|
- nlohmann_json # should be removed
|
||||||
- catch2
|
- catch2
|
||||||
- zeromq
|
- zeromq
|
||||||
|
- boost-cpp
|
||||||
|
@ -1,14 +1,13 @@
|
|||||||
|
|
||||||
set(EXAMPLE_LIST "json_example;logger_example;numpy_read_example;multiport_example;raw_example;")
|
set(EXAMPLE_LIST "json_example;logger_example;numpy_read_example;multiport_example;raw_example;restream_example")
|
||||||
set(EXAMPLE_LIST "${EXAMPLE_LIST};mythen_example;numpy_write_example;zmq_receiver_example;zmq_sender_example;")
|
set(EXAMPLE_LIST "${EXAMPLE_LIST};mythen_example;numpy_write_example;zmq_receiver_example;zmq_sender_example;")
|
||||||
foreach(example ${EXAMPLE_LIST})
|
foreach(example ${EXAMPLE_LIST})
|
||||||
add_executable(${example} ${example}.cpp)
|
add_executable(${example} ${example}.cpp)
|
||||||
target_link_libraries(${example} PUBLIC aare PRIVATE aare_compiler_flags)
|
target_link_libraries(${example} PUBLIC aare PRIVATE aare_compiler_flags)
|
||||||
|
|
||||||
|
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
|
||||||
|
message(STATUS "Boost_LIBRARIES: ${Boost_LIBRARIES}")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,10 +1,26 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
|
#include <filesystem>
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include <boost/program_options.hpp>
|
||||||
|
|
||||||
#include "aare/network_io/ZmqSocketSender.hpp"
|
#include "aare/network_io/ZmqSocketSender.hpp"
|
||||||
#include "aare/
|
|
||||||
|
#include <boost/program_options/options_description.hpp>
|
||||||
|
|
||||||
|
|
||||||
using namespace aare;
|
using namespace aare;
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
namespace po = boost::program_options;
|
||||||
|
|
||||||
int main(){
|
int main(int argc, char **argv) {
|
||||||
|
po::options_description desc("Allowed options");
|
||||||
|
desc.add_options()
|
||||||
|
("help", "produce help message")
|
||||||
|
// ("input,i", po::value<string>(), "input file");
|
||||||
|
("port,p", po::value<int>(), "port number");
|
||||||
|
// ("loop,l", "loop over the file");
|
||||||
|
// po::positional_options_description pd;
|
||||||
|
// pd.add("input,i", 1);
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user