Brad King
b78a68f98b
Merge topic 'csharp-out-of-source-groups'
...
ac6b18cd90 CSharp: Add support for source groups with out-of-source builds
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !4374
2020-02-28 14:15:56 -05:00
Kinan Mahdi
ac6b18cd90
CSharp: Add support for source groups with out-of-source builds
...
This also fixes support for multiple sources of the same name in
different directories. Add a test for both problems.
Issue: #19505
2020-02-28 11:42:01 -05:00
Alexander Boczar
7c944da757
VS: Add target property to explicitly control solution deployment
...
Add a `VS_SOLUTION_DEPLOY` property to control solution deploy mark.
Fixes : #20346
2020-02-25 10:24:23 -05:00
Brad King
0bf9589bf1
Merge topic 'csharp-no-valued-macros'
...
effd4d0569 CSharp: Do not pass definitions with values
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !4267
2020-01-27 10:03:26 -05:00
Sumit Bhardwaj
effd4d0569
CSharp: Do not pass definitions with values
...
The Microsoft C# tooling does not accept definitions with values.
Filter them out.
Fixes : #19817
2020-01-24 14:43:37 -05:00
Brad King
786b56942b
Merge topic 'vs-dotnet-standard-core'
...
ae1e1909a1 VS: Add support for .NET Standard and .NET Core
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !4240
2020-01-24 10:55:26 -05:00
Joerg Bornemann
ae1e1909a1
VS: Add support for .NET Standard and .NET Core
...
Fixes : #20105
2020-01-24 09:11:05 -05:00
Cristian Adam
a55df20499
Multi-Ninja: Add precompile headers support
...
Fixes : #19789
2020-01-17 23:17:35 +01:00
Brad King
6e6f5afd03
Merge topic 'unity-lang-filename'
...
274a6f3699 Unity Build: include language in generated source file name
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !4223
2020-01-15 13:37:33 -05:00
Cristian Adam
274a6f3699
Unity Build: include language in generated source file name
...
Fixes : #20206
2020-01-14 18:48:08 +01:00
Brad King
37a30f228a
Merge topic 'fix-vs-winrt-by-default'
...
557ea4614e VS: Change CMAKE_VS_WINRT_BY_DEFAULT to not implicitly enable WinRT
7bcef355bf Vs: Add test for VS_WINRT_BY_DEFAULT
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !4127
2019-12-17 11:11:24 -05:00
Petr Polezhaev
557ea4614e
VS: Change CMAKE_VS_WINRT_BY_DEFAULT to not implicitly enable WinRT
...
Original behaviour would unconditionally enable WinRT for all projects
so source file flag generation code can acknowledge WinRT being present
and disable it for C language source files. An unintentional result of
that approach is that WinRT is enabled for ALL projects, including C++
projects/source files with no way to disable it
Instead use `CMAKE_VS_WINRT_BY_DEFAULT` as a hint that the platform is
WinRT-by-default and set global `CompileAsWinRT` flag to `false` unless
it was explicitly requested by either `WINRT_COMPONENT` option or `/ZW`
compilation option - similar to what Windows Phone/Windows Store
platform logic does
In case WinRT compilation is enabled for a project by either of
aforementioned methods, C language source file override logic will still
kick in and disable CompileAsWinRT for C source files
Fixes : #20063
2019-12-16 13:46:59 -05:00
Brad King
fe7626da54
Merge topic 'pch-force-include'
...
c5c218fa0d PCH: Append pch header file to list of forced include files
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !4135
2019-12-16 10:04:03 -05:00
Petr Polezhaev
7bcef355bf
Vs: Add test for VS_WINRT_BY_DEFAULT
2019-12-16 15:00:44 +03:00
Cristian Adam
c5c218fa0d
PCH: Append pch header file to list of forced include files
...
Fixes : #20088
2019-12-13 15:21:27 +01:00
Brad King
cb165b8b79
Merge topic 'source_group-tree'
...
3c0ca5a9d9 source_group: ensure that passed file is not a directory
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !3979
2019-11-05 11:30:27 -05:00
Mateusz Janek
3c0ca5a9d9
source_group: ensure that passed file is not a directory
...
Fixes : #19769
2019-11-04 13:37:41 -05:00
Brad King
b34b4c5eac
Merge topic 'vs-vctargetspath'
...
e7d57bc3c3 VS: Propagate CMAKE_VS_GLOBALS into custom targets
45b4b4b930 VS: Propagate CMAKE_VS_GLOBALS into compiler id projects
548e9051a4 VS: Add support to override VCTargetsPath through toolset
99e83d4235 cmake: Teach --build mode to load CMAKE_GENERATOR_TOOLSET
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !3817
2019-10-18 09:01:48 -04:00
Alexander Boczar
45b4b4b930
VS: Propagate CMAKE_VS_GLOBALS into compiler id projects
...
Issue: #19708
2019-10-17 10:18:52 -04:00
Alexander Boczar
548e9051a4
VS: Add support to override VCTargetsPath through toolset
...
Fixes : #19708
2019-10-15 13:28:45 -04:00
Charly Mourglia
89ff3ee779
VS: Add VS_DOTNET_DOCUMENTATION_FILE property
...
Add a `VS_DOTNET_DOCUMENTATION_FILE` target property to tell VS
generators to add a `DocumentationFile` setting in `.csproj` files.
Fixes : #19784
2019-10-15 11:44:55 -04:00
Cristian Adam
e6e189e02b
PCH: Report error when setting COMPILE_PDB_NAME property
...
Reusable precompile headers require specific COMPILE_PDB_NAME property
values. Report error if the user tries to set a different value.
2019-10-01 18:33:40 +02:00
Brad King
ac4d6d4a9d
Merge topic 'unity-build'
...
7786a05c70 Unity build: Add XCode support
1353802af3 Unity build: Add unit tests
8dfeb5d278 Unity build: Add support for Visual Studio generator
7114c141e2 Unity build: Add support for Ninja and Makefile generators
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com >
Acked-by: Evgeniy Dushistov <dushistov@mail.ru >
Acked-by: Viktor Kirilov <vik.kirilov@gmail.com >
Merge-request: !3611
2019-09-05 08:36:06 -04:00
Cristian Adam
383bf3b5e7
Precompile Headers: Fix Visual Studio 10 unit test
...
The unit test is more roboust, problems like c: vs C:
or having relative paths of cmake_pch.cxx instead of absolute
paths.
2019-09-03 15:50:42 +02:00
Cristian Adam
1353802af3
Unity build: Add unit tests
2019-08-30 20:39:32 +02:00
Brad King
fa36e2151d
Merge topic 'precompile-headers'
...
8da78d4efe Precompile headers: Update documentation
5772930164 Precompile headers: Add unit tests
519606704e Precompile headers: Add support for Visual Studio generators
28be170fbc Precompile headers: Add support for Xcode generator
b8626261e9 Precompile headers: Add methods to generate PCH sources
375d01c680 PCH: add example/test
9b6797e71d PCH: add target_precompile_headers command
0467a2f91b PCH: add PRECOMPILE_HEADERS to special properties
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de >
Acked-by: Ivan171 <heavenandhell171@gmail.com >
Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com >
Acked-by: Steve Mokris <smokris@softpixel.com >
Acked-by: Evgeniy Dushistov <dushistov@mail.ru >
Acked-by: Danila Malyutin <flashmozzg@gmail.com >
Acked-by: Viktor Kirilov <vik.kirilov@gmail.com >
Acked-by: Lucas Zhao <zhaopf6@163.com >
Merge-request: !3553
2019-08-29 09:38:21 -04:00
Cristian Adam
5772930164
Precompile headers: Add unit tests
2019-08-28 11:47:51 -04:00
Daniel Eiband
8909a450a6
VS: Add support for generator expressions to VS_CONFIGURATION_TYPE
...
Generator expressions in target property VS_CONFIGURATION_TYPE might be used to
set the ConfigurationType to Utility for certain configurations to not build
the target while still linking to the target in other configurations.
Fixes : #19613
2019-08-26 15:22:43 +02:00
Mateusz Janek
bb6e95ca6d
source_group: Improved generated filters tests
2019-08-16 14:55:47 +02:00
Brad King
cb88632790
Merge topic 'vs-spectre-off'
...
f9b7c660d7 VS: Fix mapping of `-Qspectre-` flag
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !3629
2019-07-31 11:41:37 -04:00
Brad King
f9b7c660d7
VS: Fix mapping of -Qspectre- flag
...
The mapping for this flag was added by commit 43aa632f57 (VS: Populate
`-Qspectre-` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~7).
However, it did not do anything because the special logic added by
commit bb60ed6e72 (VS: Add flag table entry for -Qspectre, 2018-10-08,
v3.13.0-rc1~4^2) to move the `SpectreMitigation` element from
`ClCompile` to the top level only handled the presence of the setting
and not its value. Extend the special logic to carry the value too.
Fixes : #19535
2019-07-30 11:17:28 -04:00
Artalus
f4ed56ab63
Fix elseif() in place of else()
2019-07-03 11:57:53 +03:00
Matt Weir
cd92f8f8bf
VS: Add VS_DPI_AWARE target property
...
Enables setting the visual studio project property for Manifests,
controlling the DPI Aware setting.
2019-06-26 09:55:49 -04:00
Kinan Mahdi
42e14d90b1
VS: Added support for VS package references for nuget
2019-05-30 10:22:44 -04:00
Luca Cappa
2a9ff9703e
MSVC: Add support for /JMC (Just My Code)
2019-05-14 13:27:18 -04:00
Brad King
61f70e81a7
MSVC: Document and test behavior of empty MSVC_RUNTIME_LIBRARY
...
Extend tests added by commit fb3370b6a1 (MSVC: Add abstraction for
runtime library selection, 2019-04-10) to cover an empty value for
the property. It should result in no specific setting.
Issue: #19108
2019-04-22 08:48:44 -04:00
Brad King
2ed688a863
Merge topic 'msvc-runtime-library'
...
fb3370b6a1 MSVC: Add abstraction for runtime library selection
f621e7fa5d VS: Fix Fortran runtime library flag map special case for '-' options
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: Ben Boeckel <ben.boeckel@kitware.com >
Acked-by: Leonid Pospelov <pospelovlm@yandex.ru >
Merge-request: !3211
2019-04-17 11:01:37 -04:00
Brad King
fb3370b6a1
MSVC: Add abstraction for runtime library selection
...
Replace our hard-coded defaults for `/MD` and `/MDd` with a first-class
abstraction to select the runtime library from an enumeration of logical
names. We've long hesitated to do this because the idea of "runtime
library selection" touches on related concepts on several platforms.
Avoid that scope creep by simply defining an abstraction that applies
only when targeting the MSVC ABI on Windows.
Removing the old default flags requires a policy because existing
projects may rely on string processing to edit them and choose a runtime
library under the old behavior. Add policy CMP0091 to provide
compatibility.
Fixes : #19108
2019-04-17 11:00:44 -04:00
Leonid Pospelov
d145d72e70
VS: add target property VS_PROJECT_IMPORT_<propspath>
...
Fixes : #18998
2019-04-15 13:05:07 -04:00
Wil Stark
822697996e
VS: Fix nowarn compiler option to accept warning numbers.
...
Warning disables are transferred to the VS IDE `<NoWarn>` node.
Fixes : #18878
2019-02-07 06:39:45 -05:00
Brad King
bd3685b6cf
Merge topic 'vs-debug-utility-targets'
...
22b43b0009 VS: Add support for VS_DEBUGGER_* properties on custom targets
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !2794
2019-01-17 11:07:11 -05:00
Nils Gladitz
22b43b0009
VS: Add support for VS_DEBUGGER_* properties on custom targets
...
Visual studio itself supports the corresponding `LocalDebugger*`
properties on utility targets; support generating them from CMake as
well.
2019-01-16 10:21:01 -05:00
Wil Stark
a541d113e6
VS: Honor target_compile_definitions for C# projects
...
Fixes : #18698
2019-01-15 21:29:59 -08:00
Brad King
77303314dc
Restore support for a custom source group for CMakeLists.txt
...
Since commit v3.11.0-rc1~467^2 (VS,Xcode: Add CMakeLists.txt sources
without mutating targets, 2017-10-18) we do not add `CMakeLists.txt` to
target sources but instead generate references to them directly. This
accidentally dropped generation of the `.vcxproj.filters` entry for a
source group in which `CMakeLists.txt` is the only member.
Fixes : #18795
2019-01-14 08:43:30 -05:00
Wil Stark
b5b63da088
VS: Fix Deploy content in .csproj files
2018-12-07 09:01:32 -08:00
Mikhail Korolev
36489b85aa
VS: Add test for CMAKE_VS_GLOBALS
2018-09-28 11:13:03 -04:00
Jon Chronopoulos
797de7a6f6
VS10Project: Expand VS_DEBUGGER_* capabilities
...
This adds VS_DEBUGGER_COMMAND_ARGUMENTS and VS_DEBUGGER_ENVIRONMENT as
well as allowing VS_DEBUGGER_* to use generator expressions.
2018-06-17 17:55:27 +10:00
Michael Stürmer
8d7ffed048
cmVisualStudio10TargetGenerator: issue warning when adding static C# lib
2018-05-07 07:20:46 +02:00
Brad King
fe0082875a
Merge topic 'vs-sdk-dirs'
...
6ec3e880e7 VS: Add variables to set SDK directories in vcxproj files
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !1965
2018-04-20 07:52:02 -04:00
Bastien Schatt
6ec3e880e7
VS: Add variables to set SDK directories in vcxproj files
...
Create `CMAKE_VS_SDK_*_DIRECTORIES` variables to tell the VS generator
how to populate fields in `.vcxproj` files that specify SDK directories.
Fixes : #17908
2018-04-19 09:39:34 -04:00