summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/VS10Project
Commit message (Collapse)AuthorAgeFilesLines
* VS: Add CMake input files to ZERO_CHECKAlexander Neundorf2023-04-253-0/+26
| | | | | | | | | Add all cmake input files to the `ZERO_CHECK` project. Place files under `CMAKE_SOURCE_DIR` in a folder structure matching the directory structure. This way they are easier to find, and Visual Studio does not close them when reloading the project. Fixes: #24557
* VS: Do not regenerate build system concurrently with CMP0147Brad King2023-03-151-6/+18
| | | | | | | | | | | | | | | The VS generators add a custom command to `CMakeLists.txt` to re-run CMake when input files have changed. Mark this custom command as if it were specified with `USES_TERMINAL`. We already do this for the equivalent `rebuild_cache` target in Makefile and Ninja generators. This matters since commit d6353e74b4 (VS: Add policy to build custom commands concurrently, 2023-03-10) because with policy CMP0147 set to NEW, we now add `BuildInParallel` in `.vcxproj` file entries for custom commands that do not have `USES_TERMINAL` set, but we do not want to re-run CMake concurrently with other custom commands. Issue: #18405
* VS: Add policy to build custom commands concurrentlyBrad King2023-03-123-0/+48
| | | | | | | | | | | | | | In commit 33c15ae2b9 (VS: Build custom commands concurrently when possible, 2023-01-19, v3.26.0-rc1~56^2) we added `BuildInParallel` to custom commands in `.vcxproj` files, but that had to be reverted by commit abb1c12162 (VS: Revert "Build custom commands concurrently when possible", 2023-03-07, v3.26.0-rc6~3^2) because some projects may have custom commands that accidentally rely on serial execution in MSBuild. Add a policy to use `BuildInParallel` for custom commands in projects that have been updated to set the policy to `NEW`. Fixes: #18405
* VS: Add COMMON_LANGUAGE_RUNTIME support for "netcore"ζeh Matt2022-10-289-0/+127
| | | | | | Generate `CLRSupport` for Visual Studio projects. Fixes: #22054
* MSVC: Add abstraction for debug information formatGlen Chung2022-09-143-0/+71
| | | | | | | | | | | | | | | | Replace our hard-coded default for `/Zi` with a first-class abstraction to select the debug information format an enumeration of logical names. We've long hesitated to do this because the idea of "debug information format" 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 flag 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 CMP0141 to provide compatibility. Fixes: #10189
* Merge topic 'file-set-source-group'Kyle Edwards2022-08-255-4/+22
|\ | | | | | | | | | | | | | | | | 970052fedd FILE_SET: Fix source group detection bcc3965813 Tests: Fix VS10Project SourceGroupTreeCMakeLists check Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7609
| * FILE_SET: Fix source group detectionKyle Edwards2022-08-243-0/+17
| | | | | | | | | | | | | | Call MatchChildrenFiles() instead of MatchesFiles() in order to account for files being in subgroups of source groups. Fixes: #23880
| * Tests: Fix VS10Project SourceGroupTreeCMakeLists checkKyle Edwards2022-08-242-4/+5
| | | | | | | | | | Fix an `IN LISTS` loop, fix a variable check, and escape backslashes in the regex used to search for source group names.
* | VS: Generate IntDir property for INTERFACE librariesJonas Fierlings2022-07-081-0/+9
|/ | | | | | This prevents MSBuild from complaining with warning MSB8028. Fixes #23043
* VS: Add variable to to turn off Visual Studio compile batchingBrad King2022-06-221-1/+1
| | | | | | | | | Extend the change from commit b764c7c273 (VS: Add property to turn off Visual Studio compile batching, 2022-02-07, v3.24.0-rc1~710^2) by adding a variable to initialize the property on every target. Issue: #23179 Fixes: #23639
* Tests: Fix test failures for Windows Arm64 platformsNiyas Sait2022-05-112-4/+4
|
* VS: Add StartupObject property for managed .NET projectsFlorian Schweiger2022-04-123-0/+33
|
* VS: Add compiler flag table entry for -FI followed by separate argumentBrad King2022-04-013-0/+24
| | | | | | | | The MSVC `/FI` flag accepts an attached value or a following argument. Previously our flag tables only had entries for the former. Add the latter. Fixes: #23382
* VS: Add property to turn off Visual Studio compile batchingKaloyan Donev2022-02-083-0/+41
| | | | Resolves: #23179
* Merge topic 'vs2022-v143-link-guard-cf'Brad King2022-01-133-0/+48
|\ | | | | | | | | | | | | 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-123-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | 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-195-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | VS: Honor VS_SETTINGS source file property on all sourcesSteven Boswell2021-09-092-3/+14
| | | | | | | | | | | | Extend the feature added by commit 2ce42f281f (VS: Add VS_SETTINGS source file property, 2020-03-18, v3.18.0-rc1~449^2~3) to support all source file types.
* | cmGlobalGenerator: Process targets in a stable orderNAKAMURA Takumi2021-07-081-1/+1
|/ | | | | `cmMakefile::Targets` is meant for efficient lookup but does not have a stable order. Use `cmMakefile::OrderedTargets` instead.
* VS: Fix CSharp sources inside build directoryKinan Mahdi2021-05-033-0/+27
| | | | Fixes: #22104
* add_custom_{command,target}: Add genex support to OUTPUT and BYPRODUCTSBrad King2020-12-113-0/+59
| | | | | | | | | 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
* Merge topic 'csharp-source_group-bugfix'Brad King2020-10-063-5/+12
|\ | | | | | | | | | | | | 8d87cfdbf3 VS: Fix regression in C# source links Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5314
| * VS: Fix regression in C# source linksKinan Mahdi2020-10-053-5/+12
| | | | | | | | | | | | Fix logic used since commit ac6b18cd90 (CSharp: Add support for source groups with out-of-source builds, 2020-02-18, v3.18.0-rc1~645^2). Add a check of the physical file location for C# source groups.
* | VS: Make ImportLibary generation optionalMark Jansen2020-09-303-0/+27
| | | | | | | | Fixes: #21180
* | VS: Fix C language standard in target with C++ sourcesBrad King2020-09-293-0/+32
| | | | | | | | | | | | Add C-language standard to target-wide C++ settings. Fixes: #21195
* | Add INTERFACE libraries to generated buildsystem if they have SOURCESBrad King2020-08-074-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Fix typos identified using codespellJean-Christophe Fillion-Robin2020-07-221-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See https://github.com/codespell-project/codespell#readme The following command was used: ``` codespell -q6 --skip="\ .git,\ *.json,\ ./Copyright.txt,\ ./Help/command/foreach.rst,\ ./Help/prop_test/REQUIRED_FILES.rst,\ ./Help/variable/CTEST_COVERAGE_COMMAND.rst,\ ./Modules/CMakeCheckCompilerFlagCommonPatterns.cmake,\ ./Modules/CMakeRCInformation.cmake,\ ./Modules/Internal/CPack/NSIS.template.in,\ ./Modules/FindMatlab.cmake,\ ./Modules/MatlabTestsRedirect.cmake,\ ./Modules/Platform/Windows-Clang.cmake,\ ./Modules/Platform/Windows-Intel-Fortran.cmake,\ ./Modules/Platform/Windows-MSVC.cmake,\ ./Source/CMakeVersion.cmake,\ ./Source/cmConvertMSBuildXMLToJSON.py,\ ./Source/cmCreateTestSourceList.cxx,\ ./Source/cmGlobalVisualStudio10Generator.cxx,\ ./Source/cmExportBuildFileGenerator.cxx,\ ./Source/cmExportInstallAndroidMKGenerator.cxx,\ ./Source/cmExportInstallFileGenerator.cxx,\ ./Source/cmExportSet.cxx,\ ./Source/cmExportTryCompileFileGenerator.cxx,\ ./Source/cmFindPackageCommand.cxx,\ ./Source/cmInstallCommand.cxx,\ ./Source/cmGeneratorExpressionLexer.cxx,\ ./Source/cmLocalVisualStudio7Generator.cxx,\ ./Source/cmOrderDirectories.cxx,\ ./Source/cmTarget.cxx,\ ./Source/kwsys/*,\ ./Source/QtDialog/CMakeSetupDialog.ui,\ ./Source/CPack/WiX/cmWIXRichTextFormatWriter.cxx,\ ./Source/CTest/cmParseCoberturaCoverage.h,\ ./Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in,\ ./Tests/RunCMake/CPack/tests/DMG_SLA/English.license.rtf,\ ./Tests/RunCMake/CPack/tests/DMG_SLA/German.license.txt,\ ./Tests/RunCMake/CPack/tests/DMG_SLA/German.menu.txt,\ ./Tests/RunCMake/GoogleTest/xml_output.cpp,\ ./Tests/RunCMake/Make/TargetMessages*,\ ./Utilities/*,\ " \ -L "\ dependees,\ endwhile,\ fo,\ filetest,\ helpfull,\ nd,\ objext,\ stoll,\ supercedes,\ superceded,\ vas,\ varn,\ " ```
* VS: Enable DOTNET_TARGET_FRAMEWORK properties all target typesKinan Mahdi2020-06-052-0/+31
| | | | | | | | This makes them compatible with `VS_PACKAGE_REFERENCES` and, in particular, fixes nuget package references in combination with install targets. Fixes: #20764
* Unity Builds: Support explicit specification of sources to groupsRobert Maynard2020-05-075-0/+156
| | | | | 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-293-0/+43
| | | | | | | | | 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-267-0/+71
|
* Merge topic 'csharp-out-of-source-groups'Brad King2020-02-287-1/+60
|\ | | | | | | | | | | | | 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-287-1/+60
| | | | | | | | | | | | | | 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-253-0/+71
|/ | | | | | Add a `VS_SOLUTION_DEPLOY` property to control solution deploy mark. Fixes: #20346
* Merge topic 'csharp-no-valued-macros'Brad King2020-01-271-4/+4
|\ | | | | | | | | | | | | effd4d0569 CSharp: Do not pass definitions with values Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4267
| * CSharp: Do not pass definitions with valuesSumit Bhardwaj2020-01-241-4/+4
| | | | | | | | | | | | | | The Microsoft C# tooling does not accept definitions with values. Filter them out. Fixes: #19817
* | Merge topic 'vs-dotnet-standard-core'Brad King2020-01-245-0/+104
|\ \ | | | | | | | | | | | | | | | | | | ae1e1909a1 VS: Add support for .NET Standard and .NET Core Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4240
| * | VS: Add support for .NET Standard and .NET CoreJoerg Bornemann2020-01-245-0/+104
| |/ | | | | | | Fixes: #20105
* | Multi-Ninja: Add precompile headers supportCristian Adam2020-01-171-1/+1
|/ | | | Fixes: #19789
* Merge topic 'unity-lang-filename'Brad King2020-01-152-4/+4
|\ | | | | | | | | | | | | 274a6f3699 Unity Build: include language in generated source file name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4223
| * Unity Build: include language in generated source file nameCristian Adam2020-01-142-4/+4
| | | | | | | | Fixes: #20206
* | Merge topic 'fix-vs-winrt-by-default'Brad King2019-12-173-0/+86
|\ \ | | | | | | | | | | | | | | | | | | | | | 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
| * | VS: Change CMAKE_VS_WINRT_BY_DEFAULT to not implicitly enable WinRTPetr Polezhaev2019-12-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Vs: Add test for VS_WINRT_BY_DEFAULTPetr Polezhaev2019-12-163-0/+86
| | |
* | | Merge topic 'pch-force-include'Brad King2019-12-161-1/+1
|\ \ \ | |/ / |/| / | |/ | | | | | | c5c218fa0d PCH: Append pch header file to list of forced include files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4135
| * PCH: Append pch header file to list of forced include filesCristian Adam2019-12-131-1/+1
| | | | | | | | Fixes: #20088
* | Merge topic 'source_group-tree'Brad King2019-11-052-2/+32
|\ \ | |/ | | | | | | | | | | 3c0ca5a9d9 source_group: ensure that passed file is not a directory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3979
| * source_group: ensure that passed file is not a directoryMateusz Janek2019-11-042-2/+32
| | | | | | | | Fixes: #19769
* | Merge topic 'vs-vctargetspath'Brad King2019-10-185-39/+100
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Propagate CMAKE_VS_GLOBALS into compiler id projectsAlexander Boczar2019-10-172-39/+61
| | | | | | | | | | | | Issue: #19708