From 328ae3d2306c9f65b5e85a2be98a368c07287a05 Mon Sep 17 00:00:00 2001 From: Thomas Perale Date: Sat, 14 Sep 2024 21:07:30 +0200 Subject: [PATCH] cmake: Only enable CXX when running the coverage Commit 25a678190c42b24076fdd805a8d7a722a8a9c798 introduced code coverage collection. That also introduced a dependency to CXX language. When cross-compiling libssh in an environment that doesn't have a C++ compiler the following error is raised: "No CMAKE_CXX_COMPILER could be found.". Since the C++ part is only needed for the coverage part, this commit only enable that language dependency when actually needing it. Signed-off-by: Thomas Perale Upstream: https://gitlab.com/libssh/libssh-mirror/-/merge_requests/537 --- CMakeLists.txt | 3 ++- cmake/Modules/AddCMockaTest.cmake | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 13330ea3..5595a47a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,7 +9,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules") include(DefineCMakeDefaults) include(DefineCompilerFlags) -project(libssh VERSION 0.11.1 LANGUAGES C CXX) +project(libssh VERSION 0.11.1 LANGUAGES C) # global needed variable set(APPLICATION_NAME ${PROJECT_NAME}) @@ -190,6 +190,7 @@ endif (WITH_SYMBOL_VERSIONING AND ABIMAP_FOUND) # Coverage if (WITH_COVERAGE) + ENABLE_LANGUAGE(CXX) include(CodeCoverage) setup_target_for_coverage_lcov( NAME "coverage" diff --git a/cmake/Modules/AddCMockaTest.cmake b/cmake/Modules/AddCMockaTest.cmake index 79178183..f49961ba 100644 --- a/cmake/Modules/AddCMockaTest.cmake +++ b/cmake/Modules/AddCMockaTest.cmake @@ -117,6 +117,7 @@ function(ADD_CMOCKA_TEST _TARGET_NAME) ${TARGET_SYSTEM_EMULATOR} ${_TARGET_NAME} ) if (WITH_COVERAGE) + ENABLE_LANGUAGE(CXX) include(CodeCoverage) append_coverage_compiler_flags_to_target(${_TARGET_NAME}) endif (WITH_COVERAGE) -- 2.46.0