summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* VS: in Clang/C2 toolset, setup correct compiler settingsStephan Szabo2018-11-282-0/+14
| | | | Original header commit v3.6.0-rc1~279^2~10
* VS: Fix /analyze:log flag mapping (#14858)Stephan Szabo2018-11-284-56/+16
| | | | | | | | | | | | | Original header commits: v11/v12 commit v3.1.0-rc1~695^2 v140/v141 commit v3.1.0-rc1~358^2~3 Fix the VS 11 and VS 12 flag table entries for this flag. It requires a value in the following argument. Also drop the general "/analyze:" flag table entry so that such flags will be passed through as plain additional options. This is necessary because some such options have following values and some do not but not all have .vcxproj elements to hold the values.
* VS: Fix CSharp support for win32res: and win32icon: flagsStephan Szabo2018-11-285-10/+10
| | | | | | | Original header commit v3.13.0-rc2~6^2 Add a missing `:` to these entries in the flag table. The user value is always required and must come after the `:`.
* Vs: remove /nowin32manifest from C# flags to enable default VS behaviorStephan Szabo2018-11-285-15/+30
| | | | | | | Original header commit v3.10.0-rc1~494^2 if /nowin32manifest is specified, it will be preferred over any occurring /win32manifest:<file> parameter
* MSVC: Add support for ARM64 architectureStephan Szabo2018-11-281-0/+7
| | | | | | | | | The v141_Link.json already appeared to have the option included, so onlyh adding the change to v14_LIB.json. Original header commit v3.10.0-rc1~132^2 Visual Studio 15.4 adds support for this architecture.
* VS: Fix MANIFESTUAC link flag map to .vcxproj elementsStephan Szabo2018-11-285-105/+20
| | | | | | | | | | | | Original header commit v3.10.0-rc1~97^2 Add special parsing of the flags given in `/MANIFESTUAC:"..."` in order to map them correctly to `.vcxproj` elements. Keep the old incorrect flag table entries for `uiAccess` and `level` flags for compatibility even though they do not really exist. Fixes: #16563
* 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"
* Convert cmIDEFlagTable to use owned stringsStephan Szabo2018-11-2835-46/+48
| | | | | | Convert from char* to std::string in flag tables. Change termination condition from nullptr to empty string in command flag. Update tables to store empty strings.
* Update XML->JSON generation scriptStephan Szabo2018-11-281-3/+16
| | | | | | Update generation script to write a newline to generated json. Update generation script to remove / or - at start of switches in xml Update generation script to put separators on switch as in headers
* Merge topic 'test-WriteBasicConfigVersionFile'Brad King2018-11-155-906/+891
|\ | | | | | | | | | | | | | | f3a381115f Tests: Simplify RunCMake.WriteBasicConfigVersionFile 0dbcc1afbf Tests: Factor out RunCMake.WriteBasicConfigVersionFile test Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2612
| * Tests: Simplify RunCMake.WriteBasicConfigVersionFileBrad King2018-11-142-29/+8
| |
| * Tests: Factor out RunCMake.WriteBasicConfigVersionFile testBrad King2018-11-146-906/+912
| | | | | | | | | | The `WriteBasicConfigVersionFile` section of the `FindPackageTest` is independent of the rest.
* | Merge topic 'configure_file-canonical-deps'Brad King2018-11-155-11/+18
|\ \ | | | | | | | | | | | | | | | | | | 6199637e95 configure_file: canonicalize input and output path in dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2586
| * | configure_file: canonicalize input and output path in dependenciesFrank Benkstein2018-11-135-11/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Represent the input file path internally in canonical form. Otherwise multiple `configure_file` calls that share the same input file but specify it relative to different directories (e.g. via `../`) result in multiple copies of the dependency on the rule to re-run CMake. This causes the Ninja generator to emit duplicate phony build statements for these dependencies, which generates an error with `-w dupbuild=err`, which will be default in Ninja 1.9. Also canonicalize the output path for consistency. Add a test case. Fixes: #18584
* | | Merge topic 'deprecate-findqt'Brad King2018-11-1516-5/+141
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0f5c1b404b find_package(): Add policy to remove the FindQt module Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: noo mook <noomook2519@gmail.com> Merge-request: !2554
| * | | find_package(): Add policy to remove the FindQt moduleKyle Edwards2018-11-1416-5/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing FindQt.cmake gives Qt upstream a path forward to export its own QtConfig.cmake files which can be found by find_package() without having to explicitly specify CONFIG. Projects that still want to use Qt3/4 can call find_package(Qt[34]), include(FindQt), or add FindQt.cmake to their CMAKE_MODULE_PATH.
* | | | Merge topic 'autogen_info_write'Brad King2018-11-157-184/+271
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e0c26406aa Autogen: Sort tests 83bbfb1d53 Autogen: Add a definitions test to the MocOnly test 01d5e5c460 Autogen: Add and use cmQtAutoGenInitializer::InfoWriter class Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2610
| * | | | Autogen: Sort testsSebastian Holtermann2018-11-143-38/+32
| | | | |
| * | | | Autogen: Add a definitions test to the MocOnly testSebastian Holtermann2018-11-142-1/+7
| | | | |
| * | | | Autogen: Add and use cmQtAutoGenInitializer::InfoWriter classSebastian Holtermann2018-11-142-145/+232
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new ``cmQtAutoGenInitializer::InfoWriter`` class provides an interface to write strings/vectors/sets/maps in CMake format into a file. Its use replaces various `cmJoin` calls that failed to address escaping of semicolons in list elements. Closes #18554
* | | | Merge topic 'test-XcodeProject-timeout'Brad King2018-11-151-0/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ca355d92d8 Tests: Add option for custom RunCMake.XcodeProject timeout Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2614
| * | | | Tests: Add option for custom RunCMake.XcodeProject timeoutBrad King2018-11-141-0/+7
| |/ / / | | | | | | | | | | | | The test has many cases and can take a long time on busy machines.
* | | | Merge topic 'doc-developer-to-source-guide'Brad King2018-11-154-584/+552
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a82282a08c Help/dev: Factor out a CMake Documentation Guide for developing the docs bfbc5241e9 Help: Fix policy markup example in cmake-developer(7) 3e5a047f1a Help: Drop compile features section from cmake-developer(7) manual 06cc050c1f Help/dev: Drop 'size_t' preference from source code guide Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2615
| * | | | Help/dev: Factor out a CMake Documentation Guide for developing the docsBrad King2018-11-144-530/+552
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove this content from the `cmake-developer(7)` manual because it is relevant only to developers working on CMake itself. Move it to a guide in the developer documentation.
| * | | | Help: Fix policy markup example in cmake-developer(7)Brad King2018-11-141-1/+1
| | | | |
| * | | | Help: Drop compile features section from cmake-developer(7) manualBrad King2018-11-141-47/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We no longer add granular compile features. Only language standard meta features like `cxx_std_##`` need to be added, and these can be done by following existing patterns.
| * | | | Help/dev: Drop 'size_t' preference from source code guideBrad King2018-11-141-7/+0
| |/ / / | | | | | | | | | | | | | | | | We now use `std::size_t` in several places and it is fully supported by C++11 compilers. Drop the recommendation to prefer plain `size_t`.
* | | | Merge topic 'macro3'Brad King2018-11-152-15/+43
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 22cca9b810 Help: describe differences between macro and function. b90ae70a3b Help: in macro vs function example, use lowercase names. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2616
| * | | | Help: describe differences between macro and function.Joachim Wuttke (l)2018-11-142-10/+38
| | | | |
| * | | | Help: in macro vs function example, use lowercase names.Joachim Wuttke (l)2018-11-141-5/+5
| |/ / / | | | | | | | | | | | | | | | | | | | | Follow our own advise not to change cases. Omit the leading underscore.
* | | | CMake Nightly Date StampKitware Robot2018-11-151-1/+1
| | | |
* | | | Merge topic 'WIN32'Brad King2018-11-142-12/+14
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 254a849864 Help: Spell out MFC b173c641c4 Help: Add links to variables Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2613
| * | | Help: Spell out MFCJoachim Wuttke (o)2018-11-142-10/+12
| | | | | | | | | | | | | | | | And shorten text that was hard to understand and redundant.
| * | | Help: Add links to variablesJoachim Wuttke (o)2018-11-141-4/+4
|/ / /
* | | Merge topic 'GNUInstallDirs-FreeBSD-info'Brad King2018-11-146-8/+134
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f835f189ae GNUInstallDirs: Update FreeBSD "info" destination to share/info 4c0d97dd98 GNUInstallDirs: Split "info" and "man" default logic 1b8f0ca515 Tests: Split GNUInstallDirs expectations for FreeBSD Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Rolf Eike Beer <eike@sf-mail.de> Merge-request: !2588