Commit Graph
47352 Commits
Author SHA1 Message Date
Stephan Szabo a5d9aa5063 VS: Map the link /debug to its IDE property
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
2018-11-28 07:43:28 -08:00
Stephan Szabo 1d00fd7702 VS: Fix /MANIFESTUAC:NO linker option mapping
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.
2018-11-28 07:43:28 -08:00
Stephan Szabo 3133fa5094 VS: Manually fix MASM flag table entries
Original header commit v3.1.0-rc1~154^2~5

Drop '"[value]"' placeholders.
2018-11-28 07:43:28 -08:00
Stephan Szabo 66704e4271 VS: Add NASM fwin/felf switches
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.
2018-11-28 07:43:27 -08:00
Stephan Szabo fc58a40e76 VS: Manually fix generated NASM flag table
Drop '"[value]"' placeholders.
2018-11-28 07:43:27 -08:00
Stephan Szabo 7fd339b1e5 VS: Add CUDA flag table entry for -maxrregcount
Original header commit v3.12.0-rc2~10^2
2018-11-28 07:43:27 -08:00
Stephan Szabo f61e097554 VS: Add more CUDA flag table entries
Original header commit v3.9.0-rc1~431^2~2
2018-11-28 07:43:27 -08:00
Stephan Szabo c17809bcd7 VS: Select CUDA code generation architectures
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.
2018-11-28 07:43:27 -08:00
Stephan Szabo 73ce99cbfe VS: Select the CUDA runtime library
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.
2018-11-28 07:43:26 -08:00
Stephan Szabo f044bbbf08 VS: Place CUDA host compiler options in proper project file fields
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.
2018-11-28 07:43:26 -08:00
Stephan Szabo 7faa4d59a8 Add placeholder CUDA json flag tables
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.
2018-11-28 07:43:26 -08:00
Stephan Szabo 6e947179a8 Add json flag tables for C#
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.
2018-11-28 07:43:26 -08:00
Stephan Szabo 2f37ce5e86 Add initial NASM flag table json
Generated from the nasm.xml provided by CMake.

python cmConvertMSBuildXMLToJSON.py -t v10 ...\Templates\MSBuild\nasm.xml
2018-11-28 07:43:26 -08:00
Stephan Szabo a84461160c Add CL, LIB, Link, MASM, RC flag json
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"
2018-11-28 07:43:25 -08:00
Stephan Szabo 8279302110 Convert cmIDEFlagTable to use owned strings
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.
2018-11-28 07:43:25 -08:00
Stephan Szabo 139b39985f Update XML->JSON generation script
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
2018-11-28 07:43:24 -08:00
Guillem Jover 38e75bb3c6 CPack/Deb: Remove paxr as a supported tar format for a .deb
The only format supported from the ones available within cpack is
gnutar, which supports large numbers encoded in base-256, and long
filenames and linknames. PAX is not and has never been a supported
format by dpkg.

Fixes: #18620
2018-11-28 09:31:28 -05:00
Brad King 0fc6faf2dd Help: Replace use of :code:`` with plain reST syntax
This appeared in a few CPack generator documents but is not used
elsewhere.
2018-11-28 09:30:01 -05:00
Brad King 772edffbf0 Merge topic 'readability-static-accessed-through-instance'
3e60580784 clang-tidy: Fix readability-static-accessed-through-instance

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2647
2018-11-28 09:07:45 -05:00
Brad King 58ebbf14c2 Merge topic 'clang-tidy-macos'
cb6229b8b8 clang-tidy: fix warnings in macOS-only code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2670
2018-11-28 09:07:07 -05:00
Brad King b134e89430 Merge topic 'explicit-operator-bool'
a2648dda97 Mark operator bool explicit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2649
2018-11-28 09:06:00 -05:00
Brad King 5daf7d92f8 Merge topic 'file-size'
12b471e828 file: add SIZE option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2639
2018-11-28 09:05:16 -05:00
KWSys Upstream cbc772b89d KWSys 2018-11-28 (5ea12a52)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 5ea12a52b24248041adf49421a43df649530fc23 (master).

