summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/VS10Project/RunCMakeTest.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'vs2022-v143-link-guard-cf'Brad King2022-01-131-0/+1
|\ | | | | | | | | | | | | 9e24437c91 VS: Remove the '/guard:cf' flag from v143 link flag table Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6858
| * VS: Remove the '/guard:cf' flag from v143 link flag tableBenjamin Sluis2022-01-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Apply the change from commit db35e3cfd6 (VS: Fix support for '/guard:cf' linker flag for v142, 2019-01-24, v3.14.0-rc1~74^2~2) to the v143 flag table. The entry for `LinkControlFlowGuard` in `v143_Link.json` does not work when used in a `.vcxproj` file. Drop our link flag table entries for this toolset so that the flag will be passed via `AdditionalOptions`. Also add a test case.
* | VS: Fix compilation of single source with PCH in Unity BuildBrad King2021-10-191-0/+15
|/ | | | | | | | | | | | | Sources that are part of a unity build are normally not compiled individually. However, the VS IDE allows a single source to be compiled. This can also be achieved on the command line: msbuild my.vcxproj ... -t:ClCompile -p:SelectedFiles=<src> where `<src>` is the path in the vcxproj `ClCompile` entry. In a target with precompiled headers, the source needs PCH settings to support individual compilation even if the normal unity build does not.
* add_custom_{command,target}: Add genex support to OUTPUT and BYPRODUCTSBrad King2020-12-111-0/+1
| | | | | | | | | Move rejection of `#`, `<`, and `>` characters in outputs and byproducts to a generate-time check. This removes the front-end check that disallowed generator expressions. The generators have already been updated to handle them. Fixes: #12877
* VS: Make ImportLibary generation optionalMark Jansen2020-09-301-0/+1
| | | | Fixes: #21180
* VS: Fix C language standard in target with C++ sourcesBrad King2020-09-291-0/+4
| | | | | | Add C-language standard to target-wide C++ settings. Fixes: #21195
* Add INTERFACE libraries to generated buildsystem if they have SOURCESBrad King2020-08-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | INTERFACE libraries were created with the intention of collecting usage requirements for use by other targets via `target_link_libraries`. Therefore they were not allowed to have SOURCES and were not included in the generated buildsystem. In practice, this has become limiting: * Header-only libraries do have sources, they just do not compile. Developers should be able to edit those sources (the header files) in their IDE. * Header-only libraries may need to generate some of their header files via custom commands. Some projects work around these limitations by pairing each interface library with an `add_custom_target` that makes the header files and custom commands appear in the generated buildsystem and in IDEs. Lift such limitations by allowing INTERFACE libraries to have SOURCES. For those with sources, add a corresponding build target to the generated buildsystem. Fixes: #19145
* Unity Builds: Support explicit specification of sources to groupsRobert Maynard2020-05-071-0/+1
| | | | | Instead of having CMake determine which files should go into each unity file, the user can now use explicitly state the mapping.
* VS: Add option for per-target PlatformToolsetJulien Jemine2020-04-291-0/+1
| | | | | | | | | Add a `VS_PLATFORM_TOOLSET` target property to set `PlatformToolset` in the `.vcxproj` file for specific targets. Document that this is safe only when the named toolset uses the same underlying compiler as the primary toolset. Fixes: #17429
* VS: Test VS_SETTINGS and VS_SOURCE_SETTINGS_<tool> properties.Matt Davies2020-03-261-0/+2
|
* Merge topic 'csharp-out-of-source-groups'Brad King2020-02-281-1/+1
|\ | | | | | | | | | | | | ac6b18cd90 CSharp: Add support for source groups with out-of-source builds Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4374
| * CSharp: Add support for source groups with out-of-source buildsKinan Mahdi2020-02-281-1/+1
| | | | | | | | | | | | | | This also fixes support for multiple sources of the same name in different directories. Add a test for both problems. Issue: #19505
* | VS: Add target property to explicitly control solution deploymentAlexander Boczar2020-02-251-0/+1
|/ | | | | | Add a `VS_SOLUTION_DEPLOY` property to control solution deploy mark. Fixes: #20346
* VS: Add support for .NET Standard and .NET CoreJoerg Bornemann2020-01-241-0/+3
| | | | Fixes: #20105
* Vs: Add test for VS_WINRT_BY_DEFAULTPetr Polezhaev2019-12-161-0/+4
|
* Merge topic 'vs-vctargetspath'Brad King2019-10-181-0/+4
|\ | | | | | | | | | | | | | | | | | | 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
| * VS: Add support to override VCTargetsPath through toolsetAlexander Boczar2019-10-151-0/+4
| | | | | | | | Fixes: #19708
* | VS: Add VS_DOTNET_DOCUMENTATION_FILE propertyCharly Mourglia2019-10-151-0/+1
|/ | | | | | | Add a `VS_DOTNET_DOCUMENTATION_FILE` target property to tell VS generators to add a `DocumentationFile` setting in `.csproj` files. Fixes: #19784
* PCH: Report error when setting COMPILE_PDB_NAME propertyCristian Adam2019-10-011-0/+1
| | | | | Reusable precompile headers require specific COMPILE_PDB_NAME property values. Report error if the user tries to set a different value.
* Unity build: Add unit testsCristian Adam2019-08-301-0/+9
|
* Precompile headers: Add unit testsCristian Adam2019-08-281-0/+1
|
* source_group: Improved generated filters testsMateusz Janek2019-08-161-0/+1
|
* Merge topic 'vs-spectre-off'Brad King2019-07-311-0/+4
|\ | | | | | | | | | | | | f9b7c660d7 VS: Fix mapping of `-Qspectre-` flag Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3629
| * VS: Fix mapping of `-Qspectre-` flagBrad King2019-07-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | VS: Add VS_DPI_AWARE target propertyMatt Weir2019-06-261-0/+2
|/ | | | | Enables setting the visual studio project property for Manifests, controlling the DPI Aware setting.
* VS: Added support for VS package references for nugetKinan Mahdi2019-05-301-0/+1
|
* MSVC: Add support for /JMC (Just My Code)Luca Cappa2019-05-141-0/+5
|
* Merge topic 'msvc-runtime-library'Brad King2019-04-171-0/+1
|\ | | | | | | | | | | | | | | | | | | 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
| * MSVC: Add abstraction for runtime library selectionBrad King2019-04-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | VS: add target property VS_PROJECT_IMPORT_<propspath>Leonid Pospelov2019-04-151-0/+1
|/ | | | Fixes: #18998
* VS: Fix nowarn compiler option to accept warning numbers.Wil Stark2019-02-071-0/+1
| | | | | | Warning disables are transferred to the VS IDE `<NoWarn>` node. Fixes: #18878
* VS: Honor target_compile_definitions for C# projectsWil Stark2019-01-161-0/+1
| | | | Fixes: #18698
* Restore support for a custom source group for CMakeLists.txtBrad King2019-01-141-0/+1
| | | | | | | | | | 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
* VS: Fix Deploy content in .csproj filesWil Stark2018-12-071-0/+1
|
* VS: Add test for CMAKE_VS_GLOBALSMikhail Korolev2018-09-281-0/+1
|
* VS10Project: Expand VS_DEBUGGER_* capabilitiesJon Chronopoulos2018-06-171-0/+2
| | | | | This adds VS_DEBUGGER_COMMAND_ARGUMENTS and VS_DEBUGGER_ENVIRONMENT as well as allowing VS_DEBUGGER_* to use generator expressions.
* Merge topic 'vs-sdk-dirs'Brad King2018-04-201-0/+1
|\ | | | | | | | | | | | | 6ec3e880e7 VS: Add variables to set SDK directories in vcxproj files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1965
| * VS: Add variables to set SDK directories in vcxproj filesBastien Schatt2018-04-191-0/+1
| | | | | | | | | | | | | | Create `CMAKE_VS_SDK_*_DIRECTORIES` variables to tell the VS generator how to populate fields in `.vcxproj` files that specify SDK directories. Fixes: #17908
* | Merge branch 'backport-fix-explicit-CMakeLists.txt'Brad King2018-04-131-0/+3
|\ \ | |/ |/|
| * Restore support for explicitly referenced CMakeLists.txt sourcesBrad King2018-04-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 broke projects that explicitly specify their `CMakeLists.txt` file as a source file because the explicit entry is no longer consolidated with the generated one. Teach the relevant generators to avoid duplicating `CMakeLists.txt` source references and add test cases. Fixes: #17828
* | VS: Add target property VS_DEBUGGER_COMMANDHannes Mezger2018-03-141-0/+1
|/ | | | Fixes: #17819
* VS: Enable generation of CSharp projects without initial .cs filesMichael Stürmer2017-11-291-0/+1
| | | | fixes #17388
* VS: add target property VS_DOTNET_REFERENCEPROP_<refname>_TAG_<tagname>Michael Stürmer2017-06-131-0/+1
| | | | Fixes: #16689
* VS: add test for VS_CSHARP_* source file propertyMichael Stürmer2017-03-011-0/+1
|
* VS: Add target property VS_DEBUGGER_WORKING_DIRECTORYMichael Stürmer2016-11-301-0/+1
|
* VS: Add option to customize vcxproj user props fileMichael Stürmer2016-11-291-0/+1
| | | | | | Add a `VS_USER_PROPS_CXX` target property to set the user props file of the generated `.vcxproj` file to be something other than the default `$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props`.
* Tests: Extend VS10Project to cover `.targets` file linkingSoji Yamakawa2016-11-151-0/+1
| | | | | | With VS generators for 2010 and above, passing a `.targets` file to `target_link_libraries` is expected to generate content in the `.vcxproj` file to import the targets file. Add a test to cover this.
* VS: Add option to set `ConfigurationType` of a .vcxproj fileFabian Otto2016-02-261-0/+2
Add a VS_CONFIGURATION_TYPE target property to set this value explicitly. This is useful to build a Windows Kernel Mode Driver, for example.