From a7324530514e062c54277b619c76d2b4344a596b Mon Sep 17 00:00:00 2001 From: "Ryan M. Richard" Date: Tue, 17 Jun 2025 10:01:19 -0500 Subject: [PATCH 1/2] uses outer project's languages for tests --- cmake/cmake_test/add_dir.cmake | 1 + cmake/cmake_test/templates/test_CMakeLists.txt.in | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/cmake/cmake_test/add_dir.cmake b/cmake/cmake_test/add_dir.cmake index 064c391..53c279d 100644 --- a/cmake/cmake_test/add_dir.cmake +++ b/cmake/cmake_test/add_dir.cmake @@ -130,6 +130,7 @@ function(ct_add_dir _ad_test_dir) ) # Configure the CMakeLists.txt for test in the build directory + cpp_enabled_languages(_CT_LANGUAGES) configure_file( "${_CT_TEMPLATES_DIR}/test_CMakeLists.txt.in" "${_ad_test_dest_full_path}/src/CMakeLists.txt" diff --git a/cmake/cmake_test/templates/test_CMakeLists.txt.in b/cmake/cmake_test/templates/test_CMakeLists.txt.in index 0c9077e..7ad01c1 100644 --- a/cmake/cmake_test/templates/test_CMakeLists.txt.in +++ b/cmake/cmake_test/templates/test_CMakeLists.txt.in @@ -7,7 +7,7 @@ set(_ct_min_cmake_version @_ct_min_cmake_version@) #Propagate min version down # A language is set so the dummy projects don't complain about not having a # linkage language. -project(@_CT_CMAKELISTS_TEMPLATE_PROJECT_NAME@ LANGUAGES C) +project(@_CT_CMAKELISTS_TEMPLATE_PROJECT_NAME@ LANGUAGES @_CT_LANGUAGES@) #Enable colors in Unix environments, ignored on Windows. Will not work with pipes set(CMAKETEST_USE_COLORS "@CMAKETEST_USE_COLORS@") From 1262f9ebef23d4f494a41931d6b66789069f6199 Mon Sep 17 00:00:00 2001 From: "Ryan M. Richard" Date: Wed, 18 Jun 2025 13:51:29 -0500 Subject: [PATCH 2/2] adds language support --- cmake/cmake_test/add_dir.cmake | 55 ++++++++++++++----- cmake/versions.cmake | 2 +- tests/CMakeLists.txt | 1 + tests/add_dir_test/CMakeLists.txt | 4 ++ .../test_forward_language.cmake | 7 +++ .../test_no_language_set.cmake | 7 +++ .../set_languages/test_set_languages.cmake | 7 +++ 7 files changed, 68 insertions(+), 15 deletions(-) create mode 100644 tests/add_dir_test/CMakeLists.txt create mode 100644 tests/add_dir_test/forward_languages/test_forward_language.cmake create mode 100644 tests/add_dir_test/no_language_set/test_no_language_set.cmake create mode 100644 tests/add_dir_test/set_languages/test_set_languages.cmake diff --git a/cmake/cmake_test/add_dir.cmake b/cmake/cmake_test/add_dir.cmake index 53c279d..b3513a7 100644 --- a/cmake/cmake_test/add_dir.cmake +++ b/cmake/cmake_test/add_dir.cmake @@ -33,31 +33,46 @@ include(cmakepp_lang/cmakepp_lang) # :keyword CT_DEBUG_MODE_ON: Enables debug mode when the tests are run. # :type CT_DEBUG_MODE_ON: bool # :keyword USE_REL_PATH_NAMES: Enables using shorter, relative paths for -# test names, but increases the chance of name -# collisions. +# test names, but increases the chance of name collisions. # :type USE_REL_PATH_NAMES: bool # :keyword LABEL: Use relative directory name for CTest label for all the tests -# in the directory. -# Run a group of labeled tests with `ctest -L