Skip to content

Commit 0dacefc

Browse files
committed
Remove Preset Writes
1 parent d39189b commit 0dacefc

File tree

4 files changed

+6
-96
lines changed

4 files changed

+6
-96
lines changed

cppython/plugins/cmake/builder.py

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -33,51 +33,14 @@ def generate_cppython_preset(
3333
"""
3434
configure_presets = []
3535

36-
preset_name = 'cppython-default'
37-
parent_preset_name = f'{provider_data.provider_name}-default'
36+
preset_name = 'cppython'
3837

3938
# Create a default preset that inherits from provider's default preset
40-
default_configure = ConfigurePreset(name=preset_name, inherits=parent_preset_name, hidden=True)
39+
default_configure = ConfigurePreset(name=preset_name, hidden=True, toolchainFile=provider_data.toolchain_file)
4140
configure_presets.append(default_configure)
4241

43-
# Create presets for each configuration
44-
for config in provider_data.configurations:
45-
config_name = config.lower()
46-
preset_name = f'cppython-{config_name}'
47-
parent_preset_name = f'{provider_data.provider_name}-{config_name}'
48-
preset = ConfigurePreset(name=preset_name, inherits=parent_preset_name, hidden=True)
49-
configure_presets.append(preset)
50-
51-
build_presets = []
52-
53-
# Multi-config build presets using the default configure preset.
54-
# Important: Do not use a configure preset here, the user will do that in their own presets.
55-
for config in provider_data.configurations:
56-
config_name = config.lower()
57-
preset_name = f'cppython-multi-{config_name}'
58-
parent_preset_name = f'{provider_data.provider_name}-multi-{config_name}'
59-
multi_build_preset = BuildPreset(
60-
name=preset_name,
61-
configuration=config,
62-
inherits=parent_preset_name,
63-
)
64-
build_presets.append(multi_build_preset)
65-
66-
# Single-config build presets using the config-specific configure presets
67-
# Important: Do not use a configure preset here, the user will do that in their own presets.
68-
for config in provider_data.configurations:
69-
config_name = config.lower()
70-
parent_config_name = f'{provider_data.provider_name}-{config_name}'
71-
single_build_preset = BuildPreset(
72-
name=config_name,
73-
configuration=config,
74-
inherits=parent_config_name,
75-
)
76-
build_presets.append(single_build_preset)
77-
7842
generated_preset = CMakePresets(
7943
configurePresets=configure_presets,
80-
buildPresets=build_presets,
8144
)
8245

8346
# Get the relative path to the provider preset file

cppython/plugins/cmake/schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ class CMakePresets(CPPythonModel, extra='allow'):
9999
class CMakeSyncData(SyncData):
100100
"""The CMake sync data"""
101101

102-
toolchain: Path | None = None
102+
toolchain_file: Path | None = None
103103

104104

105105
class CMakeData(CPPythonModel):

cppython/plugins/conan/plugin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ def _create_cmake_sync_data(self) -> CMakeSyncData:
219219

220220
return CMakeSyncData(
221221
provider_name=TypeName('conan'),
222-
toolchain=conan_toolchain_path,
222+
toolchain_file=conan_toolchain_path,
223223
)
224224

225225
@classmethod

tests/unit/plugins/cmake/test_presets.py

Lines changed: 2 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
"""Tests for CMakePresets"""
22

33
import json
4-
from pathlib import Path
54

65
from cppython.core.schema import ProjectData
76
from cppython.plugins.cmake.builder import Builder
@@ -54,58 +53,6 @@ def test_generate_root_preset_existing(project_data: ProjectData) -> None:
5453
class TestWrites:
5554
"""Tests for writing the CMakePresets class"""
5655

57-
@staticmethod
58-
def test_cppython_write(tmp_path: Path) -> None:
59-
"""Verifies that the cppython preset writing works as intended
60-
61-
Args:
62-
tmp_path: The input path the use
63-
"""
64-
builder = Builder()
65-
66-
# Create a mock provider preset file
67-
provider_preset_file = tmp_path / 'provider.json'
68-
provider_preset = {
69-
'version': 9,
70-
'configurePresets': [
71-
{'name': 'test-provider-base', 'hidden': True},
72-
{'name': 'test-provider-release', 'hidden': True, 'inherits': 'test-provider-base'},
73-
{'name': 'test-provider-debug', 'hidden': True, 'inherits': 'test-provider-base'},
74-
],
75-
'buildPresets': [
76-
{
77-
'name': 'test-provider-multi-release',
78-
'configurePreset': 'test-provider-base',
79-
'configuration': 'Release',
80-
'hidden': True,
81-
},
82-
{
83-
'name': 'test-provider-multi-debug',
84-
'configurePreset': 'test-provider-base',
85-
'configuration': 'Debug',
86-
'hidden': True,
87-
},
88-
{
89-
'name': 'test-provider-release',
90-
'configurePreset': 'test-provider-release',
91-
'configuration': 'Release',
92-
'hidden': True,
93-
},
94-
{
95-
'name': 'test-provider-debug',
96-
'configurePreset': 'test-provider-debug',
97-
'configuration': 'Debug',
98-
'hidden': True,
99-
},
100-
],
101-
}
102-
103-
with provider_preset_file.open('w', encoding='utf-8') as file:
104-
json.dump(provider_preset, file, indent=4)
105-
106-
data = CMakeSyncData(provider_name=TypeName('test-provider'), preset_file=provider_preset_file)
107-
builder.write_cppython_preset(tmp_path, provider_preset_file, data)
108-
10956
@staticmethod
11057
def test_root_write(project_data: ProjectData) -> None:
11158
"""Verifies that the root preset writing works as intended
@@ -138,7 +85,7 @@ def test_root_write(project_data: ProjectData) -> None:
13885
with provider_preset_file.open('w') as f:
13986
json.dump(provider_preset_data, f)
14087

141-
data = CMakeSyncData(provider_name=TypeName('test-provider'), preset_file=provider_preset_file)
88+
data = CMakeSyncData(provider_name=TypeName('test-provider'))
14289

14390
cppython_preset_file = builder.write_cppython_preset(cppython_preset_directory, provider_preset_file, data)
14491

@@ -184,7 +131,7 @@ def test_relative_root_write(project_data: ProjectData) -> None:
184131
with provider_preset_file.open('w') as f:
185132
json.dump(provider_preset_data, f)
186133

187-
data = CMakeSyncData(provider_name=TypeName('test-provider'), preset_file=provider_preset_file)
134+
data = CMakeSyncData(provider_name=TypeName('test-provider'))
188135

189136
cppython_preset_file = builder.write_cppython_preset(cppython_preset_directory, provider_preset_file, data)
190137

0 commit comments

Comments
 (0)