summaryrefslogtreecommitdiff
path: root/mesonbuild/backend/vs2010backend.py
Commit message (Collapse)AuthorAgeFilesLines
...
| * 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-151-13/+10
| | | | | | | | | | Since the consolidation of flags in `compiler_options.*`, this cross/native special casing is not needed.
* | 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.
* Merge pull request #4626 from Ericson2314/consolidate-propertiesJussi Pakkanen2019-02-041-9/+17
|\ | | | | Go through coreutils.compiler_options.{build.host.target}
| * Never access environment.properties downstreamJohn Ericson2019-02-021-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* pep8 py37Michael Hirsch, Ph.D2019-01-291-16/+16
|
* vs: fix PCHNicolas Schneider2019-01-291-23/+28
|
* vs: escape embedded quotes of run targetsNicolas Schneider2019-01-271-0/+3
|
* vs: respect 'b_pch' optionNicolas Schneider2019-01-021-14/+15
| | | | Fixes #4681.
* Update VS files only if something changed.John Preston2018-12-071-6/+14
| | | | | | | | If you change only some project in meson.build, only that .vcxproj file will be updated and reloaded. If you change something not related to VS solution and projects or simply touch the meson.build file, nothing will be reloaded.
* Use correct environment for REGEN in VS backend.John Preston2018-12-041-2/+31
| | | | | Try to guess which VS Command Prompt was used for the Meson call. If one is chosen invoke it before calling Meson in REGEN command.
* Use /O1 instead of /Os for MSVC as the latter is deprecated.Jussi Pakkanen2018-11-281-2/+3
|
* Remove MinimalRebuild as it is deprecated. Closes #4539.Jussi Pakkanen2018-11-221-1/+0
|
* Fix ProjectGuid values in VS projects.John Preston2018-11-151-5/+5
|
* Add 'meson.build' to VS project files.John Preston2018-11-151-1/+4
|
* Added "native" kwarg to add_XXX_args. Closes #3669.Jussi Pakkanen2018-08-221-2/+2
|
* Convert buildtype to optimization and debug options (#3489)Jussi Pakkanen2018-08-181-1/+26
|
* Fix @CURRENT_SOURCE_DIR@ in generator()Emil Styrke2018-08-071-1/+1
| | | | Fix @CURRENT_SOURCE_DIR@ pointing to the wrong directory if generator() is called from a subdir.
* Merge pull request #3850 from mesonbuild/nirbheek/exe-wrapper-compiler-fallbacksJussi Pakkanen2018-07-311-1/+2
|\ | | | | Be more permissive about not-found exe_wrapper
| * cross: Be more permissive about not-found exe_wrappernirbheek/exe-wrapper-compiler-fallbacksNirbheek Chauhan2018-07-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to immediately try to use whatever exe_wrapper was defined in the cross file, but some people generate the cross file once and use it for several projects, most of which do not even need an exe wrapper to build. Now we're a bit more resilient. We quietly fall back to using non-exe-wrapper paths for compiler checks and skip the sanity check. However, if some code needs the exe wrapper, f.ex., if you run a built executable using custom_target() or run_target(), we will error out during setup. Tests will, of course, continue to error out when you run them if the exe wrapper was not found. We don't want people's tests to silently "pass" (aka skip) because of a bad CI setup. Closes https://github.com/mesonbuild/meson/issues/3562 This commit also adds a test for the behaviour of exe_wrapper in these cases, and refactors the unit tests a bit for it.
* | Added install target to VS. Closes #3841.vsinstallJussi Pakkanen2018-07-221-0/+77
|/
* Visual Studio: Implement startup projectNiklas Claesson2018-06-101-2/+11
|
* Move <lang>_args to coredata.compiler_optionsXavier Claessens2018-06-061-4/+5
|
* Add a new option for building with Apple bitcode supportNirbheek Chauhan2018-06-061-1/+2
| | | | | | Normally, people would just pass -fembed-bitcode in CFLAGS, but this conflicts with -Wl,-dead_strip_dylibs and -bundle, so we need it as an option so that those can be quietly disabled.
* Merge pull request #3372 from NickeZ/vs-sol-foldersJussi Pakkanen2018-04-261-20/+68
|\ | | | | Use visual studio solution directories
| * Use visual studio solution directoriesNiklas Claesson2018-04-171-17/+65
| | | | | | | | | | | | | | | | This implements support for visual studio solution directories. Projects will by default be put into directories that map their sub-directory name in the source folder. No directories are created if `--layout=flat` is used. Fixes: #2524
| * Fix vs flat layout bugNiklas Claesson2018-04-171-4/+4
| |
* | Fix using object extracted from a unity buildXavier Claessens2018-04-181-1/+1
|/ | | | | | | | | | | - determine_ext_objs: What matters is if extobj.target is a unity build, not if the target using those objects is a unity build. - determine_ext_objs: Return one object file per compiler, taking into account generated sources. - object_filename_from_source: No need to special-case unity build, it does the same thing in both code paths. - check_unity_compatible: For each compiler we must extract either none or all its sources, taking into account generated sources.
* Merge pull request #1852 from QuLogic/openmpJussi Pakkanen2018-04-171-3/+12
|\ | | | | Add an OpenMP dependency.
| * Add an OpenMP dependency.Elliott Sales de Andrade2018-04-171-3/+12
| | | | | | | | | | This works similarly to the thread dependency which stores the various inconsistent flags in each compiler.
* | Open build files with utf-8Nirbheek Chauhan2018-04-171-3/+3
|/
* VS backend: dedup AdditionalDependenciesPaul I2018-04-081-1/+2
|
* Merge pull request #2976 from dzabraev/fix-reversed-orderJussi Pakkanen2018-03-251-1/+2
|\ | | | | Fix bug include_directories(['p1','p2']) add -Ip2 -Ip1 (reversed order)
| * keep include paths orderMaxim Dzabraev2018-02-111-1/+2
| |
* | Enable b_ndebug on VisualStudioCCompilerAleksey Filippov2018-03-231-1/+1
| |
* | Use target.get_id() instead of basename and type_suffix concatenation at ↔Aleksey Filippov2018-03-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | call site Fixes the bug with flat layout and identical target names in subprojects. Without this change directories are not created with subproject prefix and they can collide. Remove dead makedirs code in Backend.__init__(), during initialization of backend build.targets is empty. Create output directories in Vs2010Backend.generate_projects() instead. Also use double blank line in run_unittests.py according to https://www.python.org/dev/peps/pep-0008/#blank-lines.
* | Fix flake8 'imported but unused' reportsJon Turney2018-03-031-1/+1
|/ | | | | | | | | | | | | | | | $ flake8 | grep F401 ./meson.py:17:1: F401 'mesonbuild.mesonlib' imported but unused ./meson.py:18:1: F401 'locale' imported but unused ./run_unittests.py:24:1: F401 'sys' imported but unused ./mesonbuild/minit.py:2:1: F401 'pyclbr.Function' imported but unused ./mesonbuild/minit.py:18:1: F401 'os' imported but unused ./mesonbuild/backend/vs2010backend.py:15:1: F401 'sys' imported but unused ./mesonbuild/backend/xcodebackend.py:19:1: F401 'sys' imported but unused ./mesonbuild/dependencies/ui.py:20:1: F401 'shutil' imported but unused ./mesonbuild/modules/python3.py:15:1: F401 'sys' imported but unused ./mesonbuild/modules/unstable_icestorm.py:15:1: F401 '..compilers' imported but unused ./mesonbuild/modules/unstable_icestorm.py:15:1: F401 '..mlog' imported but unused ./test cases/common/98 gen extra/srcgen3.py:3:1: F401 'os' imported but unused
* Use os.path: basename() and dirname() instead of split()Aleksey Filippov2018-01-301-1/+1
| | | | | | | | | | | | According to Python documentation[1] dirname and basename are defined as follows: os.path.dirname() = os.path.split()[0] os.path.basename() = os.path.split()[1] For the purpose of better readability split() is replaced by appropriate function if only one part of returned tuple is used. [1]: https://docs.python.org/3/library/os.path.html#os.path.split
* Merge pull request #2764 from mesonbuild/generatorpathJussi Pakkanen2018-01-131-2/+3
|\ | | | | Generator outputs can have path segments
| * Fix Windows.generatorpathJussi Pakkanen2017-12-211-2/+3
| |
| * Can declare file generation in one dir and use the output in another.Jussi Pakkanen2017-12-181-1/+1
| |
* | Modify exception raised when msvc pch is badly specifiedChristophe Gouiran2018-01-071-1/+1
| |
* | Fix MSVC backend crashes when `c_pch` or `cpp_pch` is not an arrayChristophe Gouiran2018-01-061-14/+22
| |
* | Fail Visual Studio version detection if VSINSTALLDIR is not setGabrĂ­el ArthĂșr PĂ©tursson2017-12-301-4/+3
|/ | | | | | The Visual Studio Developer Command Prompt always sets the VSINSTALLDIR environment variable. If not, we probably have a broken environment and won't get very far anyway.
* custom target: Consider all build depends while serializingNirbheek Chauhan2017-12-021-0/+3
| | | | | | | | | | Currently, we only consider the build depends of the Executable being run when serializing custom targets. However, this is not always sufficient, for example if the executable loads modules at runtime or if the executable is actually a python script that loads a built module. For these cases, we need to set PATH on Windows correctly or the custom target will fail to run at build time complaining about missing DLLs.
* VS: Add /DEBUG to linker to generate debug informationNiklas Claesson2017-11-301-3/+7
|