Add swagger-drogon generator

This commit is contained in:
gabdevele
2026-06-03 01:52:43 +02:00 Unverified
parent 1043768da7
commit 21883a4a8f
19 changed files with 1672 additions and 203 deletions
+14
View File
@@ -73,18 +73,32 @@ target_link_libraries(${PROJECT_NAME}
file(GLOB CONTROLLER_HEADERS CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/controllers/*.h
)
file(GLOB OPENAPI_SOURCE_FILES CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/controllers/*.cc
${CMAKE_CURRENT_SOURCE_DIR}/services/*.cc
)
file(GLOB_RECURSE SWAGGER_DROGON_FILES CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/scripts/swagger-drogon/*.py
${CMAKE_CURRENT_SOURCE_DIR}/scripts/swagger-drogon/*.toml
${CMAKE_CURRENT_SOURCE_DIR}/scripts/swagger-drogon/*.md
)
set(OPENAPI_OUTPUT ${CMAKE_BINARY_DIR}/openapi/visione.openapi.json)
add_custom_command(
OUTPUT ${OPENAPI_OUTPUT}
COMMAND ${Python3_EXECUTABLE}
${CMAKE_CURRENT_SOURCE_DIR}/scripts/generate_openapi.py
--controllers ${CMAKE_CURRENT_SOURCE_DIR}/controllers
--sources ${CMAKE_CURRENT_SOURCE_DIR}/controllers ${CMAKE_CURRENT_SOURCE_DIR}/services
--contract ${CMAKE_CURRENT_SOURCE_DIR}/docs/openapi/visione.yaml
--out ${OPENAPI_OUTPUT}
--title "Visione API"
--version ${PROJECT_VERSION}
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/scripts/generate_openapi.py
${CMAKE_CURRENT_SOURCE_DIR}/docs/openapi/visione.yaml
${SWAGGER_DROGON_FILES}
${CONTROLLER_HEADERS}
${OPENAPI_SOURCE_FILES}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
VERBATIM
)