Commit Graph

41366 Commits

Author SHA1 Message Date
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
Brad King
1763f04281 Merge topic 'test-WriteBasicConfigVersionFile'
f3a381115f Tests: Simplify RunCMake.WriteBasicConfigVersionFile
0dbcc1afbf Tests: Factor out RunCMake.WriteBasicConfigVersionFile test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2612
2018-11-15 10:41:07 -05:00
Brad King
20aab1a4e7 Merge topic 'configure_file-canonical-deps'
6199637e95 configure_file: canonicalize input and output path in dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2586
2018-11-15 10:40:33 -05:00
Brad King
59fc717c25 Merge topic 'deprecate-findqt'
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
2018-11-15 10:39:55 -05:00
Brad King
64df9ef33a Merge topic 'autogen_info_write'
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
2018-11-15 08:38:12 -05:00
Brad King
f21bad80a2 Merge topic 'test-XcodeProject-timeout'
ca355d92d8 Tests: Add option for custom RunCMake.XcodeProject timeout

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2614
2018-11-15 08:37:32 -05:00
Brad King
b3d1d6d895 Merge topic 'doc-developer-to-source-guide'
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
2018-11-15 08:36:52 -05:00
Brad King
bd2c17d614 Merge topic 'macro3'
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
2018-11-15 08:36:02 -05:00
Kitware Robot
44a5400d10 CMake Nightly Date Stamp 2018-11-15 00:01:04 -05:00
Joachim Wuttke (l)
22cca9b810 Help: describe differences between macro and function. 2018-11-14 21:56:23 +01:00
Brad King
a786062db2 Merge topic 'WIN32'
254a849864 Help: Spell out MFC
b173c641c4 Help: Add links to variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2613
2018-11-14 15:18:15 -05:00
Kyle Edwards
0f5c1b404b find_package(): Add policy to remove the FindQt module
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.
2018-11-14 15:05:06 -05:00
Brad King
a82282a08c Help/dev: Factor out a CMake Documentation Guide for developing the docs
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.
2018-11-14 14:38:13 -05:00
Joachim Wuttke (l)
b90ae70a3b Help: in macro vs function example, use lowercase names.
Follow our own advise not to change cases.

Omit the leading underscore.
2018-11-14 20:33:12 +01:00
Brad King
bfbc5241e9 Help: Fix policy markup example in cmake-developer(7) 2018-11-14 14:29:13 -05:00
Brad King
3e5a047f1a Help: Drop compile features section from cmake-developer(7) manual
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.
2018-11-14 14:29:13 -05:00
Brad King
06cc050c1f Help/dev: Drop 'size_t' preference from source code guide
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`.
2018-11-14 14:28:57 -05:00
Sebastian Holtermann
e0c26406aa Autogen: Sort tests 2018-11-14 19:21:03 +01:00
Sebastian Holtermann
83bbfb1d53 Autogen: Add a definitions test to the MocOnly test 2018-11-14 19:21:03 +01:00
Sebastian Holtermann
01d5e5c460 Autogen: Add and use cmQtAutoGenInitializer::InfoWriter class
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
2018-11-14 19:21:03 +01:00
Joachim Wuttke (o)
254a849864 Help: Spell out MFC
And shorten text that was hard to understand and redundant.
2018-11-14 17:50:45 +01:00
Joachim Wuttke (o)
b173c641c4 Help: Add links to variables 2018-11-14 17:50:45 +01:00
Brad King
ca355d92d8 Tests: Add option for custom RunCMake.XcodeProject timeout
The test has many cases and can take a long time on busy machines.
2018-11-14 11:50:36 -05:00
Brad King
f3a381115f Tests: Simplify RunCMake.WriteBasicConfigVersionFile 2018-11-14 10:46:39 -05:00
Brad King
0dbcc1afbf Tests: Factor out RunCMake.WriteBasicConfigVersionFile test
The `WriteBasicConfigVersionFile` section of the `FindPackageTest`
is independent of the rest.
2018-11-14 10:46:08 -05:00
Brad King
117272412e Merge topic 'GNUInstallDirs-FreeBSD-info'
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
2018-11-14 08:59:19 -05:00
Kitware Robot
aa4ab1f904 CMake Nightly Date Stamp 2018-11-14 00:01:04 -05:00
Frank Benkstein
6199637e95 configure_file: canonicalize input and output path in dependencies
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
2018-11-13 15:01:17 -05:00
Brad King
64bc4bda74 Merge topic 'deprecate-modules2'
df780bcc01 Help: Move deprecated modules to appropriate section.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2603
2018-11-13 14:25:58 -05:00
Brad King
dc551c2b0d Merge topic 'macro+function-invocation'
abb5945bd0 Help: Document that function invocation is case-insensitive
357cdee3a1 Help: Document that macro invocation is case-insensitive

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2607
2018-11-13 14:25:10 -05:00
Joachim Wuttke (l)
abb5945bd0 Help: Document that function invocation is case-insensitive 2018-11-13 13:47:26 -05:00
Joachim Wuttke (l)
357cdee3a1 Help: Document that macro invocation is case-insensitive 2018-11-13 13:47:24 -05:00
Brad King
3603b3964b Merge topic 'macro'
dcf11cbcdc Help: Mention endmacro argument as legacy only.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2606
2018-11-13 13:40:55 -05:00
Tobias C. Berner
f835f189ae GNUInstallDirs: Update FreeBSD "info" destination to share/info
FreeBSD ports commit r484628 (Install texinfo files (GNU info) into
${PREFIX}/share/info, 2018-11-10) changed the "info" destination
from "info" to "share/info".  The commit included a patch to their
distribution of CMake to fix the `GNUInstallDirs` module too.
Apply a similar logic change to our upstream version of the module.

We already made a similar change for GNU/kFreeBSD in commit
v3.13.0-rc2~8^2 (GNUInstallDirs: Don't use BSD info and man paths on
GNU/kFreeBSD, 2018-10-21).

Fixes: #18585
2018-11-13 13:35:50 -05:00
Brad King
4c0d97dd98 GNUInstallDirs: Split "info" and "man" default logic
The conditions may soon differ.
2018-11-13 13:35:35 -05:00
Brad King
1b8f0ca515 Tests: Split GNUInstallDirs expectations for FreeBSD 2018-11-13 13:35:19 -05:00
Brad King
9fee704227 Merge topic 'SelectLibraryConfigurations'
fe15a1029c Help: Revise documentation of SelectLibraryConfigurations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2608
2018-11-13 10:46:54 -05:00
Brad King
fb93f7f230 Merge topic 'env2'
26a70449cc Help: Describe environment variables as such.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2609
2018-11-13 10:46:07 -05:00
Brad King
06ef9edd51 Merge topic 'DeployQt4'
3a7f02197b Help: Downcase function names in DeployQt4 doc.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2600
2018-11-13 10:41:20 -05:00
Brad King
bd04db899f Merge topic 'WriteCompilerDetectionHeader'
0470ee96b1 Help: Remove duplication of function name.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2605
2018-11-13 10:40:38 -05:00
Brad King
4fd97bbc2c Merge branch 'release-3.13' 2018-11-13 10:39:12 -05:00
Brad King
9bb203ed0f Merge topic 'FindBoost-1.69'
5045cd82d0 FindBoost: Additional fixes for 1.69

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2601
2018-11-13 10:38:54 -05:00
Brad King
ad6ef6c1d5 Merge branch 'FindBoost-1.69' into release-3.13
Merge-request: !2601
2018-11-13 10:37:23 -05:00
Roger Leigh
5045cd82d0 FindBoost: Additional fixes for 1.69 2018-11-13 10:37:01 -05:00