Commit Graph

311 Commits

Author SHA1 Message Date
Jussi Pakkanen 5174c255b2 Basic support for Objective C. 2013-04-06 20:55:37 +03:00
Jussi Pakkanen 629d55e3c9 Inherit InterpreterException from MesonException. 2013-04-06 20:32:56 +03:00
Jussi Pakkanen 35f3495c1d Can build Qt5 applications. 2013-04-01 20:07:41 +03:00
Jussi Pakkanen f856ee0f33 Fixed class hierarchy of dependencies. 2013-04-01 17:14:23 +03:00
Jussi Pakkanen 3d4aad9e0d Can have multiple different configurations of the same dependency. 2013-04-01 14:58:22 +03:00
Jussi Pakkanen 137365b5b3 Better external program detection. 2013-04-01 14:35:03 +03:00
Jussi Pakkanen b77ac5ec9f Extracted dependencies to their own file. 2013-04-01 14:08:54 +03:00
Jussi Pakkanen 1b11431079 Work on adding GTest support. 2013-03-24 15:41:20 +02:00
Jussi Pakkanen 70f6b769a6 Added custom detector framework and a Boost detector to it. 2013-03-24 15:04:51 +02:00
Jussi Pakkanen af82d04b3f Print friendlier error messages rather than the Python stack trace. 2013-03-15 22:30:21 +02:00
Jussi Pakkanen 18c78c1bb9 Prevent going into the same subdirectory multiple times. 2013-03-15 22:27:03 +02:00
Jussi Pakkanen ecd46332af Support for both basename and plainname in generators. 2013-03-15 22:13:11 +02:00
Jussi Pakkanen 27d39fe605 A few fixes. 2013-03-10 01:37:20 +02:00
Jussi Pakkanen f010ec624c Prevent creation of targets with names that could lead to collisions. 2013-03-09 23:53:02 +02:00
Jussi Pakkanen 5f6c928e2b Library and program objects can be serialised. 2013-03-09 23:08:22 +02:00
Jussi Pakkanen 347c263431 Find and use external libraries. 2013-03-09 22:42:01 +02:00
Jussi Pakkanen 68b50bd732 Cache external programs in coredata. 2013-03-09 21:20:58 +02:00
Jussi Pakkanen 8c237ebfeb Can use external programs. 2013-03-09 21:12:03 +02:00
Jussi Pakkanen e2a5357282 Do not lose line numbers to the great void of nothingness. 2013-03-02 01:50:52 +02:00
Jussi Pakkanen f7f726200a Use NinjaBuildElements in coverage too. 2013-03-01 23:38:51 +02:00
Jussi Pakkanen 67b2ac474a Only have one coredata object because two is just wasteful. 2013-03-01 23:13:17 +02:00
Jussi Pakkanen dd00a64b9d Created a helper class to build Ninja build directives. 2013-03-01 21:20:25 +02:00
Jussi Pakkanen 226f063edb Reworked how sources are passed to BuildTargets. 2013-03-01 20:49:46 +02:00
Jussi Pakkanen 9948b616df Store bunch of data to coredata. 2013-02-24 23:11:14 +02:00
Jussi Pakkanen 8d6a681b23 Renamed a keyword argument. 2013-02-24 01:54:01 +02:00
Jussi Pakkanen 0f60793b15 Prevent slashes in generated names. 2013-02-24 01:49:54 +02:00
Jussi Pakkanen 7abe15a7ba Pipeline backend is done and works. 2013-02-23 23:00:00 +02:00
Jussi Pakkanen 15aa29bf15 Generate compile commands for generated sources. 2013-02-23 22:27:47 +02:00
Jussi Pakkanen 1e66faac5f Store generation info in build state. 2013-02-23 21:13:01 +02:00
Jussi Pakkanen 8ca67c283c Can create generator objects. 2013-02-23 20:37:33 +02:00
Jussi Pakkanen a21737cdd7 Final piece of renaming (hopefully). 2013-02-23 13:35:18 +02:00
Jussi Pakkanen 10fc496bbc More builder -> Meson renaming. 2013-02-23 13:24:41 +02:00
Jussi Pakkanen b0da103729 Regenerate build info if definition files change. 2013-02-16 21:14:04 +02:00
Jussi Pakkanen aad3a7a76e Added test for external deps and fixed comments at the same time. 2013-02-10 13:56:29 +02:00
Jussi Pakkanen a7bfcbd6b9 More keyword adding. 2013-02-10 13:15:33 +02:00
Jussi Pakkanen 3aff6de3e6 Specify language for global_arguments with keyword arguments. 2013-02-10 13:13:28 +02:00
Jussi Pakkanen b279ba572d Add include directories with keyword arguments. 2013-02-10 13:08:47 +02:00
Jussi Pakkanen 537b18af82 More keyword argument wrangling. 2013-02-10 12:59:05 +02:00
Jussi Pakkanen a16acceedd Better handling of keyword argument lists. 2013-02-10 12:44:59 +02:00
Jussi Pakkanen ba41aeeec2 Can specify library versions with keyword arguments. 2013-02-10 03:09:59 +02:00
Jussi Pakkanen 93906894a9 Can specify extra compiler flags with keyword arguments. 2013-02-10 02:57:08 +02:00
Jussi Pakkanen d62f14b419 Can specify PCH with keyword arguments. 2013-02-10 02:45:15 +02:00
Jussi Pakkanen c2e9de4f7f Can install data with keyword arguments. 2013-02-10 02:31:21 +02:00
Jussi Pakkanen a9ebecab90 Can set header subdir with keyword arguments. 2013-02-10 02:23:38 +02:00
Jussi Pakkanen 006c34bd9e Define link with keyword arguments. 2013-02-10 02:20:11 +02:00
Jussi Pakkanen ab85e72410 Enforce keyword order. 2013-02-10 02:01:41 +02:00
Jussi Pakkanen ed53c4f5ac Removed install method from BuildTarget. 2013-02-10 01:56:59 +02:00
Jussi Pakkanen 128547b1ec Can specify install with keyword arguments. 2013-02-10 01:51:39 +02:00
Jussi Pakkanen 90779664c3 Can build executables with keyword arguments. 2013-02-10 01:12:00 +02:00
Jussi Pakkanen 45ecded01d Started work on keyword arguments. 2013-02-10 00:50:46 +02:00
Jussi Pakkanen 775b680826 Renamed language name from c++ to cxx to make things easier. 2013-02-09 00:06:07 +02:00
Jussi Pakkanen b3074e49eb Made C++ work in Ninja. 2013-02-09 00:00:03 +02:00
Jussi Pakkanen f9c63999c3 Put build directories in #include path. 2013-01-28 02:13:06 +02:00
Jussi Pakkanen 98ce4539a9 Mirror the source tree directories in the build tree. 2013-01-28 01:07:13 +02:00
Jussi Pakkanen 2ae2a896c1 Added shared library versioning. 2013-01-27 23:51:06 +02:00
Jussi Pakkanen 919fcbb6ef Added endianness check. 2013-01-27 22:28:19 +02:00
Jussi Pakkanen aef5ef362d Added support for numbers. 2013-01-27 22:18:40 +02:00
Jussi Pakkanen d4d8045d2e Renamed parser.py so it does not shadow the internal parser module. 2013-01-27 21:51:01 +02:00
Jussi Pakkanen 261419aff3 Access variables through functions that do error checking. 2013-01-27 21:45:02 +02:00
Jussi Pakkanen b97f43b9b7 Can set global flags. 2013-01-26 01:44:56 +02:00
Jussi Pakkanen 2af66e5478 Filter header files from built sources. 2013-01-26 01:12:39 +02:00
Jussi Pakkanen 5c0d1cc7c0 Include directories work. 2013-01-26 00:28:13 +02:00
Jussi Pakkanen 5269885f16 Added array support. 2013-01-25 22:42:11 +02:00
Jussi Pakkanen f5835d85e2 Added comparison. 2013-01-25 21:59:53 +02:00
Jussi Pakkanen b2df86d5cc Renamed EQUALS. 2013-01-25 21:29:59 +02:00
Jussi Pakkanen 81fbb83f84 Added else block support. 2013-01-25 21:25:52 +02:00
Jussi Pakkanen 88bd40ecf3 Added if clause. 2013-01-25 21:06:08 +02:00
Jussi Pakkanen bd6e542f1c Added boolean data type. 2013-01-25 20:40:00 +02:00
Jussi Pakkanen 3eab390158 Can generate configure files. 2013-01-14 01:13:55 +02:00
Jussi Pakkanen 3e9416fc4a Added support for precompiled headers. 2013-01-13 20:50:16 +02:00
Jussi Pakkanen 5701529632 Can install data files. 2013-01-13 19:25:54 +02:00
Jussi Pakkanen 0783c7ff97 Can generate targets in subdirectories. 2013-01-13 18:11:24 +02:00
Jussi Pakkanen 223d468355 Can recurse into subdirectories. 2013-01-13 17:59:34 +02:00
Jussi Pakkanen 79c9e1e172 Start work on descending to subdirectories. 2013-01-13 17:41:47 +02:00
Jussi Pakkanen 5969b1ed33 Can install Man files. 2013-01-12 14:31:43 +02:00
Jussi Pakkanen 8d038ef09e Can install header files. 2013-01-12 13:53:19 +02:00
Jussi Pakkanen b6886b2c27 Added target install option. 2013-01-12 02:25:06 +02:00
Jussi Pakkanen 03e557992a Define used languages in project() function. 2013-01-11 23:13:49 +02:00
Jussi Pakkanen c71f82432f Extracted build data to its own class. 2013-01-11 22:59:49 +02:00
Jussi Pakkanen 54e47554c3 Added unit test functionality to builder. 2013-01-06 19:13:30 +02:00
Jussi Pakkanen c8fee3d417 Call functions through dictionary rather than if/else maze. 2013-01-06 18:48:16 +02:00
Jussi Pakkanen 216a8ca1ea Can link against static libraries. 2013-01-06 02:59:54 +02:00
Jussi Pakkanen 6137bfe326 Better error message. 2013-01-06 00:40:40 +02:00
Jussi Pakkanen c2889038ca Invoke methods through a dictionary. 2013-01-06 00:16:44 +02:00
Jussi Pakkanen 20e43ff7f9 Can build shared libraries. 2013-01-05 21:08:08 +02:00
Jussi Pakkanen ea99126496 Can build static libraries. 2013-01-05 18:13:38 +02:00
Jussi Pakkanen e01200a4ab Added support for C++. 2013-01-02 00:54:32 +02:00
Jussi Pakkanen 8db898928b Put all outputs to target directories. 2013-01-02 00:00:24 +02:00
Jussi Pakkanen 016b9093d7 Moved compiler detection inside Environment. 2013-01-01 21:00:22 +02:00
Jussi Pakkanen 6502708b08 Can define more than one language. 2013-01-01 20:45:11 +02:00
Jussi Pakkanen b1ccec0cef Add missing lineno call. 2013-01-01 20:33:49 +02:00
Jussi Pakkanen 347dda92af Some fixes. 2013-01-01 20:32:43 +02:00
Jussi Pakkanen 04ac73e8ea Renamed executables variable to targets. 2013-01-01 20:28:00 +02:00
Jussi Pakkanen 221f175cfb Make C test program not compile under C++. 2013-01-01 20:13:46 +02:00
Jussi Pakkanen 1892e92a93 Put temporary stuff in a scratch directory. 2013-01-01 20:08:03 +02:00
Jussi Pakkanen 7651e8a641 Can generate full build projects. 2013-01-01 18:03:30 +02:00
Jussi Pakkanen 650787f3d7 Can build an executable with several files. 2013-01-01 17:21:27 +02:00
Jussi Pakkanen e271248d07 Use reduced arguments in functions 2013-01-01 17:10:55 +02:00
Jussi Pakkanen 67b33229c3 Created argument reducer. 2013-01-01 17:01:49 +02:00
Jussi Pakkanen 409ba33f48 Can do method calls on objects. 2012-12-30 03:20:53 +02:00
Jussi Pakkanen fbecb5378d Can generate external dependency objects. 2012-12-30 02:06:51 +02:00
Jussi Pakkanen 676dc51ac9 Can assign values to variables. 2012-12-30 01:31:39 +02:00
Jussi Pakkanen a455780ccf Put external deps into command line. 2012-12-30 00:55:35 +02:00
Jussi Pakkanen 026aa086dc Better text output in shell script. 2012-12-29 22:13:14 +02:00
Jussi Pakkanen a7b991bfd4 Can generate compile commands. 2012-12-29 19:51:32 +02:00
Jussi Pakkanen 0339d3bcf2 Created the executable command. 2012-12-29 18:18:41 +02:00
Jussi Pakkanen 1ead90f199 Even more extracting. 2012-12-29 15:51:51 +02:00
Jussi Pakkanen 851f642ee4 Extracted validator and project function to their own functions. 2012-12-29 15:45:43 +02:00
Jussi Pakkanen 29de2765bf Can set project language. 2012-12-27 00:04:28 +02:00
Jussi Pakkanen 4dbe7f6f34 Can call functions and print text. 2012-12-26 23:37:41 +02:00
Jussi Pakkanen cfad3eb371 Created an interpreter class and even made it interpret something. 2012-12-26 20:58:48 +02:00