aboutsummaryrefslogtreecommitdiff
path: root/build2/install/rule.cxx
AgeCommit message (Collapse)AuthorFilesLines
2016-09-17Audit all print_process()/process ctor for path_search()Karen Arutyunov1-28/+38
2016-09-13Fix crashing on unhandled system_error thrown by file_exists()Karen Arutyunov1-0/+2
2016-09-13Fix crashing on empty installation directory nameKaren Arutyunov1-0/+4
2016-09-04Fix crash on uninstallKaren Arutyunov1-9/+15
2016-09-04Always use rm/rmdir utilities on Windows to delete stuff being usedBoris Kolpackov1-2/+8
2016-08-30Add support for install.subdirs so can be specified for scopeBoris Kolpackov1-30/+56
2016-08-30Change function names to make VC happyBoris Kolpackov1-16/+16
2016-08-29Implement initial support for library versioningBoris Kolpackov1-42/+101
Currently we only support platform-independent versions that get appended to the library name. The magic incantation is this: lib{foo}: bin.lib.version = @-1.2 This will produce libfoo-1.2.so, libfoo-1.2.dll, etc. In the future we will support things like this: lib{foo}: bin.lib.version = linux@1.2.3 freebsd@1.2 windows@1.2
2016-08-23Add support for installing into a different file nameBoris Kolpackov1-27/+46
Now the install variable is a path, not dir_path. If it is a directory (ends with a trailing slash), then the target is installed into this directory with the same name. Otherwise, the entire path is used as the installation destination.
2016-08-19Implement uninstall operationBoris Kolpackov1-126/+390
2016-08-18Add global config.install.{cmd,options,sudo,mode,dir_mode}Boris Kolpackov1-6/+19
This way we can do: b install \ config.install.data_root=/tmp/data \ config.install.exec_root=/tmp/exec \ config.install.sudo=sudo
2016-08-10Add ignore case support for find_option()Karen Arutyunov1-3/+1
2016-08-03Add support for preserving subdirectories when installingBoris Kolpackov1-8/+32
This is handy, for example, when installing headers: install.include = $install.include/foo install.include.subdirs = true The base for calculating the subdirectories is the scope where the subdirs value is set.
2016-08-01Work around MSYS2 install.exe permission issueBoris Kolpackov1-3/+36
2016-07-28Adjust to new path implementation, use to support reversibilityBoris Kolpackov1-2/+2
2016-07-08Move filesystem-related functions from context to new filesystem filesBoris Kolpackov1-2/+1
2016-06-26Add notion of ad hoc group, use to handle DLL/import libraryBoris Kolpackov1-18/+46
2016-04-11New configuration logic, iteration 1Boris Kolpackov1-4/+4
2016-03-28Clean up variable usageBoris Kolpackov1-5/+5
2016-03-28Add variable cast from lookupBoris Kolpackov1-10/+10
2016-03-28New variable architectureBoris Kolpackov1-13/+16
2016-03-11Implement --config-{guess,sub} optionsBoris Kolpackov1-1/+0
2016-02-29Rename level[1-6]() to l[1-6]()Boris Kolpackov1-1/+1
2016-02-29Implement auxiliary dependency database (.d files), use in cxx.compileBoris Kolpackov1-4/+2
This is part of the "High Fidelity Build" work.
2016-02-15Catch system_error thrown by dir_exists() in installBoris Kolpackov1-44/+50
For example, we can get EACCES because we don't have permissions for some of the leading components. Of course, if we have sudo, then that may not be the case if we actually tried 'install -d' on it. So this will probably have to be revised at some point.
2016-02-12<types>/<utility> scheme cleanupBoris Kolpackov1-2/+2
2016-01-25Create install.root instead of complaining if it doesn't existBoris Kolpackov1-8/+9
2016-01-09Update copyright yearBoris Kolpackov1-1/+1
2016-01-05Rename build directory/namespace to build2Boris Kolpackov1-0/+410