aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc/target.cxx
AgeCommit message (Collapse)AuthorFilesLines
2023-08-22Add abstract c_inc{} and cxx_inc{} target typesBoris Kolpackov1-0/+13
These abstract base target types are meant for deriving additional target types (for example, Qt moc{}) that can be #include'd in C and C++ translation units, respectively. In particular, only such targets will be considered to reverse-lookup extensions to target types (see dyndep_rule::map_extension() for background).
2023-04-18Add support for Assembler with C Preprocessor (.S) compilationBoris Kolpackov1-0/+14
Specifically, the c module now provides the c.as-cpp submodules which can be loaded in order to register the S{} target type and enable Assembler with C Preprocessor compilation in the c compile rule. For details, refer to "Assembler with C Preprocessor Compilation" in the manual.
2022-11-22Add support for Objective-C/C++ compilation in cc moduleBoris Kolpackov1-5/+14
2022-04-06Add support for rule hintsBoris Kolpackov1-6/+6
A rule hint is a target attribute, for example: [rule_hint=cxx] exe{hello}: c{hello} Rule hints can be used to resolve ambiguity when multiple rules match the same target as well as to override an unambiguous match.
2020-03-20Generate common .pc file in addition to static/staged when installing lib{}Boris Kolpackov1-6/+8
The common .pc file is produced by ignoring any static/shared-specific poptions and splitting loptions/libs into Libs/Libs.private. It is "best effort", in a sense that it's not guaranteed to be sufficient in all cases, but it will probably cover the majority of cases, even on Windows, thanks to automatic dllimport'ing of functions.
2020-02-07Drop copyright notice from source codeKaren Arutyunov1-1/+0
2019-08-28Move cc build system module to separate libraryKaren Arutyunov1-0/+101