swiftlang / swift-syntax

A set of Swift libraries for parsing, inspecting, generating, and transforming Swift source code.
Apache License 2.0
3.13k stars 393 forks source link

Setting of Swift_MODULE_DIRECTORY (and probably other directories) inappropriate. #2680

Open dabrahams opened 1 month ago

dabrahams commented 1 month ago

https://github.com/apple/swift-syntax/blob/e072677b26ad9a46b15f59fa2b5d7edf4f808e4f/cmake/modules/AddSwiftHostLibrary.cmake#L69-L71

See this warning, which says that it's incompatible with multi-config generators. It also overrides a decision that should be the prerogative of the top level CMake project and if nothing else should be conditionalized on PROJECT_IS_TOP_LEVEL. But really it shouldn't be set at all. All of these settings artificially group files in a way that can cause builds to succeed even if dependencies have not been properly specified, or fail if properly specified, and if nothing else are likely to break all multi-config generators (which includes Xcode) for the forseeable future.

ahoppen commented 1 month ago

Synced to Apple’s issue tracker as rdar://129632873

rintaro commented 1 month ago

I'm not sure I fully understand what you're suggesting here. I understand Swift_MODULE_DIRECTORY doesn't currently support multi config generators. But what is actually you are trying to achieve? Are you trying to build swift-syntax project independently with CMake and Xcode?

dabrahams commented 1 month ago

I'm trying to build a project that uses Swift-Syntax as a dependency, with CMake and Xcode.