From 35857f9513986c96b2c316b63f009adb51b430a2 Mon Sep 17 00:00:00 2001 From: Ian Roddis Date: Fri, 13 Aug 2021 13:21:55 -0300 Subject: [PATCH] - More cmake cleanup --- cmake/pistache.cmake | 36 ++++++++++--------- daggy/CMakeLists.txt | 1 - daggy/include/daggy/Server.hpp | 17 ++------- daggy/src/Server.cpp | 14 ++++---- utils/rest_server/CMakeLists.txt | 3 +- .../{daggy.cpp => rest_server.cpp} | 4 +-- 6 files changed, 33 insertions(+), 42 deletions(-) rename utils/rest_server/{daggy.cpp => rest_server.cpp} (90%) diff --git a/cmake/pistache.cmake b/cmake/pistache.cmake index f5807f1..3080bf9 100644 --- a/cmake/pistache.cmake +++ b/cmake/pistache.cmake @@ -1,23 +1,25 @@ project(pistache) + include(ExternalProject) -ExternalProject_Add(PistacheDownload - PREFIX third_party - GIT_REPOSITORY https://github.com/pistacheio/pistache.git - GIT_TAG master - INSTALL_COMMAND "" -) +set_directory_properties(PROPERTIES EP_UPDATE_DISCONNECTED true) -set(PISTACHE_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/third_party/src/PistacheDownload/include) -set(PISTACHE_LIB_DIR ${CMAKE_CURRENT_BINARY_DIR}/third_party/src/PistacheDownload-build/src) +set(pistache_root ${THIRD_PARTY_DIR}/${PROJECT_NAME}) + +ExternalProject_Add(PistacheDownload + PREFIX ${pistache_root} + GIT_REPOSITORY https://github.com/pistacheio/pistache.git + GIT_TAG master + INSTALL_COMMAND "" + ) + +ExternalProject_Get_Property(PistacheDownload SOURCE_DIR) +set(PISTACHE_INCLUDE_DIR ${SOURCE_DIR}/include) +set(PISTACHE_LIB_DIR ${pistache_root}/src/PistacheDownload-build/src) + +file(MAKE_DIRECTORY ${PISTACHE_INCLUDE_DIR}) add_library(${PROJECT_NAME} SHARED IMPORTED) -add_dependencies(${PROJECT_NAME} $PistacheDownload) -set_target_properties(${PROJECT_NAME} PROPERTIES IMPORTED_LOCATION "${PISTACHE_LIB_DIR}/libpistache.a") - -#add_library(${PROJECT_NAME} STATIC IMPORTED) - -#set_target_properties(${PROJECT_NAME} PROPERTIES IMPORTED_LOCATION "${PISTACHE_BINARY_DIR}/lib/libpistache.a") - -#file(MAKE_DIRECTORY "${PISTACHE_BINARY_DIR}/include") -#target_include_directories(${PROJECT_NAME} SYSTEM INTERFACE "${PISTACHE_BINARY_DIR}/include/") +add_dependencies(${PROJECT_NAME} PistacheDownload) +target_include_directories(${PROJECT_NAME} INTERFACE ${PISTACHE_INCLUDE_DIR}) +set_target_properties(${PROJECT_NAME} PROPERTIES IMPORTED_LOCATION "${PISTACHE_LIB_DIR}/libpistache.a") \ No newline at end of file diff --git a/daggy/CMakeLists.txt b/daggy/CMakeLists.txt index 9609a34..edea93e 100644 --- a/daggy/CMakeLists.txt +++ b/daggy/CMakeLists.txt @@ -2,6 +2,5 @@ project(daggy) file(GLOB_RECURSE SOURCES src/*.cpp) add_library(${PROJECT_NAME} STATIC ${SOURCES}) -include_directories(${PISTACHE_INCLUDE_DIR}) target_include_directories(${PROJECT_NAME} PUBLIC include) target_link_libraries(${PROJECT_NAME} pistache pthread rapidjson magicEnum) \ No newline at end of file diff --git a/daggy/include/daggy/Server.hpp b/daggy/include/daggy/Server.hpp index cf81fb6..4e212dd 100644 --- a/daggy/include/daggy/Server.hpp +++ b/daggy/include/daggy/Server.hpp @@ -4,7 +4,7 @@ #include #include -// #include +#include namespace daggy { class Server { @@ -19,18 +19,6 @@ namespace daggy { private: void createDescription(); - // - // DAG Definition handlers - // - - void listDAGs(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); - - void upsertDAG(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); - - void deleteDAG(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); - - void getDAG(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); - // // DAG Runs // @@ -43,9 +31,10 @@ namespace daggy { // Get status of specific run void getDAGRun(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); + void handleReady(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); + Pistache::Http::Endpoint endpoint_; Pistache::Rest::Description desc_; Pistache::Rest::Router router_; - }; } diff --git a/daggy/src/Server.cpp b/daggy/src/Server.cpp index 216b793..8756606 100644 --- a/daggy/src/Server.cpp +++ b/daggy/src/Server.cpp @@ -32,13 +32,11 @@ namespace daggy { .produces(MIME(Application, Json)) .consumes(MIME(Application, Json)); - /* desc_ - .route(desc_.get("/ready")) - .bind(&Generic::handleReady) - .response(Http::Code::Ok, "Response to the /ready call") - .hide(); - */ + .route(desc_.get("/ready")) + .bind(&Server::handleReady, this) + .response(Http::Code::Ok, "Response to the /ready call") + .hide(); auto versionPath = desc_.path("/v1"); @@ -53,4 +51,8 @@ namespace daggy { */ } + + void Server::handleReady(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { + response.send(Pistache::Http::Code::Ok, "All good here"); + } } diff --git a/utils/rest_server/CMakeLists.txt b/utils/rest_server/CMakeLists.txt index e509171..c6aeeae 100644 --- a/utils/rest_server/CMakeLists.txt +++ b/utils/rest_server/CMakeLists.txt @@ -1,5 +1,4 @@ project(rest_server) file(GLOB SOURCES *.cpp) add_executable(${PROJECT_NAME} ${SOURCES}) -target_link_libraries(${PROJECT_NAME} daggy stdc++fs rapidjson pistache argparse) -set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "daggy") \ No newline at end of file +target_link_libraries(${PROJECT_NAME} pistache stdc++fs rapidjson argparse daggy) \ No newline at end of file diff --git a/utils/rest_server/daggy.cpp b/utils/rest_server/rest_server.cpp similarity index 90% rename from utils/rest_server/daggy.cpp rename to utils/rest_server/rest_server.cpp index c969c64..76bacc0 100644 --- a/utils/rest_server/daggy.cpp +++ b/utils/rest_server/rest_server.cpp @@ -1,7 +1,7 @@ #include #include -#include +#include #include #include @@ -19,5 +19,5 @@ int main(int argc, char **argv) { .help("Port to listen to") .action([](const std::string &value) { return std::stoi(value); }); - daggy::Server endpoint; + // daggy::Server endpoint(10); } \ No newline at end of file