Upstream Shortlog
-----------------

Isaiah Norton (1):
      4f9fb9aa SystemTools: Fix Touch to avoid requiring file ownership
2018-11-28 08:56:00 -05:00
Brad King 014a098479 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2018-11-28 (5ea12a52)
2018-11-28 08:56:00 -05:00
Brad King 18b9cf4abc Merge branch 'release-3.13' 2018-11-28 08:31:35 -05:00
Sebastian Holtermann 5f0f84c7e0 Autogen: Don't add a WIN32 moc definition if we have a moc_predefs.h file
On Windows systems we used to add a "-DWIN32" definition to the ``moc``
defines.  This is not necessary anymore when we have a
``moc_predefs.h`` file that provides all compiler predefines.

Closes #18623
2018-11-28 13:07:27 +01:00
Sebastian Holtermann 0814d74548 Autogen: Add QtAutogen.UicNoGui test
Adds a Qt core only test that has ``AUTOUIC`` enabled
targets that don't link against QtXWidgets or Qt at all.
2018-11-28 13:06:05 +01:00
Sebastian Holtermann 2ef640819f Autogen: Tests: Differentiate between Qt core and Qt gui tests
Some AUTOGEN tests require the Qt core libraries only and
some require the Qt gui libraries to function.
This replaces the AutogenTest.cmake script with two specific
AutogenCoreTest.cmake and AutogenGuiTest.cmake scripts that
are included on demand.
2018-11-28 12:51:19 +01:00
Brad King 6294296906 CMake 3.13.1 v3.13.1 2018-11-28 06:49:16 -05:00
Brad King b736f5f269 Merge branch 'release-3.13' 2018-11-28 06:45:26 -05:00
Brad King 6bfcd4db3b Merge topic 'autogen_uic_empty_fix_3_13'
b1b5004c1a Autogen: Fix empty uic executable string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2667
2018-11-28 06:42:58 -05:00
Craig Scott faf4496db3 Merge topic 'doc-cmake.1'
e15cac8ee7 Help: Extend the cmake(1) manual
8b3a537c29 Help: Improve cmake(1) manual organization
f9c3f7b164 Help: Emphasize tool names in their manuals

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2662
2018-11-28 04:26:33 -05:00
Kitware Robot 049ca05da9 CMake Nightly Date Stamp 2018-11-28 00:01:05 -05:00
Isaiah Norton 100366a267 cmake: add error message when '-E touch' fails
Issue: #16526
2018-11-27 16:20:43 -05:00
Brad King cb6229b8b8 clang-tidy: fix warnings in macOS-only code 2018-11-27 13:20:34 -05:00
Brad King f49efe283e Merge topic 'autogen_target_docs'
0d80977af4 Autogen: Documentation updates

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2659
2018-11-27 08:51:27 -05:00
Brad King e3ec574834 Merge topic 'FindDoxygen-win-glob'
85a035bf00 FindDoxygen: Avoid Windows-specific GLOB on other platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2660
2018-11-27 08:50:07 -05:00
Brad King bae71966fb Merge topic 'ctest-updates'
d9195ab081 Tests: Teach run_ctest to handle removal of CTestConfig.cmake
1ca53f5ef1 Remove unnecessary CTEST_PROJECT_NAME variables
15ac4aae0e Remove warning when no CTestConfig.cmake file exists
3125c47d27 ctest_build: Do not require unnecessary [CTEST_]PROJECT_NAME value
36bbd07a76 CDashUpload: Use the query part of the submit url as field
e1dfe8cee6 CTest: Don't require 'submit.php?' in submit location

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2640
2018-11-27 08:48:49 -05:00
Brad King 2a6e8644dd Merge topic 'blaslapack_mkl_gfortran'
c259912b14 FindBLAS: Do not look for BLAS once BLAS95 has been found
d5f691be0b FindLAPACK: Additional libraries for MKL+gfortran combination
8b63265ea5 FindLAPACK: Unify internal variables related to MKL
ede1715c1d FindLAPACK: Remove MKL components already provided by MKL BLAS
03879b11af FindLAPACK: Prioritize Intel MKL
b4edf7b5d2 FindBLAS: Support 32bit Intel MKL 10.3+
fc149a72f7 FindBLAS: Support combination of gfortran and Intel MKL
f0d52f55f1 FindBLAS: Consolidate duplicated code related to MKL on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2633
2018-11-27 08:48:08 -05:00
Brad King 0f0c8a2c7d Merge branch 'autogen_uic_empty_fix_3_13' into release-3.13
Merge-request: !2667
2018-11-27 08:45:58 -05:00
Brad King 4833d2ef45 Merge branch 'release-3.13' 2018-11-27 08:45:18 -05:00
Brad King 43deb8e004 Merge topic 'vs2015-no-sdk'
f54d28a838 VS: Avoid crash with VS 2015 when all SDKs are higher than 10.0.14393.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2656
2018-11-27 08:45:00 -05:00
Brad King 4aad340ec4 Merge topic 'FindBoost-no-cxx'
0369362132 FindBoost: Restore finding without CXX language enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2663
2018-11-27 08:44:11 -05:00
Sebastian Holtermann b1b5004c1a Autogen: Fix empty uic executable string
In CMake 3.13.0 when a target has ``AUTOUIC`` enabled but doesn't
link against Qt5Widgets, the uic executable string is empty and
an error string "The uic executable \"\" does not exist" is generated.
In CMake 3.12 ``AUTOUIC`` was silently disabled instead.
This patch fixes the regression and restores the behavior of CMake 3.12.

