0001-cmake-Only-enable-CXX-when-running-the-coverage.patch 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. From 328ae3d2306c9f65b5e85a2be98a368c07287a05 Mon Sep 17 00:00:00 2001
  2. From: Thomas Perale <thomas.perale@mind.be>
  3. Date: Sat, 14 Sep 2024 21:07:30 +0200
  4. Subject: [PATCH] cmake: Only enable CXX when running the coverage
  5. Commit 25a678190c42b24076fdd805a8d7a722a8a9c798 introduced code coverage
  6. collection. That also introduced a dependency to CXX language.
  7. When cross-compiling libssh in an environment that doesn't have a C++ compiler
  8. the following error is raised: "No CMAKE_CXX_COMPILER could be found.".
  9. Since the C++ part is only needed for the coverage part, this commit only enable
  10. that language dependency when actually needing it.
  11. Signed-off-by: Thomas Perale <thomas.perale@mind.be>
  12. Upstream: https://gitlab.com/libssh/libssh-mirror/-/merge_requests/537
  13. ---
  14. CMakeLists.txt | 3 ++-
  15. cmake/Modules/AddCMockaTest.cmake | 1 +
  16. 2 files changed, 3 insertions(+), 1 deletion(-)
  17. diff --git a/CMakeLists.txt b/CMakeLists.txt
  18. index 13330ea3..5595a47a 100644
  19. --- a/CMakeLists.txt
  20. +++ b/CMakeLists.txt
  21. @@ -9,7 +9,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules")
  22. include(DefineCMakeDefaults)
  23. include(DefineCompilerFlags)
  24. -project(libssh VERSION 0.11.1 LANGUAGES C CXX)
  25. +project(libssh VERSION 0.11.1 LANGUAGES C)
  26. # global needed variable
  27. set(APPLICATION_NAME ${PROJECT_NAME})
  28. @@ -190,6 +190,7 @@ endif (WITH_SYMBOL_VERSIONING AND ABIMAP_FOUND)
  29. # Coverage
  30. if (WITH_COVERAGE)
  31. + ENABLE_LANGUAGE(CXX)
  32. include(CodeCoverage)
  33. setup_target_for_coverage_lcov(
  34. NAME "coverage"
  35. diff --git a/cmake/Modules/AddCMockaTest.cmake b/cmake/Modules/AddCMockaTest.cmake
  36. index 79178183..f49961ba 100644
  37. --- a/cmake/Modules/AddCMockaTest.cmake
  38. +++ b/cmake/Modules/AddCMockaTest.cmake
  39. @@ -117,6 +117,7 @@ function(ADD_CMOCKA_TEST _TARGET_NAME)
  40. ${TARGET_SYSTEM_EMULATOR} ${_TARGET_NAME}
  41. )
  42. if (WITH_COVERAGE)
  43. + ENABLE_LANGUAGE(CXX)
  44. include(CodeCoverage)
  45. append_coverage_compiler_flags_to_target(${_TARGET_NAME})
  46. endif (WITH_COVERAGE)
  47. --
  48. 2.46.0