@@ -29,6 +29,9 @@ def _profile_post_process(profiles: list[Profile], conan_api: ConanAPI, cache_se
2929 """
3030 logger = logging .getLogger ('cppython.conan' )
3131
32+ # Get global configuration
33+ global_conf = conan_api .config .global_conf
34+
3235 # Apply profile plugin processing
3336 try :
3437 profile_plugin = conan_api .profiles ._load_profile_plugin ()
@@ -41,13 +44,27 @@ def _profile_post_process(profiles: list[Profile], conan_api: ConanAPI, cache_se
4144 except (AttributeError , Exception ):
4245 logger .debug ('Profile plugin not available or failed to load' )
4346
44- # Process settings to initialize processed_settings
47+ # Apply the full profile processing pipeline for each profile
4548 for profile in profiles :
49+ # Process settings to initialize processed_settings
4650 try :
4751 profile .process_settings (cache_settings )
4852 except (AttributeError , Exception ) as settings_error :
4953 logger .debug ('Settings processing failed for profile: %s' , str (settings_error ))
5054
55+ # Validate configuration
56+ try :
57+ profile .conf .validate ()
58+ except (AttributeError , Exception ) as conf_error :
59+ logger .debug ('Configuration validation failed for profile: %s' , str (conf_error ))
60+
61+ # Apply global configuration to the profile
62+ try :
63+ if global_conf is not None :
64+ profile .conf .rebase_conf_definition (global_conf )
65+ except (AttributeError , Exception ) as rebase_error :
66+ logger .debug ('Configuration rebase failed for profile: %s' , str (rebase_error ))
67+
5168
5269def _resolve_profiles (
5370 host_profile_name : str | None , build_profile_name : str | None , conan_api : ConanAPI
0 commit comments