dempseyatgithub/BuildSettingExtractor

Improve how conditional build settings are handled

dempseyatgithub opened this issue · 0 comments

Currently conditional build settings are each treated as a separate build setting. This means when build info comments are generated, the same comment is generated multiple times, once per conditionalized setting.

It would be better to consolidate all of the conditions of the same build setting under a single build info comment.

All conditional settings for the same base build setting will be on consecutive lines like this:

// Runpath Search Paths
// 
// This is a list of paths to be added to the `runpath` search path list for the image
// being created. At runtime, `dyld` uses the `runpath` when searching for dylibs whose
// load path begins with `@rpath/`. See [Dynamic Library Programming
// Topics](https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/DynamicLibraries/000-Introduction/Introduction.html).

LD_RUNPATH_SEARCH_PATHS = @executable_path/Frameworks
LD_RUNPATH_SEARCH_PATHS[sdk=macosx*] = @executable_path/../Frameworks

Conditional build settings will ignore the line spacing setting between build settings because they are conceptually a single build setting with different conditions.

For now, there will be no preference to control this behavior.