Skip to content

Commit 8d273e1

Browse files
authored
added prefix_FOUND for extra variables in Find.cmake modules (#17838)
1 parent a21c0cf commit 8d273e1

File tree

2 files changed

+27
-6
lines changed

2 files changed

+27
-6
lines changed

conan/tools/cmake/cmakedeps/templates/config.py

+7
Original file line numberDiff line numberDiff line change
@@ -112,5 +112,12 @@ def template(self):
112112
REQUIRED_VARS {{ file_name }}_VERSION
113113
VERSION_VAR {{ file_name }}_VERSION)
114114
mark_as_advanced({{ file_name }}_FOUND {{ file_name }}_VERSION)
115+
116+
{% for prefix in additional_variables_prefixes %}
117+
set({{ prefix }}_FOUND 1)
118+
set({{ prefix }}_VERSION "{{ version }}")
119+
mark_as_advanced({{ prefix }}_FOUND {{ prefix }}_VERSION)
120+
{% endfor %}
121+
115122
{% endif %}
116123
""")

test/integration/toolchains/cmake/cmakedeps/test_cmakedeps.py

+20-6
Original file line numberDiff line numberDiff line change
@@ -715,6 +715,7 @@ def test_cmakedeps_set_legacy_variable_name():
715715
conanfile = base_conanfile + """
716716
def package_info(self):
717717
self.cpp_info.set_property("cmake_file_name", "CMakeFileName")
718+
self.cpp_info.set_property("cmake_find_mode", "both")
718719
"""
719720
client.save({"dep/conanfile.py": conanfile})
720721
client.run("create dep")
@@ -725,6 +726,9 @@ def package_info(self):
725726
cmake_variables = ["VERSION_STRING", "INCLUDE_DIRS", "INCLUDE_DIR", "LIBRARIES", "DEFINITIONS"]
726727
for variable in cmake_variables:
727728
assert f"CMakeFileName_{variable}" in dep_config
729+
dep_find = client.load("FindCMakeFileName.cmake")
730+
for variable in cmake_variables:
731+
assert f"CMakeFileName_{variable}" in dep_find
728732

729733
consumer_conanfile = textwrap.dedent("""
730734
from conan import ConanFile
@@ -752,6 +756,16 @@ def generate(self):
752756
assert f"PREFIX_{variable}" in dep_config
753757
assert f"prefix_{variable}" in dep_config
754758

759+
dep_find = client.load(os.path.join("consumer", "FindCMakeFileName.cmake"))
760+
for variable in cmake_variables:
761+
assert f"CMakeFileName_{variable}" in dep_find
762+
assert f"PREFIX_{variable}" in dep_find
763+
assert f"prefix_{variable}" in dep_find
764+
assert "set(prefix_FOUND 1)" in dep_find
765+
assert "set(PREFIX_FOUND 1)" in dep_find
766+
assert 'set(prefix_VERSION "1.0")' in dep_find
767+
assert 'set(PREFIX_VERSION "1.0")' in dep_find
768+
755769
conanfile = base_conanfile + """
756770
def package_info(self):
757771
self.cpp_info.set_property("cmake_file_name", "NewCMakeFileName")
@@ -901,10 +915,10 @@ def generate(self):
901915
""")})
902916
tc.run("create dep")
903917
tc.run("install .")
904-
targetsData = tc.load("depTargets.cmake")
905-
assert "add_library(dep::dep" in targetsData
906-
assert "add_library(alias" in targetsData
907-
assert "add_library(dep::other_name" in targetsData
918+
targets_data = tc.load("depTargets.cmake")
919+
assert "add_library(dep::dep" in targets_data
920+
assert "add_library(alias" in targets_data
921+
assert "add_library(dep::other_name" in targets_data
908922

909-
assert "add_library(component_alias" in targetsData
910-
assert "add_library(dep::my_aliased_component" in targetsData
923+
assert "add_library(component_alias" in targets_data
924+
assert "add_library(dep::my_aliased_component" in targets_data

0 commit comments

Comments
 (0)