diff --git a/CMakeLists.txt b/CMakeLists.txt index 02c577a..dc09422 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,11 @@ -cmake_minimum_required(VERSION 3.14) +cmake_minimum_required(VERSION 3.15) -project(mvlc-nng-node) +project(mesytec-node LANGUAGES CXX) + +set(MESYTEC_NODE_MAIN_PROJECT OFF) +if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) + set(MESYTEC_NODE_MAIN_PROJECT ON) +endif() set(CMAKE_EXPORT_COMPILE_COMMANDS ON) ## Create binaries in the root of the build directory diff --git a/external/mesytec-mvlc b/external/mesytec-mvlc index 06b7bd3..8e883f6 160000 --- a/external/mesytec-mvlc +++ b/external/mesytec-mvlc @@ -1 +1 @@ -Subproject commit 06b7bd33859d84ef77871c54500aeb325090ac64 +Subproject commit 8e883f6747b864173d7821956ca4ef22ea2607d1 diff --git a/src/mesy_nng.h b/include/mesytec-node/mesytec_node_nng.h similarity index 99% rename from src/mesy_nng.h rename to include/mesytec-node/mesytec_node_nng.h index 05db625..8058aad 100644 --- a/src/mesy_nng.h +++ b/include/mesytec-node/mesytec_node_nng.h @@ -12,7 +12,6 @@ #include #include -#include "thread_name.h" namespace mesytec::nng { diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7777ec0..cf372cc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -20,50 +20,54 @@ set(MVLC_NNG_NODE_WARN_FLAGS -Wall -Wextra -Wpedantic) #) #target_include_directories(dp_common INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) +add_library(mesytec-node-nng mesytec_node_nng.cc) +target_include_directories(mesytec-node-nng PUBLIC $) +target_link_libraries(mesytec-node-nng PUBLIC mesytec-mvlc PUBLIC nng) +target_compile_features(mesytec-node-nng PUBLIC cxx_std_17) + add_executable(pair_producer pair_producer.cc) target_compile_features(pair_producer PRIVATE cxx_std_17) -target_link_libraries(pair_producer PRIVATE mesytec-mvlc PRIVATE nng) +target_link_libraries(pair_producer PRIVATE mesytec-node-nng) target_compile_options(pair_producer PRIVATE ${MVLC_NNG_NODE_WARN_FLAGS}) add_executable(pair_consumer pair_consumer.cc) target_compile_features(pair_consumer PRIVATE cxx_std_17) -target_link_libraries(pair_consumer PRIVATE mesytec-mvlc PRIVATE nng) +target_link_libraries(pair_consumer PRIVATE mesytec-node-nng) target_compile_options(pair_consumer PRIVATE ${MVLC_NNG_NODE_WARN_FLAGS}) add_executable(pair_inproc pair_inproc.cc) target_compile_features(pair_inproc PRIVATE cxx_std_17) -target_link_libraries(pair_inproc PRIVATE mesytec-mvlc PRIVATE nng) +target_link_libraries(pair_inproc PRIVATE mesytec-node-nng) target_compile_options(pair_inproc PRIVATE ${MVLC_NNG_NODE_WARN_FLAGS}) add_executable(mvlc_nng_replay mvlc_nng_replay.cc) target_compile_features(mvlc_nng_replay PRIVATE cxx_std_17) -target_link_libraries(mvlc_nng_replay PRIVATE mesytec-mvlc PRIVATE nng) +target_link_libraries(mvlc_nng_replay PRIVATE mesytec-node-nng) target_compile_options(mvlc_nng_replay PRIVATE ${MVLC_NNG_NODE_WARN_FLAGS}) add_executable(mesy_nng_pipeline_main mesy_nng_pipeline_main.cc) target_compile_features(mesy_nng_pipeline_main PRIVATE cxx_std_17) -target_link_libraries(mesy_nng_pipeline_main PRIVATE mesytec-mvlc PRIVATE nng) +target_link_libraries(mesy_nng_pipeline_main PRIVATE mesytec-node-nng) target_compile_options(mesy_nng_pipeline_main PRIVATE ${MVLC_NNG_NODE_WARN_FLAGS}) add_executable(mesy_nng_push_pull_main mesy_nng_push_pull_main.cc) target_compile_features(mesy_nng_push_pull_main PRIVATE cxx_std_17) -target_link_libraries(mesy_nng_push_pull_main PRIVATE mesytec-mvlc PRIVATE nng) +target_link_libraries(mesy_nng_push_pull_main PRIVATE mesytec-node-nng) target_compile_options(mesy_nng_push_pull_main PRIVATE ${MVLC_NNG_NODE_WARN_FLAGS}) add_executable(mesy_nng_pub_producer pub_producer.cc) target_compile_features(mesy_nng_pub_producer PRIVATE cxx_std_17) -target_link_libraries(mesy_nng_pub_producer PRIVATE mesytec-mvlc PRIVATE nng) +target_link_libraries(mesy_nng_pub_producer PRIVATE mesytec-node-nng) target_compile_options(mesy_nng_pub_producer PRIVATE ${MVLC_NNG_NODE_WARN_FLAGS}) add_executable(mesy_nng_sub_consumer sub_consumer.cc) target_compile_features(mesy_nng_sub_consumer PRIVATE cxx_std_17) -target_link_libraries(mesy_nng_sub_consumer PRIVATE mesytec-mvlc PRIVATE nng) +target_link_libraries(mesy_nng_sub_consumer PRIVATE mesytec-node-nng) target_compile_options(mesy_nng_sub_consumer PRIVATE ${MVLC_NNG_NODE_WARN_FLAGS}) add_executable(mnode-proto-test1 mnode_proto_test1.cc thread_name.cc) -target_link_libraries(mnode-proto-test1 PRIVATE mnode-proto PRIVATE mesytec-mvlc PRIVATE nng) +target_link_libraries(mnode-proto-test1 PRIVATE mnode-proto PRIVATE mesytec-node-nng PRIVATE mesytec-mvlc) -#add_subdirectory(nng) #add_subdirectory(qt) #unset(CMAKE_C_CLANG_TIDY) diff --git a/src/mesy_nng_pipeline_main.cc b/src/mesy_nng_pipeline_main.cc index 766ae55..ea76c68 100644 --- a/src/mesy_nng_pipeline_main.cc +++ b/src/mesy_nng_pipeline_main.cc @@ -1,5 +1,5 @@ #include -#include "mesy_nng.h" +#include using namespace mesytec::nng; diff --git a/src/mesy_nng_push_pull_main.cc b/src/mesy_nng_push_pull_main.cc index 355d755..55ee0fd 100644 --- a/src/mesy_nng_push_pull_main.cc +++ b/src/mesy_nng_push_pull_main.cc @@ -1,9 +1,10 @@ -#include "mesy_nng.h" +#include #include #include #include #include "test_producer_consumer.h" +#include using namespace mesytec::nng; diff --git a/src/mesytec_node_nng.cc b/src/mesytec_node_nng.cc new file mode 100644 index 0000000..a8c74ba --- /dev/null +++ b/src/mesytec_node_nng.cc @@ -0,0 +1 @@ +#include "mesytec-node/mesytec_node_nng.h" diff --git a/src/mnode_proto_test1.cc b/src/mnode_proto_test1.cc index f10f972..cab5b50 100644 --- a/src/mnode_proto_test1.cc +++ b/src/mnode_proto_test1.cc @@ -1,6 +1,6 @@ #include #include "proto/service.pb.h" -#include "mesy_nng.h" +#include using namespace mesytec; using namespace std::literals; diff --git a/src/mvlc_nng_replay.cc b/src/mvlc_nng_replay.cc index 7fdc8e8..5eee331 100644 --- a/src/mvlc_nng_replay.cc +++ b/src/mvlc_nng_replay.cc @@ -3,7 +3,7 @@ #include #include #include -#include "mesy_nng.h" +#include using namespace mesytec; using namespace mesytec::mvlc; diff --git a/src/test_producer_consumer.h b/src/test_producer_consumer.h index d793f91..f4010b0 100644 --- a/src/test_producer_consumer.h +++ b/src/test_producer_consumer.h @@ -1,7 +1,7 @@ #ifndef E6EFFE63_EB2C_4573_B723_61840850BBF6 #define E6EFFE63_EB2C_4573_B723_61840850BBF6 -#include "mesy_nng.h" +#include using namespace mesytec::nng; // to make the old code compile. for test code only.