added some required libs

This commit is contained in:
hwinkel
2023-08-05 15:50:19 +02:00
parent c3cc840791
commit ca1e714c51
13 changed files with 130 additions and 29 deletions

9
.gitmodules vendored Normal file
View File

@@ -0,0 +1,9 @@
[submodule "libs/loguru"]
path = libs/loguru
url = https://github.com/emilk/loguru.git
[submodule "libs/yaml-cpp"]
path = libs/yaml-cpp
url = https://github.com/jbeder/yaml-cpp.git
[submodule "libs/curlcpp"]
path = libs/curlcpp
url = https://github.com/JosephP91/curlcpp.git

View File

@@ -3,33 +3,59 @@ project (Ship VERSION 0.1.0 LANGUAGES CXX C)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules) set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
include(defaultOptions) include(defaultOptions)
FIND_PACKAGE(Threads REQUIRED)
IF(NOT TARGET Catch2) IF(NOT TARGET Catch2)
add_subdirectory(libs/Catch2 EXCLUDE_FROM_ALL) add_subdirectory(libs/Catch2 EXCLUDE_FROM_ALL)
include(libs/Catch2/contrib/Catch.cmake) include(libs/Catch2/contrib/Catch.cmake)
ENDIF() ENDIF()
add_compile_definitions(LOGURU_WITH_STREAMS SQLITE_THREADSAFE=2)
IF(NOT TARGET loguru)
IF (NOT TARGET CLI11) add_subdirectory(libs/loguru EXCLUDE_FROM_ALL)
ENDIF()
IF (NOT TARGET CLI11)
set(CLI11_TESTING OFF CACHE BOOL "disable testing") set(CLI11_TESTING OFF CACHE BOOL "disable testing")
add_subdirectory(libs/CLI11 EXCLUDE_FROM_ALL) add_subdirectory(libs/CLI11 EXCLUDE_FROM_ALL)
ENDIF()
IF (NOT TARGET yaml-cpp)
set(YAML_CPP_BUILD_TESTS OFF CACHE INTERNAL "")
set(YAML_CPP_BUILD_TOOLS OFF CACHE INTERNAL "")
set(YAML_CPP_BUILD_CONTRIB OFF CACHE INTERNAL "")
set(YAML_CPP_INSTALL OFF CACHE INTERNAL "")
add_subdirectory(libs/yaml-cpp EXCLUDE_FROM_ALL)
ENDIF() ENDIF()
# FIND_PACKAGE(yaml-cpp REQUIRED)
# build with CC=clang-15 CXX=clang++-15 cmake -D CMAKE_BUILD_TYPE=DEBUG .. IF (NOT TARGET curlcpp)
# set(CLI11_TESTING OFF CACHE BOOL "disable testing")
add_subdirectory(libs/curlcpp EXCLUDE_FROM_ALL)
add_library(kubecontrol STATIC ENDIF()
libs/kubecontrol/kubecontrol.hpp
src/kubecontrol/kubecontrol.cpp # IF (NOT TARGET rest-client)
# set(BUILD_SHARED_LIBS OFF CACHE BOOL "disable testing")
# add_subdirectory(libs/rest-client EXCLUDE_FROM_ALL)
# ENDIF()
# build with CC=clang-15 CXX=clang++-15 cmake -D CMAKE_BUILD_TYPE=DEBUG ..
add_library(kubecontrol STATIC
include/kubecontrol/kubecontrol.hpp
src/kubecontrol/kubecontrol.cpp
) )
target_link_libraries(kubecontrol target_link_libraries(kubecontrol
EntityLibrary yaml-cpp
curlcpp
loguru loguru
pthread
) )
target_include_directories(kubecontrol PUBLIC target_include_directories(kubecontrol PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -44,13 +70,13 @@ target_include_directories(kubecontrol PUBLIC
# #
option(TEST_KUBECONTROL_LIBRARY "Turn running of application template specific tests off" ON) option(TEST_KUBECONTROL_LIBRARY "Turn running of application template specific tests off" ON)
IF (${TEST_ENTITIY_LIBRARY}) IF (${TEST_KUBECONTROL_LIBRARY})
# add_executable(test_SensorClass tests/test_SensorClass.cpp) add_executable(test_kubecontrol tests/test_kubecontrol.cpp)
# target_link_libraries(test_SensorClass Catch2::Catch2 EntityLibrary loguru) target_link_libraries(test_kubecontrol Catch2::Catch2 kubecontrol loguru)
# catch_discover_tests(test_SensorClass) catch_discover_tests(test_kubecontrol)

View File

@@ -3,7 +3,7 @@ find_package(Git)
enable_testing() enable_testing()
cxx_20() cxx_20()
build_docs(PROCESS_DOXYFILE DOXYFILE_PATH "docs/Doxyfile.in" ) # build_docs(PROCESS_DOXYFILE DOXYFILE_PATH "docs/Doxyfile.in" )
add_code_coverage_all_targets(EXCLUDE ${PROJECT_SOURCE_DIR}/libs/* ${PROJECT_SOURCE_DIR}/test/*) add_code_coverage_all_targets(EXCLUDE ${PROJECT_SOURCE_DIR}/libs/* ${PROJECT_SOURCE_DIR}/test/*)
TEST_BIG_ENDIAN(IS_BIG_ENDIAN) TEST_BIG_ENDIAN(IS_BIG_ENDIAN)

View File

@@ -1,3 +1,5 @@
function(protobuf_generate_cpp) function(protobuf_generate_cpp)
set(OPTIONS) set(OPTIONS)
set(SINGLE_VALUE_KEYWORDS set(SINGLE_VALUE_KEYWORDS
@@ -13,20 +15,22 @@ function(protobuf_generate_cpp)
${ARGN}) ${ARGN})
FILE(GLOB PROTO_FILES ${protobuf_PROTO_PATH}/*.proto) FILE(GLOB PROTO_FILES ${protobuf_PROTO_PATH}/*.proto)
set(PROTOC ${CMAKE_BINARY_DIR}/libs/protobuf/protoc) set(PROTOC ${CMAKE_BINARY_DIR}/libs/EntityLibrary/libs/SimCore/libs/whisper-com/libs/protobuf/protoc)
# set(PROTOC protoc) message(STATUS "protoc path: " ${PROTOC})
FOREACH(proto ${PROTO_FILES}) FOREACH(proto ${PROTO_FILES})
FILE(TO_NATIVE_PATH ${proto} proto_native) FILE(TO_NATIVE_PATH ${proto} proto_native)
get_filename_component(protoFILENAME ${proto} NAME_WLE ) get_filename_component(protoFILENAME ${proto} NAME_WLE )
get_filename_component(protoDIR ${proto} DIRECTORY) get_filename_component(protoDIR ${proto} DIRECTORY)
message(STATUS "proto file path: " ${proto})
add_custom_command( add_custom_command(
OUTPUT "${protoDIR}/${protoFILENAME}.pb.cc" OUTPUT "${protoDIR}/${protoFILENAME}.pb.cc"
DEPENDS "${protoDIR}/${protoFILENAME}.proto" DEPENDS "${protoDIR}/${protoFILENAME}.proto"
COMMAND ${PROTOC} --cpp_out=${protoDIR} --proto_path=${protoDIR} --proto_path="${CMAKE_SOURCE_DIR}/libs/protobuf/src" "${protoDIR}/${protoFILENAME}.proto" COMMAND ${PROTOC} --cpp_out=${protoDIR} --proto_path=${protoDIR} --proto_path="${CMAKE_SOURCE_DIR}/libs/EntityLibrary/libs/SimCore/include/SimCore/Messages/Protos" --proto_path="${CMAKE_SOURCE_DIR}/libs/EntityLibrary/libs/SimCore/libs/whisper-com/libs/protobuf/src" "${protoDIR}/${protoFILENAME}.proto"
)
)
ENDFOREACH(proto) ENDFOREACH(proto)

19
docs/config Normal file
View File

@@ -0,0 +1,19 @@
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQWVhZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeU1ERXlPREV4TkRBMU9Wb1hEVE15TURFeU5qRXhOREExT1Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTU1aClpvTExtWVFVdm9pVWRuNzgrYkJCNUNYcGVJOHRzc2pkbmpCUU9kRW9kN2ZEUS9lZHlGWXlQaHJsZzFVVGVqajUKbHoxVHdWdVZVSWEzaTlpczZWdnZPdFkrWlBtSS9CNnUvdVpXNlJoVjhtN3pFQ0NjejRkTXNMUGQ3NXBqdlBaSwp3TFpEM0hjaCtFMXZMVDZSSUkybVpkV0FMY1REOHBUY0kvcHlHaHEzaEVKQko0NFZkMHcyYkFiQXViVVdoZ09oClo5WkhsSFVSeHFTUHc5bmZ1anY3RUFheU9GY2toVzNISnRkS2JLNEo5ZTQ3ZmQ2ai9KZDgvK0Q0OW5OOGhyZkIKR0hLaFVEQXhLSDZ5T2lFVEFNSXNtcWhmZTFlQlFra0ErdlJvN1FNUXBNMlIrVzE4ZmhNTzJDTFhjUStLdDQ0dwpwenpCUjY2ZnpCblB0cmh4T3BzQ0F3RUFBYU5aTUZjd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZPOGJDOUFkZjVrRzFkaFJWb2tSVGFpbFFHY1RNQlVHQTFVZEVRUU8KTUF5Q0NtdDFZbVZ5Ym1WMFpYTXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBSitlelhTRngyZ0plSnV2cmNxRQppYjVBNnVwYm9xOXEyYVJFR3M3Q3FzL3NodjQ0VFFGMmFTRjNDUGhEdHhQWnFtMjUyZjZYNElYTGVjYVA1cDYvCnBZQTdOU1pzaGZIVFhLZ3pnOStWYUlrdWtWdzRQU1poQ3BxWkk5QXFhOHpTaXNDRndwQ1dieGtVcG8wR2JITk8KTmRUR1htbWRwYUt5NXUwMkw0dHorcXZiZmVTbzZHeHc2aWt6WnlGRk1BcDdzZUoxREpzcE1IdnFxb1g0V3k2cwp0S2haV09rMEU2RWZkUStvOWdCcFJ6R0prK0dsd2pwUlI2K1hJcWNKR05lMHBZVVZXTTRFVEFUcmlwRTVvaVFkCmpaRElycUwvRHQ0ZWwrWmh1cFU2M2haeHJ6QTE4b1pYUS9QaG5xU3AzbGdqYTZ3S05hcXo4L0YzWTZqVjloM2oKTUxnPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
server: https://192.168.252.5:6443
name: kubernetes
contexts:
- context:
cluster: kubernetes
namespace: hwinkel
user: kubernetes-admin@kubernetes-hwinkel-token-user
name: hwinkel
current-context: hwinkel
kind: Config
preferences: {}
users:
- name: kubernetes-admin@kubernetes-hwinkel-token-user
user:
token: eyJhbGciOiJSUzI1NiIsImtpZCI6InJwN2R3a2NEWHJva0ptLVNFUnAxMnUxNEF3VUdmdURRTmw5VWZuM0NCZ3MifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJod2lua2VsIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6Imh3aW5rZWwtc2VjcmV0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6Imh3aW5rZWwiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJmNDNkNTc5NS1lNDFhLTQxOTYtODVkMS01YmNkZGIxNzFkYjkiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6aHdpbmtlbDpod2lua2VsIn0.TQCBkEIY0sEQjpy-3BP1SdXl94Ct-oAeD4VGNEOJEzDYBuU4Cn1fG32k2wAIgZemh6P-DcBhPk0VtCWCLYhWWwIe6FNo3FpqOxcDbu8QHlyD-Y3VnfSzKRHg9OKgUSWnc_Z5P9iBtilNQxnZp_wLOBW6TL8ZeECxeVtBBxUpYfoywSWS7mNpwxHcecP_U__LUU1tP7pYZ8OgDiSIH04CaTrQisTL-FGdcqOEYQhx4zoOyVQFWWYkfjG9oD-5zjtS29O0gckfvKLOu2y_K6RVR51szsquiJiHP1s_AcS-qq1-rXRqEpYRsLxRxr-dflL3aAjnLlPSYCwheQhjCa0fjQ

View File

@@ -0,0 +1,14 @@
#include <string>
#include <yaml.h>
namespace kubecontrol
{
class kubecontrol
{
public:
kubecontrol(std::string pathToKubectlConfig);
void getPods();
};
}

1
libs/curlcpp Submodule

Submodule libs/curlcpp added at b7df7787d1

1
libs/loguru Submodule

Submodule libs/loguru added at 4adaa18588

1
libs/yaml-cpp Submodule

Submodule libs/yaml-cpp added at 35b4498026

View File

@@ -0,0 +1,27 @@
#include <kubecontrol/kubecontrol.hpp>
#include <curl_easy.h>
#include <yaml-cpp/yaml.h>
#include <loguru.hpp>
namespace kubecontrol
{
kubecontrol::kubecontrol(std::string pathToKubectlConfig)
{
YAML::Node config = YAML::LoadFile(pathToKubectlConfig);
LOG_S(INFO)<< "test";
curl::curl_easy easy;
easy.add<CURLOPT_URL>("http://<your_url_here>");
easy.add<CURLOPT_FOLLOWLOCATION>(1L);
}
void kubecontrol::getPods()
{
}
}

View File

@@ -1,17 +1,16 @@
#include <memory>
#include <string>
#include <thread>
#include <tuple>
#define CATCH_CONFIG_MAIN #define CATCH_CONFIG_MAIN
#include <catch2/catch.hpp> #include <catch2/catch.hpp>
// SimCore::Identifier OwnID, SimCore::Identifier ParentID, SimCore::SensorKinds SensorKind,std::uint32_t GroundTruthPort, std::uint32_t ParentPort,std::string ParentIPAddress #include <kubecontrol/kubecontrol.hpp>
SCENARIO("Testing the SimCore Sensor") SCENARIO("Testing the SimCore Sensor")
{ {
kubecontrol::kubecontrol kc("../docs/config");
GIVEN("different Attributes for a Track in different forms") GIVEN("different Attributes for a Track in different forms")
{ {
@@ -20,7 +19,7 @@ SCENARIO("Testing the SimCore Sensor")
THEN("check if Track attributes are correct") THEN("check if Track attributes are correct")
{ {
// REQUIRE(testOperator == true); REQUIRE(true == true);