summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIikka Eklund <iikka.eklund@qt.io>2022-05-18 14:29:11 +0300
committerIikka Eklund <iikka.eklund@qt.io>2022-05-20 09:34:45 +0000
commit8f7fc9796ee93a43a51bd8701077cb815bf5ae35 (patch)
treeeaf06ef81e61164caf997102649d56a30492dd3b
parent2eeb66a217f7ad139c1d8c38fbe081a7b0b722bb (diff)
Rename 'append_cmake_prefix_path' as 'append_cmake_arg'
The underlying implementation is suitable for any kind of CMake argument addition so rename it more generic and change the function signature to accept both the CMake argument name and value. Change-Id: I428744cc76187623b0d0c165ef5b4a3af5a8e596 Reviewed-by: Toni Saario <toni.saario@qt.io>
-rw-r--r--conanfile.py16
-rw-r--r--test/test_conanfile.py17
2 files changed, 21 insertions, 12 deletions
diff --git a/conanfile.py b/conanfile.py
index c3ebc63..85d4080 100644
--- a/conanfile.py
+++ b/conanfile.py
@@ -479,18 +479,18 @@ def run_qt_configure_module(conan_file: ConanFile):
conan_file.run(cmd, run_environment=True)
-def append_cmake_prefix_path(cmake_args_str, cmake_prefix_path: str) -> str:
- """Append the given CMAKE_PREFIX_PATH to the cmake args string
+def append_cmake_arg(cmake_args_str, cmake_arg_name: str, cmake_arg_value: str) -> str:
+ """Append the given CMake argument to the cmake args string
and return the formatted version."""
formatted_cmake_args: List[str] = []
- cmake_prefix_found = False
+ cmake_arg_found = False
for item in shlex.split(cmake_args_str.strip("\"' ")):
- if "CMAKE_PREFIX_PATH" in item:
- item = item + ";" + cmake_prefix_path
- cmake_prefix_found = True
+ if cmake_arg_name in item:
+ item = item + ";" + cmake_arg_value
+ cmake_arg_found = True
formatted_cmake_args.append(item)
- if not cmake_prefix_found:
- formatted_cmake_args.append("-DCMAKE_PREFIX_PATH={0}".format(cmake_prefix_path))
+ if not cmake_arg_found:
+ formatted_cmake_args.append("-D{0}={1}".format(cmake_arg_name, cmake_arg_value))
return '"' + " ".join(formatted_cmake_args) + '"'
diff --git a/test/test_conanfile.py b/test/test_conanfile.py
index 6d3d4b7..4dd95b6 100644
--- a/test/test_conanfile.py
+++ b/test/test_conanfile.py
@@ -41,7 +41,7 @@ from conanfile import (
parse_qt_sw_pkg_dependency,
parse_qt_version_by_key,
simple_version_check,
- append_cmake_prefix_path,
+ append_cmake_arg,
parse_android_ndk_version,
parse_android_sdk_version,
locate_file,
@@ -160,24 +160,33 @@ class TestConanFile(unittest.TestCase):
@data(
(
+ 'CMAKE_PREFIX_PATH',
'\"-DCMAKE_PREFIX_PATH=path1;path2\"',
'/some/path/to/be/added',
'\"-DCMAKE_PREFIX_PATH=path1;path2;/some/path/to/be/added\"',
),
(
+ 'CMAKE_PREFIX_PATH',
'\"-DCMAKE_PREFIX_PATH=path1;path2\"',
'/some/path/to/be/added',
'\"-DCMAKE_PREFIX_PATH=path1;path2;/some/path/to/be/added\"',
),
(
+ 'CMAKE_PREFIX_PATH',
'\"-DFOO=bar1 -DBAR=foo1 -FOO -BAR -DCMAKE_PREFIX_PATH=foo1\"',
'C:\\foo\\bar folder\\',
'\"-DFOO=bar1 -DBAR=foo1 -FOO -BAR -DCMAKE_PREFIX_PATH=foo1;C:\\foo\\bar folder\\"',
),
+ (
+ 'QT_HOST_PATH',
+ '\"-DCMAKE_PREFIX_PATH=path1;path2\"',
+ '/qt/host/path',
+ '\"-DCMAKE_PREFIX_PATH=path1;path2 -DQT_HOST_PATH=/qt/host/path\"',
+ ),
)
- def test_append_cmake_prefix_path(self, data):
- orig_cmake_prefix_path, path_to_be_appended, expected_result = data
- ret = append_cmake_prefix_path(orig_cmake_prefix_path, path_to_be_appended)
+ def append_cmake_arg(self, data):
+ cmake_arg_name, orig_cmake_args_str, cmake_arg_value, expected_result = data
+ ret = append_cmake_arg(orig_cmake_args_str, cmake_arg_name, cmake_arg_value)
self.assertEqual(ret, expected_result)
@data(