summaryrefslogtreecommitdiffstats
path: root/Templates
Commit message (Collapse)AuthorAgeFilesLines
...
* VS: Fix support for '/guard:cf' linker flagStephan Szabo2018-11-282-14/+0
| | | | | | | | | Original header commit v3.9.0-rc6~12^2 Although `$(VCTargetsPath)/1033/link.xml` for v140 and v141 toolsets contains an entry for `LinkControlFlowGuard`, it does not work when used in a `.vcxproj` file. Drop our link flag table entries for these toolsets so that the flag will be passed via `AdditionalOptions`.
* VS: Add v140 and v141 flag table entries for /DEBUG:NONE and /DEBUG:FULLStephan Szabo2018-11-282-0/+27
| | | | | | DEBUG:FULL was already added for v141 from the generation. Original header commit v3.9.0-rc6~15^2
* VS: Map the link `/debug` to its IDE propertyStephan Szabo2018-11-285-22/+24
| | | | | | | | | | Fix issues with "GenerateDebugInformation". These are mostly from the following commits, but also include a related fix to the v140/v141 file. Original header commits: v10-v14 commit v3.5.0-rc1~71^2 v140/v141 commit v3.9.0-rc6~15^2~1
* VS: Fix /MANIFESTUAC:NO linker option mappingStephan Szabo2018-11-285-25/+5
| | | | | | | | | | | Original header commits: v10/v11/v12 commit v3.0.0-rc5~3^2 v140 commit v3.1.0-rc1~358^2~3 There are no versions of /MANIFESTUAC:NO where addition values are appended. Remove both of the MANIFESTUAC:NO entries from our flag tables and replace them with one which would set EnableUAC to false and immediately stop processing the /MANIFESTUAC:NO option.
* VS: Manually fix MASM flag table entriesStephan Szabo2018-11-284-20/+20
| | | | | | Original header commit v3.1.0-rc1~154^2~5 Drop '"[value]"' placeholders.
* VS: Add NASM fwin/felf switchesStephan Szabo2018-11-281-0/+14
| | | | | The generated NASM file from the xml does not contain the fwin/felf switches that don't seem to directly exist in the xml file.
* VS: Manually fix generated NASM flag tableStephan Szabo2018-11-281-6/+6
| | | | Drop '"[value]"' placeholders.
* VS: Add CUDA flag table entry for -maxrregcountStephan Szabo2018-11-281-0/+18
| | | | Original header commit v3.12.0-rc2~10^2
* VS: Add more CUDA flag table entriesStephan Szabo2018-11-281-0/+42
| | | | Original header commit v3.9.0-rc1~431^2~2
* VS: Select CUDA code generation architecturesStephan Szabo2018-11-281-0/+112
| | | | | | | Original header commit v3.9.0-rc1~431^2~4 Parse the `-gencode=`, `-arch`, and `-code` flags and generate a `CodeGeneration` field in the project file.
* VS: Select the CUDA runtime libraryStephan Szabo2018-11-281-0/+30
| | | | | | | | Original header commit v3.9.0-rc1~431^2~5 Parse the `-cudart=` option and add a corresponding `CudaRuntime` field to the generated project file. Also add a matching `.lib` to the list of libraries linked.
* VS: Place CUDA host compiler options in proper project file fieldsStephan Szabo2018-11-282-0/+167
| | | | | | | | | | | | | Original header commit v3.9.0-rc1~431^2~6 The CUDA Toolkit's VS integration provides abstractions for host compiler options for `nvcc` to pass through `-Xcompiler` to the host MSVC. Populate our secondary flag table and use it to remove flags from the `AdditionalCompilerOptions` in favor of their abstractions. Unfortunately a bug in the CUDA 8.0 VS integration prevents us from passing anything in `AdditionalCompilerOptions` reliably. After taking out the flags that have dedicated abstractions, drop the rest.
* Add placeholder CUDA json flag tablesStephan Szabo2018-11-282-0/+4
| | | | | | | | | | | Generate json flag tables from initial placeholder headers Original header commit v3.9.0-rc1~431^2~10 The CUDA Toolkit's VS integration defines abstractions for both options to `nvcc` and options to pass through `-Xcompiler` to the host MSVC. We need a separate flag table to parse each set of flags into the corresponding abstractions. Add empty placeholders for these tables.
* Add json flag tables for C#Stephan Szabo2018-11-285-0/+2835
| | | | | | | | | | | | Generate initial json flag tables for C# based on the initial headers. Original header commit v3.8.0-rc1~230^2 Add these (currently unused) tables in preparation for `.csproj` generation support. Populate the tables for every version with a set of initial values that work well for me with VS 12 and VS 14. Later we may need to generate them more thoroughly from MSBuild `.xml` files.
* Add initial NASM flag table jsonStephan Szabo2018-11-281-0/+187
| | | | | | Generated from the nasm.xml provided by CMake. python cmConvertMSBuildXMLToJSON.py -t v10 ...\Templates\MSBuild\nasm.xml
* Add CL, LIB, Link, MASM, RC flag jsonStephan Szabo2018-11-2822-0/+14513
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding flag json files generated from MSVC xml files. python cmConvertMSBuildXMLToJSON.py -t v10 "...\MSBuild\Microsoft.Cpp\v4.0\1033\cl.xml" python cmConvertMSBuildXMLToJSON.py -t v11 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V110\1033\cl.xml" python cmConvertMSBuildXMLToJSON.py -t v12 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V120\1033\cl.xml" python cmConvertMSBuildXMLToJSON.py -t v140 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V140\1033\cl.xml" python cmConvertMSBuildXMLToJSON.py -t v141 "C:\...\Common7\IDE\VC\VCTargets"\1033\cl.xml" python cmConvertMSBuildXMLToJSON.py -t v10 "c:\...\MSBuild\Microsoft.Cpp\v4.0\1033\rc.xml python cmConvertMSBuildXMLToJSON.py -t v11 "c:\...\MSBuild\Microsoft.Cpp\v4.0\v110\1033\rc.xml python cmConvertMSBuildXMLToJSON.py -t v12 "c:\...\MSBuild\Microsoft.Cpp\v4.0\v120\1033\rc.xml python cmConvertMSBuildXMLToJSON.py -t v14 "c:\...\MSBuild\Microsoft.Cpp\v4.0\v140\1033\rc.xml python cmConvertMSBuildXMLToJSON.py -t v10 "c:\...\MSBuild\Microsoft.Cpp\v4.0\1033\lib.xml python cmConvertMSBuildXMLToJSON.py -t v11 "c:\...\MSBuild\Microsoft.Cpp\v4.0\v110\1033\lib.xml python cmConvertMSBuildXMLToJSON.py -t v12 "c:\...\MSBuild\Microsoft.Cpp\v4.0\v120\1033\lib.xml python cmConvertMSBuildXMLToJSON.py -t v14 "c:\...\MSBuild\Microsoft.Cpp\v4.0\v140\1033\lib.xml python cmConvertMSBuildXMLToJSON.py -t v10 "c:\...\MSBuild\Microsoft.Cpp\v4.0\1033\link.xml" python cmConvertMSBuildXMLToJSON.py -t v11 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V110\1033\link.xml" python cmConvertMSBuildXMLToJSON.py -t v12 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V120\1033\link.xml" python cmConvertMSBuildXMLToJSON.py -t v140 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V140\1033\link.xml" python cmConvertMSBuildXMLToJSON.py -t v141 "C:\...\Common7\IDE\VC\VCTargets"\1033\link.xml" python cmConvertMSBuildXMLToJSON.py -t v10 "c:\...\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\masm.xml" python cmConvertMSBuildXMLToJSON.py -t v11 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V110\BuildCustomizations\masm.xml" python cmConvertMSBuildXMLToJSON.py -t v12 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\masm.xml" python cmConvertMSBuildXMLToJSON.py -t v14 "c:\...\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\masm.xml"
* VS: Properly quote arguments in nasm.xmlDavid Benjamin2018-07-021-3/+3
| | | | | | | | | | | | | | | | | | Most arguments were quoted, but some weren't, causing problems if the arguments contained whitespace. In particular, the _STL_EXTRA_DISABLED_WARNINGS value takes spaces and CMake's NASM support applies all add_definitions lines to NASM. The -D flag is missing quotes, so projects using NASM and setting _STL_EXTRA_DISABLED_WARNINGS break in the Visual Studio generator. Likewise, the -o flag is missing quotes, which means filenames with spaces do not work. (The -U flag is unlikely to need quotes, but include them for consistency.) Extend the existing VSNASM test to cover these cases.
* Merge topic 'nolint_typedef_testdriver'Brad King2018-06-011-2/+2
|\ | | | | | | | | | | | | bbbcbb1a48 TestDriver: Disable clang-tidy 'modernize-use-using' Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2118
| * TestDriver: Disable clang-tidy 'modernize-use-using'Sylvain Joubert2018-05-311-2/+2
| |
* | TestDriver: Replace strncpy with strcpySander Vrijders2018-05-301-1/+1
|/ | | | | | | | GCC 8.1.0 now gives an error if `strncpy` is called with a bound depending on the length of the source argument. Replace `strncpy` with `strcpy` as the length is known a priori. Fixes: #18038
* TestDriver: fix style-'variableScope' cppcheck warningSylvain Joubert2017-11-221-2/+2
| | | | | When applied on a user project, cppcheck complains that the 'test_name' variable could have a reduced scope.
* TestDriver: Fix -Wconversion warningBrad King2017-07-141-2/+2
| | | | | | | Since commit v3.8.0-rc1~51^2~1 (TestDriver: calc NumTests at compile time, 2017-01-24) we convert an expression that uses `sizeof()` to an `int` as a compile-time constant. Some GCC versions warn about this with `-Wconversion`. Add a cast to avoid the warning.
* TestDriver: Remove unused local variable initializationBrad King2017-05-101-1/+1
|
* VS: Add support for ASM_NASM languageEvgeny Fimochkin2017-02-073-0/+168
| | | | Fixes: #16469
* TestDriver: fix/silence clang-tidy warningsDaniel Pfeifer2017-01-241-15/+12
|
* TestDriver: calc NumTests at compile timeDaniel Pfeifer2017-01-241-5/+4
|
* TestDriver: use for loopDaniel Pfeifer2017-01-241-3/+1
|
* TestDriver: abstract CM_CAST macroDaniel Pfeifer2017-01-241-13/+9
|
* TestDriver: Revise C++ coding style using clang-formatDaniel Pfeifer2017-01-241-65/+45
|
* Utilities/Release: Drop Cygwin binaryBrad King2016-09-121-103/+0
| | | | | Cygwin has packaged CMake independently of upstream for a long time. See its [cygport](https://github.com/cygwinports/cmake).
* create_test_sourcelist: Use safer strncpy instead of strcpySylvain Joubert2016-08-251-4/+6
| | | | | Clang-tidy advises to use a safer function in place of strcpy. This should avoid such warnings in user build using clang-tidy.
* Drop unnecessary LSRequiresCarbon reference from Info.plist filesSean McBride2016-03-181-2/+0
| | | | | LSRequiresCarbon is long since unnecessary. It refers to requiring Carbon as opposed to Classic (OS 9 emulation).
* Drop Visual Studio 6 generatorBrad King2016-03-0910-847/+0
| | | | | | This generator has been deprecated since CMake 3.3. Remove it. Update documentation, modules, and tests to drop content specific to this generator.
* VS: Add support for Windows 10 Universal (Store) ApplicationsGilles Khouzam2015-10-051-0/+0
| | | | | | | | | | | | | | | | Teach the VS 2015 generator to support WindowsStore 10.0 applications. Add target properties to customize them: * VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION: Specifies the minimum version of the OS that the project can target. * VS_DESKTOP_EXTENSIONS_VERSION, VS_MOBILE_EXTENSIONS_VERSIONS, VS_IOT_EXTENSIONS_VERSION: Add a reference to the version of the SDK specified to the target allowing to target the extended functionality in a universal project. * VS_IOT_STARTUP_TASK: Specifies that the target should be built as an IOT continuous background task.
* Replace http://www.cmake.org URLs with https://cmake.orgBrad King2015-09-252-2/+2
| | | | | | | The latter is now the preferred URL for visiting cmake.org with a browser. Convert using the shell code: git ls-files -z | xargs -0 sed -i 's|http://www\.cmake|https://cmake|g'
* VS: Mark Windows Phone and Store targets as App ContainersGilles Khouzam2014-09-026-0/+0
| | | | | | | | | | | * Add AppContainerApplication to non-UTILITY targets * Generate app manifest and related files if project does not provide them. Place them in a per-target directory to avoid clashes. * Mark WinRT components with WinMDAssembly * Import Windows Phone 8.0 targets in .vcxproj files when necessary, and reference platform.winmd. Inspired-by: Paul Annetts <paul@lightunobscured.com>
* create_test_sourcelist: Suppress MSVC warnings in test driver (#15066)Brad King2014-08-071-0/+4
| | | | Suggested-by: Ken Moreland <kmorel@sandia.gov>
* Add an "installed file" property scopeNils Gladitz2014-05-281-0/+8
| | | | | | | Teach set_property and get_property an "INSTALL" property type to be associated with install-tree file paths. Make the properties available to CPack for use during packaging. Add a "prop_inst" Sphinx domain object type for documentation of such properties.
* create_test_sourcelist: Initialize variable at declarationSean McBride2014-03-311-2/+1
| | | | Clang -Wconditional-uninitialized warns otherwise.
* create_test_sourcelist: Fix linkage in generated test driver codeSean McBride2013-11-121-2/+2
| | | | Mark private function/global with static linkage.
* TestDriver.cxx.in: Untrusted array index read.Matt McCormick2013-10-161-0/+7
| | | | | | | | | | | | | | As reported by Coverity Scan, if the configured file contains a #include, Untrusted array index read The array index could be controlled by an attacker, leading to reads outside the bounds of the array. In main: Read from array at index computed using an unscrutinized value from an untrusted source (CWE-129) CID 1081283 (#1 of 1): Untrusted array index read (TAINTED_SCALAR) 25. tainted_data: Using tainted variable "testToRun" as an index into an array "cmakeGeneratedFunctionMapEntries".
* Fix config-specific INCLUDE_DIRECTORIES in multi-config generatorsStephen Kelly2012-10-174-33/+33
| | | | | | | | Commit 08cb4fa4 (Process generator expressions in the INCLUDE_DIRECTORIES property, 2012-09-18) contained an incorrect assumption that CMAKE_BUILD_TYPE was set on the makefile for each generated configuration in multi-config generators. Fix that by making the GetIncludeDirectories API depend on the config.
* Convert CMake-language commands to lower caseKitware Robot2012-08-132-16/+16
| | | | | | | | | | | | | | | | | Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code: cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | xargs -0 sed -i -f convert.sed && rm convert.sed
* Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-133-11/+11
| | | | | | | | | | | | | | | | | Our Git commit hooks disallow modification or addition of lines with trailing whitespace. Wipe out all remnants of trailing whitespace everywhere except third-party code. Run the following shell code: git ls-files -z -- \ bootstrap doxygen.config '*.readme' \ '*.c' '*.cmake' '*.cpp' '*.cxx' \ '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \ '*.mm' '*.pike' '*.py' '*.txt' '*.vim' | egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' | egrep -z -v '^(Modules/CPack\..*\.in)' | xargs -0 sed -i 's/ \+$//'
* Update CPackConfig template.Eric NOULARD2012-02-251-25/+8
| | | | | | Remove variable documentation from the template in order to avoid multiple location for doc update. Users can now retrieve CPACK_xxx variable documentation from the command line.
* CPack fix template tooEric NOULARD2011-09-091-1/+1
|
* Add STATIC_LIBRARY_FLAGS_<CONFIG> property (#10768)Brad King2010-05-281-4/+4
| | | | This is a per-configuration version of STATIC_LIBRARY_FLAGS.
* Use per-config output dir in VS 6 templatesBrad King2009-10-284-32/+32
| | | | | | | This commit removes use of configuration-less cmTarget::GetDirectory() by the VS 6 generator (except for compatibility with user templates). We replace OUTPUT_DIRECTORY_<CONFIG> tokens in the templates using the per-configuration result of cmTarget::GetDirectory(config).
* Add '#!/bin/sh' to cygwin-package.shBrad King2009-10-051-0/+2
| | | | | | | This commit adds '#!/bin/sh' to the top of the cygwin-package.sh.in script. All executable interpreted scripts should have this directive. Patch from Modestas Vainius. See issue #9659.
* Fix Windows GUI implib and image version in VS 6Brad King2009-09-251-8/+8
| | | | | | | | | | | | | | These commits: Adding image version number (major.minor) property to windows binaries. Added support for import libraries created by executable and module targets. added content to Templates/EXEHeader.dsptemplate that should also have been added to Templates/EXEWinHeader.dsptemplate for the VS6 generator. This commit corrects the error. See issue #9586.