Commit Graph

647 Commits

Author SHA1 Message Date
Thomas Nagy 6a638625cf Update the Swig example #1982 2017-06-19 19:42:53 +02:00
Thomas Nagy e5e8397154 Change producer.outstanding.appendleft to producer.outstanding.append 2017-06-14 19:53:01 +02:00
Thomas Nagy ccf5961607 Ensure link tasks are processed after swig tasks 2017-06-08 19:46:22 +02:00
Seth Hinze 2fd1e44a98 Allow overriding namespace of resx files. 2017-06-04 09:18:27 +02:00
fedepell b639668c3b eclipse: generate configuration just for languages that are effecitvely used in wscript and not all of them all the time 2017-05-23 21:24:01 +02:00
fedepell 372c801472 eclipse: little code cleanup 2017-05-23 21:23:53 +02:00
fedepell 60070330a6 eclipse: add support also for java project configuration generation 2017-05-17 01:36:05 +02:00
Akira Baruah 5410e58ce5 cpplint: logger subclasses also inherit from object to safely call super() 2017-05-17 01:35:54 +02:00
Akira Baruah 86134af9fb cpplint: fix Python 2 import name collision using `absolute_import` 2017-05-13 09:42:59 +02:00
fedepell 71d73d09dd eclipse: create the pydev python path configuration from the waf setup so the symbols can be correctly resolved in the IDE 2017-05-06 03:48:33 +02:00
fedepell ac4cd579e6 eclipse: use standard variable ${PROJECT_DIR_NAME} in pydev configuration instead of hardcoded name for better portability 2017-05-06 03:48:26 +02:00
fedepell acb0420313 eclipse: absolute include paths must be added without the workspace prefix or they will result in an incorrect path. treat them correctly as system paths. 2017-05-03 06:44:55 +02:00
fedepell 25e01a2077 eclipse: generate tool index dynamically or visually eclipse will get confused and overwrite the name of the tools, even if the functionality seems somehow to work anyway.
documentation I found seems to point that the index should be unique.
2017-05-03 06:44:48 +02:00
fedepell f7068944f3 eclipse: pass correct languageId for C++ when generating tool otherwise settings will not be used when C++ files are edited 2017-05-03 06:44:40 +02:00
Akira Baruah 60635533c5 cpplint: add `--cpplint-root` option 2017-04-27 21:32:54 +02:00
Akira Baruah 2a7370c597 Check `env.CPPLINT_SKIP` after `options` are converted to `env`s #1953 2017-04-27 21:32:48 +02:00
Thomas Nagy a768c3114d
Simplify boolean comparisons 2017-04-22 22:08:00 +02:00
Thomas Nagy 5ac6123e5e
Cleanup: Break multiple statements on multiple lines 2017-04-17 13:16:57 +02:00
Thomas Nagy cfe9158664
Cleanup 2017-04-17 12:24:33 +02:00
Simon b30ff35229
Replace param 'source_files' with 'group_files'.
The 'source_files' param to the xcode6 tool was originally separated from the
conventional 'source' param because it was used to control how the source files
would appear in the XCode folder UI. Also, it'd allow to add any file extensions,
and not limited to those extensions supported by the loaded set of waf tools.

This commit renames 'source_files' param to 'group_files'. It also changes the semantic so that 'group_files' now is used like the following:

bld(
 source='...', # These are now the files compiled by XCode
 'group_files': ..., # Optionally customize the way source files appear i the UI
)

Previously, 'source_files' was used to collect source files for compilation in XCode, and to customize the UI folder structure. In this commit source_files is used only to let the user group files in different UI folders (and add additional resource files besides source files). I want to do the renaming to better reflect the param's meaning.

Additional changes:

* Remove unique_filereference

