Skip to content

Consider supporting a platform/sdk-level set of xcconfig files for cross-platform projects #27

@dempseyatgithub

Description

@dempseyatgithub
Owner

At the moment BSE performs all of its consolidation on the same 'level'. Common settings across multiple build settings at the project or target level are consolidated into a shared setting.

In a project created with targets for a single platform sdk, the project usually contains some consolidated platform-specific settings (such as SDKROOT).

For a project with targets for multiple platforms, it likely makes sense to have common settings for all targets using the same sdk separated out per platform.

This would generate a set of xcconfig files for each platform. (one per build style + shared).
Each target build style xcconfig file would import the platform build style xcconfig file for the appropriate platform.

Activity

dempseyatgithub

dempseyatgithub commented on Jan 21, 2020

@dempseyatgithub
OwnerAuthor

This would likely require moving some settings, at least the SDK setting, from the project down to the SDK-level config file. And the deployment target setting as well.

dempseyatgithub

dempseyatgithub commented on Jan 22, 2020

@dempseyatgithub
OwnerAuthor

Does it make sense to do as Xcode does and keep one SDK at the project level? Without it, the setting appears as 'No SDK (macOS)' in the Xcode build settings interface.

dempseyatgithub

dempseyatgithub commented on Feb 13, 2020

@dempseyatgithub
OwnerAuthor

In a project with many many targets with various SDKs may want another level of hierarchy:

Config
    Project
          Project-Shared.xconfig
           ...
   SDKs
         iOS
            iOS-Shared.xconfig
             ...
         macOS
            macOS-Shared.xconfig
             ...
    Targets
        MyApp
           MyApp-Shared.xconfig
           ...
        MyAppTests
           MyAppTests-Shared.xconfig
           ...

schwa

schwa commented on Mar 10, 2021

@schwa

👍Yes this would be grand.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @schwa@dempseyatgithub

      Issue actions

        Consider supporting a platform/sdk-level set of xcconfig files for cross-platform projects · Issue #27 · dempseyatgithub/BuildSettingExtractor