Fixes: #18630
2018-11-27 08:21:40 -05:00
Brad King e15cac8ee7 Help: Extend the cmake(1) manual
Extend the description section to cover all capabilities that
the "cmake" tool has.  Extend the buildsystem generation section
to introduce important concepts and describe the basic workflow.

Inspired-by: Joachim Wuttke (l) <j.wuttke@fz-juelich.de>
2018-11-27 21:13:32 +11:00
Joachim Wuttke (l) 8b3a537c29 Help: Improve cmake(1) manual organization
Extend the Synposis, and provide links to manual sections.
Add sections for `cmake --open` and `cmake --help-*`.

Introduce a new section for buildsystem generation to distinguish it
from the other functionality.  Populate it with minimal placeholder text
for now.  It will be extended later.

Co-Author: Brad King <brad.king@kitware.com>
2018-11-27 21:13:32 +11:00
Wouter Klouwen 12b471e828 file: add SIZE option
This commit adds the SIZE option to file(). It returns the file size of
the given path if it exists and produces an error if not.
2018-11-27 08:50:36 +00:00
Jon Doron 071c0e3ce4 cmVSSetupHelper: Support Enterprise WDK build enviornment
Enterprise WDK is a command line build enviornment that does not require
any installation prior to use.

More information and download can be found here:
https://docs.microsoft.com/en-us/windows-hardware/drivers/develop/using-the-enterprise-wdk

Signed-off-by: Jon Doron <arilou@gmail.com>
2018-11-27 07:13:26 +02:00
Kitware Robot cee843475d CMake Nightly Date Stamp 2018-11-27 00:01:04 -05:00
Noel Eck 85a035bf00 FindDoxygen: Avoid Windows-specific GLOB on other platforms
When `$ENV{ProgramFiles}` is empty, GLOB takes `/Graphviz*/bin` as a
path cusing the implementation to look at every directory in `/`.  If
the system has a slow(er) path mounted on '/' then `stat` call can take
some time.  There *may* be a better fix for this elsewhere, but for now
simply do this GLOB only on Windows.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-11-26 14:39:36 -05:00