61be4d969f
This commit introduces a CMake target for each component, adds install targets for them, and switches build-script-impl to use the target `install-components` for installation. Each of the targets for each component depends on each of the individual targets and outputs that are associated with the corresponding swift-component. This is equivalent to what already exists, because right now install rules are only generated for components that we want to install. Therefore, this commit should be an NFC. This is a resubmission (with modifications) of an earlier change. I originally committed this but there were problems with some installation rules. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
Dispatch.apinotes | ||
README.md | ||
os.apinotes |
README.md
API Notes README
API notes provide a mechanism by which Objective-C APIs can be annotated with additional semantic information not present within the original Objective-C headers. This semantic information can then be used by the Swift compiler when importing the corresponding Objective-C module to provide a better mapping of Objective-C APIs into Swift.
API notes are organized into a set of .apinotes
files. Each .apinotes
file
contains annotations for a single Objective-C module, written in YAML (FIXME:
to be) described in the Clang repository. These YAML sources are lazily loaded
by the Swift compiler when it imports the corresponding framework, also
described below.
To add API notes for a system module $MODULE
that does not have them yet,
create a new source file $MODULE.apinotes
and update CMakeLists.txt.
Updated API notes will be found by the build system during the next build.