* Updated examples
2017-04-16 01:38:30 +02:00
Thomas Nagy 29b32f7a1a
Reflect the current build group in bld.current_group 2017-04-15 15:12:03 +02:00
Thomas Nagy 2b09852d9e
Cleanup #1943 2017-04-15 13:50:50 +02:00
Thomas Nagy 30de08ca8a
Make target declaration unnecessary #1943 2017-04-09 11:28:25 +02:00
Thomas Nagy 566b3fa644
Xcode 6 generator fixes #1939 2017-04-08 02:27:43 +02:00
Matt Selsky b247ab1c83 Typos 2017-03-27 19:33:16 +02:00
Simon Guillot 069d5dca2e Fix bug in the clang_compilation_database tool when no C compiler is loaded 2017-03-14 22:21:10 +01:00
fedepell 185530e170 cppcheck: fix Python3 incompatibilities (see #1921) 2017-03-08 18:22:22 +01:00
Thomas Nagy c8d83954b7
Provide unity builds per task generator 2017-03-04 10:29:04 +01:00
Thomas Nagy 5d4074eb7f
Display commands as string with "WAF_CMD_FORMAT=string waf build -v" 2017-03-04 08:20:27 +01:00
Thomas Nagy 5fb2e21ccf
Remove smart_continue because it is the default behaviour 2017-03-02 20:47:45 +01:00
Thomas Nagy 65dc0c7a6f
Remove force_build_directory as it is the default behaviour 2017-03-02 20:47:22 +01:00
Thomas Nagy e352fb05c0
UNC path fixes 2017-03-02 20:45:45 +01:00
Thomas Nagy 63a53064a3
Provide TaskGroups to replace mem_reducer 2017-02-19 19:58:19 +01:00
Thomas Nagy 1c3c49d0fb
Simplify task.inputs/task.outputs usage 2017-02-19 11:05:44 +01:00
DragoonX6 0c541f606a Make clang_compilation_database add-on always output complete listings. 2017-02-18 13:04:59 +01:00
Thomas Nagy 2f64e0a273
Warn for missing cflags/cxxflags in gccdeps 2017-02-14 22:36:35 +01:00
Thomas Nagy 620f255b13
Fix the thread index in parallel_debug 2017-02-14 19:42:07 +01:00
Thomas Nagy b7d93c3c4d
Update the year in headers to 2017 2017-02-11 16:13:37 +01:00
Thomas Nagy 5ac8e882e0
Remove the TaskBase class hierarchy level 2017-02-11 15:04:25 +01:00
Thomas Nagy f1487eab44
iso8859-1 -> latin-1 2017-01-21 13:28:06 +01:00
Thomas Nagy a3c44f5d9b
Fix the method specification in syms.py 2017-01-06 23:08:05 +01:00
Thomas Nagy c2baf7f9bf
Missing parentheses in syms.py 2017-01-06 23:02:56 +01:00
montonero 94a5f51e98 Added '-o' flag for emscripten linker (#1885)
* correct static lib extension for emscripten

* added space after '-o' flag for emscripten/clang

* removed empty line

* -o flag for linker
2016-12-27 20:19:06 +01:00
montonero 86dcfb3ee2 Fixed '-o' flag for emscripten/clang (#1882)
* correct static lib extension for emscripten

* added space after '-o' flag for emscripten/clang

* removed empty line
2016-12-27 20:18:24 +01:00
montonero 29cc88faf1 correct static lib extension for emscripten (#1876) 2016-12-21 22:27:52 +01:00
Thomas Nagy d0c475462b
docs 2016-12-04 01:36:00 +01:00
Thomas Nagy 24cc1dc057
missing import 2016-11-14 22:20:57 +01:00
Thomas Nagy 0454ee677e
docs 2016-11-08 21:31:11 +01:00
Thomas Nagy 058b8f7f39
simplifications 2016-11-06 12:00:35 +01:00
Federico Pellegrin 90b66a4f04 cppcheck: fix extra forn multiple build rules are in a single wscript (#1844)
* cppcheck: fix extra forn multiple build rules are in a single wscript

When executed the output from cppcheck will be put inside cppcheck.xml and
then the generated error output inside cppcheck/index.html (and related
subfiles). Of course if two separate build rules are present the files
will clash with each other and data will be lost.

So this will not work in previous version:

bld.program(source=bld.path.ant_glob('src/ex-prog-*.cpp'), includes='src/', target='ex-prog-c')
bld.program(source=bld.path.ant_glob('src/ex-prog2-*.cpp'), includes='src/', target='ex-prog2-c')

In the output just one of the two results will be there (or in worst case
we will have files being deleted/garbled) as they both try to work on
cppcheck.xml and index.html (in build and build/cppcheck respectively)

With this commit the xml/html files have a reference to the task name (so
appended with a dash) so they are unique and don't clash. Also all the
messages to the user are corrected accordingly so the user is pointed to
the correct name of the file (and so are the internal links generated in
the html file).

In the previous case we will have:

ccpcheck detected (possible) problem(s) in task 'ex-prog2-c', see report for details:
    file:///home/fede/waf/cppc/build/cppcheck/index-ex-prog2-c.html

ccpcheck detected (possible) problem(s) in task 'ex-prog-c', see report for details:
    file:///home/fede/waf/cppc/build/cppcheck/index-ex-prog-c.html

* cppcheck: Provide as an option also old way of single index.html file for compatibility
2016-11-06 11:33:25 +01:00
fedepell 572cd98aab cppcheck: add possibility to use -j option for multiple parallel threads, speeds up drastically when executing on multiple source files 2016-11-03 22:02:10 +01:00
fedepell 655217384a cppcheck: check very ugly if code checking for configuration mode 2016-10-27 18:36:34 +02:00
fedepell c6ebd2547c cppcheck: do not execute task when in configuration mode as this can break other tools (ie qt5) which do a test build. see also #1840 2016-10-26 22:41:02 +02:00
fedepell 54a5ebe46a pytest extra: add more graceful and informative error if parameter is pointing to no valid source files 2016-10-24 11:17:21 +02:00
Thomas Nagy 0db417ac1a
docs - #1836 2016-10-20 18:44:55 +02:00
Thomas Nagy cd50b17e7b
Wrong cwd path for unity.py 2016-10-18 18:09:44 +02:00
Thomas Nagy 287046547b
Let unity builds use relative paths for msys #1834 2016-10-17 20:06:39 +02:00
Thomas Nagy 4bd13de095
Unnecessary file 2016-10-11 18:35:12 +02:00
Thomas Nagy 3e47e4250e
Display @argfile contents in msvcdeps #1831 2016-10-11 18:34:35 +02:00
Simon 7da04766a3 docs +xcode6 bugfix: do not merge env variables of type dictionary into PROJ_SETTINGS config 2016-10-03 20:36:10 +02:00
fedepell 4770983a87 Add also support for older PyQt4 bindings 2016-09-14 21:42:10 +02:00
Simon 8b912d2b1f changed name for alias exe() to program() in xcode6 2016-09-10 15:39:07 +02:00
Thomas Nagy 1721a505d9
Use the new syntax for sets 2016-09-02 20:20:43 +02:00
Thomas Nagy 6e4ba6620c
Remove the Go example because Go has a completely distinct toolchain now 2016-08-22 19:06:12 +02:00
Thomas Nagy a4f6c7468d
Netcache example update 2016-08-21 17:10:17 +02:00
Bernhard Vogginger 49236784b2 Add suppport for finding lib boost_python in gentoo
* find libname pattern "libboost_python-2.7.so"

Change-Id: I19a66a5992f7d077c2ed8e35e26e414ab194a7e6
2016-08-19 11:31:22 +02:00
Thomas Nagy 7d60c89744
Split Nag Fortran compiler flags #1797 2016-08-15 19:41:50 +02:00
fedepell c31aee8745 Add configuration option to select PySide2 Python QT5 bindings, while PyQt5 bindings remain otherwise searched first by default. 2016-08-14 22:02:48 +02:00
Thomas Nagy a76388b632
Obvious mistake 2016-07-31 18:16:31 +02:00
Thomas Nagy 8be4adcc64
Docs 2016-07-30 22:54:46 +02:00
Thomas Nagy 7778868718
Set TaskBase.keep_last_cmd to keep the last command executed 2016-07-30 10:09:55 +02:00
Thomas Nagy 70e438393d
Add a parameter to keep the last command executed 2016-07-29 23:10:26 +02:00
Thomas Nagy 3169e0bd4b
Cleanup 2016-07-29 23:02:15 +02:00
Thomas Nagy 452907d102
Cleanup 2016-07-29 20:44:38 +02:00
ita1024 1308001a9e Merge pull request #1790 from fedepell/pyqt5-separate
pyqt5 extra to support qt5 files to python conversion
2016-07-29 18:57:56 +02:00
fedepell f4e1b59bbc Fix install_from after suggestion of ita on how to do it better and make sure install_path is present as python requires it 2016-07-29 16:36:01 +02:00
Thomas Nagy 195a3e6562
Remove an unnecessary gccdeps verification #1784 2016-07-28 22:22:52 +02:00
Thomas Nagy ce65dfb415
Node.search -> Node.search_node #1783 2016-07-28 22:03:39 +02:00
fedepell 7ade9796a6 Fix installation path for .py files that are generated on the fly in build 2016-07-28 18:13:26 +02:00
Thomas Nagy 3c2c6a62b0
Remove leftover 'print' statements 2016-07-27 20:22:48 +02:00
Thomas Nagy 7aaa7c14ba
Make gccdeps and msvcdeps compatible - #1780 2016-07-26 19:41:57 +02:00
Thomas Nagy fe2f2b4fe6
Fix a docstring error 2016-07-25 23:27:05 +02:00
Thomas Nagy 1df8c148f6
Move pytest to the extras/ section 2016-07-25 23:23:44 +02:00
Thomas Nagy 8e68aa4ade
Python 2 fix 2016-07-25 23:10:10 +02:00
Thomas Nagy c916febaf7
Update some old code 2016-07-25 22:12:35 +02:00
Thomas Nagy 9332a9c24d Whitespace and Options.options for cppcheck 2016-07-25 20:18:49 +02:00
Thomas Nagy f623675524
Fix an obsolete import 2016-07-25 19:05:36 +02:00
fedepell d3367e9b0a Clear up usage text 2016-07-23 14:24:57 +02:00
fedepell 5d8c8a2080 Fixes on comments 2016-07-23 14:22:26 +02:00
fedepell ad356b3ed2 - Fixed identations
- Search for tools just in PATH not in other directories as for C++
- Remove options handling as there is none at the moment
- Use find_program instead of local find_bin
- Fix author
- Try to make documentation clearer
- Remove useless after_link decorator
2016-07-23 14:13:40 +02:00
fedepell 0c78c7ad8e First version of the pyqt5 extra to add QT5 ui/resources translation to py to be used with pyqt5 or pyside2 2016-07-23 12:51:04 +02:00
Simon 04b7fb6086 Updated docs for xcode6 tool. Also, xcode6 tool tested for XCode 7 (successfully) 2016-07-18 14:01:29 +02:00
Thomas Nagy ef48d49260
Remove update_outputs from the documentation 2016-06-25 22:48:47 +02:00
Thomas Nagy 6854fae055
Removed some annoying whitespace 2016-06-21 22:57:06 +02:00
Daniel Bartel f88f13f0cf Fix the Swig version detection message 2016-06-21 21:19:46 +02:00
Daniel Bartel 2241db8557 make check_swig_version similar to check_python_version 2016-06-20 21:38:46 +02:00
Thomas Nagy d50017f693
Have Task.exec_command add tsk.env.PATH to os.environ in the child process 2016-06-16 20:07:40 +02:00
Thomas Nagy 4a09e1943a
Workaround for #1756 2016-06-13 19:19:00 +02:00
Thomas Nagy 04df9202fb
Reduce Swig verbosity for #1755 2016-06-11 22:23:06 +02:00
fedepell 1986391d79 Fixes #1748 : doxygen convert EXCLUDE_PATTERNS occourences of */ in **/ as internally globs are used 2016-06-05 22:11:18 +02:00
fedepell e64061f6d2 DOXY_FILE_PATTERNS is generated as a string but then used as an array when using the RECURSIVE option, therefore the generated patterns for files to be searched are wrong. Convert it into an array with split() therefore to have correct patterns. 2016-06-04 08:51:09 +02:00
Thomas Nagy ae243dd23b
Fix waflib/extras/syms.py 2016-05-29 16:58:41 +02:00
Thomas Nagy 5526a71695
Update batched_cc for waf 1.9 2016-05-29 16:45:42 +02:00
Thomas Nagy 6665a6ebdd
Update waflib/extras/stale.py 2016-05-29 14:11:05 +02:00
Thomas Nagy 02a8361149
Beautify Logs.{debug,error,info,warn} now that the formatting bug is fixed 2016-05-28 16:18:51 +02:00
Thomas Nagy 34bad1498f
Remove the preforks since we already have a version with subprocesses in Utils.py 2016-05-27 18:59:40 +02:00
Thomas Nagy a2b7c639e8
cleanup 2016-05-27 18:23:04 +02:00
Thomas Nagy 67e7db41d9
Simplification x=x+1 -> x+=1 2016-05-22 00:45:47 +02:00
Thomas Nagy c2646d2380
Provide md5_tstamp by default and make it easier to add more persistent BuildContext dicts 2016-05-21 11:58:47 +02:00
Thomas Nagy 5cb7b89ac1
typo 2016-05-16 20:11:00 +02:00
Thomas Nagy da5c7d8b5c
Moved unnecessary constants out of Context.py 2016-05-11 21:59:16 +02:00
Thomas Nagy b1f5c0f814
Create installation tasks directly
Task generators created from other task generators may be
skipped during partial builds. This change re-enables
install_task as a task attribute and provides a task
object with input and output nodes which can be re-used
by other tasks.
2016-05-06 15:54:36 +02:00
Thomas Nagy fdc67d58f6
Fix an undefined variable in parallel_debug 2016-04-28 20:25:04 +02:00
Thomas Nagy bf45d33f9e
Update parallel_debug 2016-04-28 20:14:02 +02:00
Thomas Nagy 9133dbc5c9
Cleanup: no need for keys() everywhere 2016-04-22 21:10:22 +02:00
Thomas Nagy b87a761ead
Tuples in startswith/endswith (Python 2.5 feature) 2016-04-21 22:30:35 +02:00
Thomas Nagy d2ba87b296
Duplicate code 2016-04-21 22:12:39 +02:00
Thomas Nagy 8520dd65bb
Code cleanup 2016-04-19 22:00:21 +02:00
Thomas Nagy 8114914e62
Colorgcc for other compilers? Issue 1732 2016-04-19 21:47:59 +02:00
Thomas Nagy fd2981f91f
Remove Task.dep_vars as it is unnecessary 2016-04-16 13:05:27 +02:00
Thomas Nagy fa8d8e2b45
Typo in platform_toolset_ver 2016-04-12 22:06:08 +02:00
James Harris 10a6e27872 Add PlatformToolset ver. to msvs proj template
This patch adds support for an easier syntax for customizing which
version of Visual Studio msvs.py targets. It also allows users to
specify the PlatformToolset property on projects generated by waf. This
is necessary in order to properly generate projects for newer versions
of Visual Studio such as 2013 and 2015.

Example Syntax:

To generate a solution targeted at visual studio 2013 use the following
example:

```Python
class msvs_2013(msvs.msvs_generator):
    cmd = 'msvs2013'
    numver = '13.00'
    vsver = '2013'
    platform_toolset_ver = 'v120'
```

This will populate the associated fields correctly for msvs 2013.
2016-04-12 19:06:41 +02:00
Thomas Nagy d7a295ab0f
Simplification m.group(0) -> m.group() 2016-04-04 22:18:28 +02:00
Thomas Nagy 8717fa791f
outstanding.insert -> outstanding.append_left 2016-03-31 07:42:08 +02:00
Mac Clayton 19dc72e16d Fix qt4.py to use deque instead of list 2016-03-30 19:04:57 -05:00
Gustavo Jose de Sousa d46f541099 Use stash/revert/commit pattern for transactional configuration
Apply that pattern when relevant. That allows correct behavior if tools are
loaded inside a transaction.
2016-03-22 08:05:53 +01:00
Thomas Nagy 017d8fd39e
Use relative paths in apply_incpaths by default
Relative paths are usually best for for specialized compilers (emscripten),
so this is for convenience. Absolute paths are usually faster.
2016-03-17 22:56:34 +01:00
Daniel Bartel 015f522fb3 add option for line length to cpplint 2016-02-26 23:11:37 +01:00
Alexander Afanasyev b99a82ddfe Boost module enhancements and fixes
- Output detected version of boost in dot-form (e.g., 1.56.0, instead of 1_56)
- Fix Boost.Log library detection:
  * when linking to shared library, BOOST_LOG_DYN_LINK needs to be defined
  * when linking to non-multithreaded version, BOOST_LOG_NO_THREADS needs to be defined

  (see http://www.boost.org/doc/libs/1_60_0/libs/log/doc/html/log/installation/config.html)
2016-02-26 21:04:50 +01:00
Thiago da Silva Andrade Soares =^.~= 4bea5a28ae Cppcheck tool - Fix creation of invalid command on windows
The following error occurring when we try to run the cppcheck tool on windows.
As we see in the error message, the command is not well formed.

WafError:
    Command "['C:\\\\Program Files (x86)\\\\Cppcheck\\\\cppcheck.exe'] --inconclusive --report-progress --verbose --xml ..."
returned 1
2016-02-24 21:53:15 +01:00
Thomas Nagy 9147e9128a
Cleanup: unnecessary semicolons in Python code 2016-02-19 23:26:40 +01:00
Thomas Nagy 7e16c7cb1e
Removed bld.returned_tasks 2016-02-15 23:52:11 +01:00
Thomas Nagy 6c372e24fc
Issue 1701 - cpplint 2016-02-13 00:21:37 +01:00
Guillaume Poirier-Morency 70e49cc038 valadoc: Include the '--vala-target-glib' flag 2016-02-12 07:21:28 +01:00
Guillaume Poirier-Morency 8c8b0d8f0b
Apply 'Utils.to_list' on 'vala_defines' and include it in 'valadoc' tool 2016-02-04 07:23:10 +01:00
Jérôme Carretero bc80ea97ae waflib: extras: rst: update scan to provide dependent directive type 2016-02-01 21:59:59 -05:00
Jérôme Carretero c923c31031 extras: rst: extend parse_rst_node() 2016-01-30 13:07:29 -05:00
Thomas Nagy 2999a120a1
Missing cwd handling in exec_command 2016-01-30 16:59:35 +01:00
Ivan Tubert-Brohman 9a7381b20e
No-op in netcache run/post_run if nocache is true
When a task class has a true value for the nocache attribute,
setup_nocache doesn't decorate the run() and post_run() methods of the
class. In most cases, however, that's not enough to disable caching
because the base Task class is still modified; any class based on Task
which doesn't override these methods will still use caching even if it
sets nocache to True. This is solved by having the decorated versions of
run() and post_run() do nothing except call the original version of the
method when the task object has a true value for self.nocache.
2016-01-25 20:40:52 +01:00
Ivan Tubert-Brohman 2a7e0de018
Do chmod in netcache post_run
This ensures that, for example, executable files that are fetched from
the cache end up with the right permissions.
2016-01-25 20:21:15 +01:00
Bálint Aradi d1ebc6f308 Fixing version flag for NAG compiler. 2016-01-15 00:14:37 +01:00
Thomas Nagy adc1ce1375
Simplification: added Task.get_cwd() 2016-01-11 05:25:46 +01:00
Thomas Nagy 69e51290fd Made this project build on Linux 2016-01-03 06:54:21 +01:00
Thomas Nagy 8083205b81 Additional merges from #1666 2016-01-03 05:08:10 +01:00
Thomas Nagy 43e26b5bef
cwd must be a Node object 2016-01-02 01:54:52 +01:00
Thomas Nagy 5a3a89b4de Stop adding incompatible task data into the same dict objects 2015-12-24 18:36:48 +01:00
Thomas Nagy 06c7c09681 Provide node.exists() to increase filesystem abstraction 2015-12-24 18:36:42 +01:00
Thomas Nagy ddaf29b78d Process CPPFLAGS at the end of commands 2015-12-23 19:26:34 +01:00
Thomas Nagy 7681bddfb7 Remove Node.sig and Node.cache_sig 2015-12-23 17:55:44 +01:00
Thomas Nagy 2ab00f7f49 Removed Node.cache_sig 2015-12-23 17:55:44 +01:00