summaryrefslogtreecommitdiff
path: root/mesonbuild/backend
Commit message (Collapse)AuthorAgeFilesLines
...
* Improve handling of gui_appAndrei Alexeyev2019-02-181-2/+12
| | | | | | | | | | | | | This does two things: * On windows GCC-like compilers, the subsystem is always explicitly specified (either -mwindows or -mconsole). MSVC is already explicit. * The gui_app linker flags are now added after those mandated by external dependencies. This is because some misguided libraries (such as SDL) think that hijacking `main()` and forcing `-mwindows` in link flags is clever. We must unconditionally override such misuses to let gui_app work as intended.
* Fix console log from generator with multiple output nodesjml17952019-02-181-4/+8
|
* Merge pull request #4917 from nioncode/vs-fixTargetDependenciesJussi Pakkanen2019-02-161-10/+26
|\ | | | | vs: use project references in vcxproj instead of the sln file
| * vs: link dependencies of link_whole targetsNicolas Schneider2019-02-131-6/+15
| | | | | | | | | | Otherwise, msbuild will not create any output for targets that don't have any sources.
| * vs: do not automatically link dependenciesNicolas Schneider2019-02-131-0/+4
| |
| * vs: use project references in vcxproj instead of the sln fileNicolas Schneider2019-02-131-8/+11
| | | | | | | | | | This shows dependencies clearly in the 'references' view of VS and properly propagates the dependencies when building a single vcxproj with msbuild.
* | Remove remaining cross-specific compiler-args codeJohn Ericson2019-02-153-25/+19
| | | | | | | | | | Since the consolidation of flags in `compiler_options.*`, this cross/native special casing is not needed.
* | Remove a useless `cross_args` which is always emptyJohn Ericson2019-02-151-3/+1
| |
* | Remove get_cross_extra_flagsJohn Ericson2019-02-151-20/+4
| | | | | | | | This is no longer needed, we just remove conditionals around it.
* | ninja: Always treat PCHs as an implicit dependencyAndrei Alexeyev2019-02-131-8/+1
| | | | | | | | | | | | | | In addition to MSVC, which was worked around previously, GCC also does not list includes from the PCH in the depfile by default, unless -fpch-deps is given. I think it's best to stay safe and not rely on any particular behavior from the compiler here.
* | vs: refactor regen target creationNicolas Schneider2019-02-121-28/+16
| |
* | vs: always consider run, install, and test targets out-of-dateNicolas Schneider2019-02-121-26/+23
|/ | | | | | | | | | | | | | | | Pre/PostBuildEvents do not run if no other build steps are out-of-date. For most run targets (including install and test) that have no other build steps, VS considers these to be always up-to-date after they have been built once. On the other hand, CustomBuild has clearly defined inputs and outputs that define whether the target is up-to-date or not. By using a nonexistent file as output of CustomBuild, it is always considered out-of-date. This aligns the VS behavior with ninja. `ninja install` unconditionally installs, `ninja test` always runs the tests, and a run target always gets executed, without any checks whether it is up-to-date or not.
* vs: remove regen project dependency from solution fileNicolas Schneider2019-02-121-2/+0
| | | | | We now set up the project as a reference inside the vcxproj, so the explicit order in the solution is not needed anymore.
* vs: add reconfigure checks for each targetNicolas Schneider2019-02-121-3/+9
| | | | | | | | Previously, this was only added to C/C++ targets, but not for others. Thus, if you'd change a setting through `meson configure`, this was not picked up, e.g. the install target said it was up-to-date and when force rebuilding it, it also did not use the new settings until the build dir was manually reconfigured.
* BUGFIX: ignore non-ascii Fortran charactersMichael Hirsch, Ph.D2019-02-111-4/+3
|
* BUGFIX: handle Fortran 2003 "use" syntaxMichael Hirsch, Ph.D2019-02-091-1/+3
|
* Merge pull request #4860 from nioncode/fixPchJussi Pakkanen2019-02-091-13/+26
|\ | | | | Fix missing PCH dependencies
| * msvc: fix PCH stalenessNicolas Schneider2019-02-011-1/+8
| |
| * use same compiler args for pch as for regular targetNicolas Schneider2019-02-011-12/+18
| | | | | | | | Fixes #999, #1415, #2361.
* | Fortran 2008 submodule (#4874)Michael Hirsch, Ph.D2019-02-051-6/+33
| |
* | Merge pull request #4626 from Ericson2314/consolidate-propertiesJussi Pakkanen2019-02-043-18/+40
|\ \ | | | | | | Go through coreutils.compiler_options.{build.host.target}
| * | Never access environment.properties downstreamJohn Ericson2019-02-023-18/+40
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead use coredata.compiler_options.<machine>. This brings the cross and native code paths closer together, since both now use that. Command line options are interpreted just as before, for backwards compatibility. This does introduce some funny conditionals. In the future, I'd like to change the interpretation of command line options so - The logic is cross-agnostic, i.e. there are no conditions affected by `is_cross_build()`. - Compiler args for both the build and host machines can always be controlled by the command line. - Compiler args for both machines can always be controlled separately.
* | vs: add PCH headers to projectNicolas Schneider2019-02-041-1/+4
|/ | | | Otherwise, they will not be visible in the IDE.
* find_library: Check arch of libraries on DarwinNirbheek Chauhan2019-01-311-3/+2
| | | | | | | | | | | macOS provides the tool `lipo` to check the archs supported by an object (executable, static library, dylib, etc). This is especially useful for fat archives, but it also helps with thin archives. Without this, the linker will fail to link to the library we mistakenly 'found' like so: ld: warning: ignoring file /path/to/libfoo.a, missing required architecture armv7 in file /path/to/libfoo.a
* BUGFIX: allow fc.run(code) to work, pick only Fortran moduleMichael Hirsch, Ph.D2019-01-291-4/+1
|
* pep8 py37Michael Hirsch, Ph.D2019-01-292-18/+18
|
* vs: fix PCHNicolas Schneider2019-01-291-23/+28
|
* vs: escape embedded quotes of run targetsNicolas Schneider2019-01-271-0/+3
|
* custom_target: do not let install override build_by_defaultLuca Boccassi2019-01-171-3/+5
| | | | | | | | | | A custom_target, if install is set to true, will always be built by default even if build_by_default is explicitly set to false. Ensure that this does not happen if it's set explicitly. To keep backward compatibility, if build_by_default is not set explicitly and install is true, set build_by_default to true. Fixes #4107
* Calculate target paths correctly when workdir is set.Jussi Pakkanen2019-01-071-1/+8
|
* ninjabackend: Adding missing shell quotes for compiler argumentsRobert Bragg2019-01-071-4/+4
| | | | | | | | | | | Since trying to cross compile for Windows from Linux (WSL) and having paths like this: '-L/mnt/c/Program Files (x86)/Microsoft Visual Studio/2017/\ Community/VC/Tools/MSVC/14.15.26726/lib/x64' I found that the spaces and brackets in the paths weren't properly escaped by the Ninja backend.
* Better list prependingDaniel Mensinger2019-01-061-1/+4
|
* Fixed CI issuesDaniel Mensinger2019-01-061-8/+17
|
* Make custom command sources slightly more usefulDaniel Mensinger2019-01-061-1/+7
|
* Fixed hashDaniel Mensinger2019-01-061-1/+1
|
* Code cleanup and renamed variablesDaniel Mensinger2019-01-061-3/+2
|
* Fixed flake8Daniel Mensinger2019-01-061-1/+1
|
* Absolute path generation refactoringDaniel Mensinger2019-01-061-5/+3
|
* Simplefied absolute path generationDaniel Mensinger2019-01-062-6/+7
|
* Doc updates and throw if no target type is setDaniel Mensinger2019-01-061-7/+1
|
* Simplified code and improved preformanceDaniel Mensinger2019-01-061-26/+10
|
* Ninja backend target introspectionDaniel Mensinger2019-01-062-18/+123
|
* Removed fallback detection logicDaniel Mensinger2019-01-061-169/+15
|
* Some code cleanupDaniel Mensinger2019-01-061-24/+71
|
* Moved the source and compiler generation to the backendDaniel Mensinger2019-01-061-1/+145
|
* Fixed tests and benchmarksDaniel Mensinger2019-01-061-2/+5
|
* Initial automatic target file generationDaniel Mensinger2019-01-061-4/+6
|
* Remove cross_info; cross file is parsed up front and discardedJohn Ericson2019-01-022-22/+18
|
* Get rid of `need_cross_compiler`John Ericson2019-01-022-17/+3
| | | | | | | | | | Building a cross compiler (`build == host != target`) is not cross compiling. As such, it doesn't make sense to handle it under `is_cross_build`. (N.B. Building a standard library for a cross compiler would require cross compiling, but Meson has support to do such a thing as part of a compiler build currently.)
* vs: respect 'b_pch' optionNicolas Schneider2019-01-021-14/+15
| | | | Fixes #4681.