Simplify OpenAPI generation

This commit is contained in:
gabdevele
2026-06-03 02:04:56 +02:00 Unverified
parent 21883a4a8f
commit 25c280f38b
25 changed files with 2695 additions and 1944 deletions
+2 -14
View File
@@ -73,32 +73,20 @@ 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
--manual ${CMAKE_CURRENT_SOURCE_DIR}/docs/openapi/visione.openapi.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}
${CMAKE_CURRENT_SOURCE_DIR}/docs/openapi/visione.openapi.yaml
${CONTROLLER_HEADERS}
${OPENAPI_SOURCE_FILES}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
VERBATIM
)