Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Common/httq/CMakeLists.txt
T
berrux-dev 684e05109d Add lcov code coverage to the release pipeline and Jenkins
- new_docker_build.sh: new --run-coverage mode (mutually exclusive with
  --run-jenkins-builder). Instruments the release-scope build with
  -O0 -g --coverage -fPIC -DNDEBUG (RELEASE flag override keeps -DNDEBUG
  and -fPIC so behavior and PIC match the green baseline), runs ctest,
  then collects the lcov report: capture --external -> extract on the
  four release dirs -> remove test sources -> summary -> genhtml, all
  with --ignore-errors mismatch,inconsistent,unused (GCC 15 + lcov 2.4).
  Report lands in --coverage-output-dir (default ./coverage-out):
  html/index.html, coverage.info, coverage_summary.txt.
- Dockerfile image gains lcov via APT_PACKAGES (genhtml ships in the
  same package).
- Jenkinsfile: RunCoverage parameter (default on) + per-OS Coverage
  stage running the driver on the agent and archiving
  coverage/<project>/<os>/**.
- release-16-10-2026.sh: same coverage step, gated by DRYRUN_COVERAGE
  (default ON, mirrors the Jenkins default).
- README: Step 6 (code coverage) and options/env reference entries.
- .gitignore: coverage-out/
2026-10-15 09:00:33 +02:00

41 lines
788 B
CMake
Executable File

# Modified CMakeLists.txt from github.com/wille-io/httq
# Make ${Qt6_WebSockets} optional
if(QT6_WEBSOCKETS_REAL_FOUND OR Qt6WebSockets_FOUND)
set(Qt6_WebSockets Qt6::WebSockets)
else()
set(Qt6_WebSockets "")
endif()
set(src
include/http_parser.h
include/http_parser.c # TODO: move out of include dir
include/httq/AbstractServer.h
include/httq/DataStream.h
include/httq/HttpRequest.h
include/httq/Logger.h
AbstractServer.cpp
DataStream.cpp
HttpRequest.cpp
Logger.cpp
)
NGL_ADD_LIBRARY2(SV WS httq SHARED ${src})
NGL_TARGET_INCLUDE_DIRECTORIES(httq
PUBLIC
${CMAKE_CURRENT_BINARY_DIR}/../ # export file
${CMAKE_CURRENT_SOURCE_DIR}/include/
)
NGL_TARGET_LINK_LIBRARIES(httq
Qt6::Core
Qt6::Network
${Qt6_WebSockets}
)
NGL_INSTALL_TARGET(httq)