aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc/install-rule.hxx
AgeCommit message (Collapse)AuthorFilesLines
2023-11-01Use match options for runtime/buildtime distinction when installing librariesBoris Kolpackov1-11/+28
Specifically, now, if a library is installed solely as a prerequisite of an executable (potentially recursively), then only its runtime files are installed omitting everything buildtime-related (static/import libraries, non-versioned symlinks for shared libraries, pkg-config files, headers, etc). If you are familiar with the runtime and -dev/-devel package splits for libraries in Debian/Fedora, this is an analogous semantics.
2023-11-01Undo "Don't install static library prerequisites of executable"Boris Kolpackov1-2/+1
This turned out not to be always correct since a static library can have prerequisites that it requires at runtime (see the libca-certificates-curl for an example). The new plan is to split static/shared library installation into run-time and build-time parts using the new match options mechanism.
2023-09-21Don't install static library prerequisites of executableBoris Kolpackov1-1/+2
2022-04-06Work around Clang warningsBoris Kolpackov1-0/+4
2022-04-06Add support for rule hintsBoris Kolpackov1-2/+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.
2021-09-14Consistently install prerequisites from any scope by defaultBoris Kolpackov1-2/+4
It is also now possible to adjust this behavior with global config.install.scope override. Valid values for this variable are: project -- only from project strong -- from strong amalgamation weak -- from weak amalgamation global -- from all projects (default)
2020-02-07Drop copyright notice from source codeKaren Arutyunov1-1/+0
2019-08-28Move cc build system module to separate libraryKaren Arutyunov1-0/+82