Skip to content

Commit 1d6ee75

Browse files
authored
Merge pull request #1430 from henryiii/henryiii/fix/pipconfigopts
fix: pip config options were broken
2 parents 0b1b539 + 2e48667 commit 1d6ee75

File tree

5 files changed

+19
-6
lines changed

5 files changed

+19
-6
lines changed

cibuildwheel/linux.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,9 @@ def build_in_container(
240240
container.call(["mkdir", "-p", built_wheel_dir])
241241

242242
verbosity_flags = get_build_verbosity_extra_flags(build_options.build_verbosity)
243-
extra_flags = split_config_settings(build_options.config_settings)
243+
extra_flags = split_config_settings(
244+
build_options.config_settings, build_options.build_frontend
245+
)
244246

245247
if build_options.build_frontend == "pip":
246248
extra_flags += verbosity_flags

cibuildwheel/macos.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,9 @@ def build(options: Options, tmp_path: Path) -> None:
374374
built_wheel_dir.mkdir()
375375

376376
verbosity_flags = get_build_verbosity_extra_flags(build_options.build_verbosity)
377-
extra_flags = split_config_settings(build_options.config_settings)
377+
extra_flags = split_config_settings(
378+
build_options.config_settings, build_options.build_frontend
379+
)
378380

379381
if build_options.build_frontend == "pip":
380382
extra_flags += verbosity_flags

cibuildwheel/util.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -208,9 +208,10 @@ def get_build_verbosity_extra_flags(level: int) -> list[str]:
208208
return []
209209

210210

211-
def split_config_settings(config_settings: str) -> list[str]:
211+
def split_config_settings(config_settings: str, frontend: Literal["pip", "build"]) -> list[str]:
212212
config_settings_list = shlex.split(config_settings)
213-
return [f"--config-setting={setting}" for setting in config_settings_list]
213+
s = "s" if frontend == "pip" else ""
214+
return [f"--config-setting{s}={setting}" for setting in config_settings_list]
214215

215216

216217
def read_python_configs(config: PlatformName) -> list[dict[str, str]]:

cibuildwheel/windows.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,9 @@ def build(options: Options, tmp_path: Path) -> None:
411411
built_wheel_dir.mkdir()
412412

413413
verbosity_flags = get_build_verbosity_extra_flags(build_options.build_verbosity)
414-
extra_flags = split_config_settings(build_options.config_settings)
414+
extra_flags = split_config_settings(
415+
build_options.config_settings, build_options.build_frontend
416+
)
415417

416418
if build_options.build_frontend == "pip":
417419
extra_flags += verbosity_flags

unit_test/main_tests/main_options_test.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -283,12 +283,18 @@ def test_config_settings(platform_specific, platform, intercepted_build_args, mo
283283

284284
assert build_options.config_settings == config_settings
285285

286-
assert split_config_settings(config_settings) == [
286+
assert split_config_settings(config_settings, "build") == [
287287
"--config-setting=setting=value",
288288
"--config-setting=setting=value2",
289289
"--config-setting=other=something else",
290290
]
291291

292+
assert split_config_settings(config_settings, "pip") == [
293+
"--config-settings=setting=value",
294+
"--config-settings=setting=value2",
295+
"--config-settings=other=something else",
296+
]
297+
292298

293299
@pytest.mark.parametrize(
294300
"selector",

0 commit comments

Comments
 (0)