35113 Commits

Author SHA1 Message Date
Brad King
4def02a385 VS: Place CUDA host compiler options in proper project file fields
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.
2017-03-10 10:19:56 -05:00
Brad King
29f07b0867 VS: Do not pass CUDA compile options to C compiler 2017-03-10 10:19:56 -05:00
Brad King
b966f489c1 VS: Do not use absolute paths to CUDA sources
The CUDA Toolkit's VS integration does not properly compute the
intermediate files directory location when the path to the source
file is absolute.
2017-03-10 10:19:56 -05:00
Brad King
b64b4629ea VS: Add basic infrastructure for CUDA generation
Generate the `CudaCompile` elements in `.vcxproj` files.
2017-03-10 10:19:56 -05:00
Brad King
041ebda25b VS: Add placeholder CUDA flag tables
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.
2017-03-10 10:19:55 -05:00
Brad King
13433b1357 VS: Record in global generator whether CUDA is enabled 2017-03-10 10:19:55 -05:00
Brad King
82521e359f VS: Add support for determining CUDA compiler id
Teach `CMakeDetermineCompilerId` how to generate a vcxproj file using
the `CMAKE_VS_PLATFORM_TOOLSET_CUDA`.
2017-03-10 10:19:55 -05:00
Brad King
80e982d7ad VS: Add method to take a value out of the option parser flag map
Remove a flag from the map and return its value.
2017-03-10 10:19:55 -05:00
Brad King
f7bb40c92d VS: Add method to re-parse specific option parser fields
This will allow a client to parse flags, replace the flag tables, and
then re-parse a field in which flags for a secondary tool were
collected.
2017-03-10 10:19:54 -05:00
Brad King
a05fc93ee6 VS: Add method to clear flag tables of option parser 2017-03-10 10:19:54 -05:00
Brad King
895b890466 VS: Add more placeholders to compiler id detection project file template 2017-03-10 10:19:54 -05:00
Brad King
a650dbb280 VS: Refactor compiler id detection project file template
Make the `ClCompile` element name and `PostBuildEvent/Command` value
configurable.  Move the current content into default values for the
corresponding variables.
2017-03-10 10:19:54 -05:00
Brad King
62b308515a VS: Select highest available CUDA toolset by default
If `CMAKE_GENERATOR_TOOLSET` does not have a `cuda=...` field then
find available CUDA toolsets and choose the highest version.
2017-03-10 10:19:53 -05:00
Brad King
5164e9a651 VS: Provide an option to specify CUDA toolset version
The NVIDIA CUDA Toolkit provides MSBuild toolset files for integration
with Visual Studio.  Multiple versions may be installed so we need a way
to tell our VS generators which CUDA toolset to use.  Extend the
`CMAKE_GENERATOR_TOOLSET` specification to provide a `cuda=...` field
specifying the version number.
2017-03-10 10:19:53 -05:00
Brad King
83bf980c96 VS: Find the MSBuild value for VCTargetsPath
Run MSBuild on a simple `.vcxproj` file to extract the location of the
toolset definitions.  This will later be useful for looking at available
BuildCustomizations.
2017-03-10 10:19:52 -05:00
Brad King
0a312e2271 Merge branch 'release' 2017-03-08 08:41:12 -05:00
Brad King
45ca6e739a Merge topic 'fix-static-assert'
e2f25d3e WriteCompilerDetectionHeader: fix STATIC_ASSERT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !555
2017-03-08 08:39:12 -05:00
Brad King
c912b72458 Merge topic 'fix_csharp_custom_targets'
bd8b5401 VS: Do not treat custom targets as CSharp targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !557
2017-03-08 08:39:01 -05:00
Brad King
83f9c6275d Merge topic 'target-type-ordering-comment'
322425fa cmStateTypes: document that the ordering of targets is important

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !560
2017-03-08 08:38:38 -05:00
Brad King
49afdb1e82 Merge topic 'cmake-server-aix'
f5c4dada cmFileMonitor.h: Include cmConfigure.h first

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !562
2017-03-08 08:38:20 -05:00
Brad King
87f04b9572 Merge topic 'cuda-test-spelling'
613b3e49 CUDA: Fix spelling of CudaOnly.SeparateCompilation test targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !563
2017-03-08 08:38:05 -05:00
Kitware Robot
c87be0c035 CMake Nightly Date Stamp 2017-03-08 00:01:05 -05:00
Brad King
613b3e49a0 CUDA: Fix spelling of CudaOnly.SeparateCompilation test targets 2017-03-07 13:26:01 -05:00
Brad King
f5c4dada1b cmFileMonitor.h: Include cmConfigure.h first
We need this to make Large File Support definitions consistent with
other translation units.
2017-03-07 11:50:17 -05:00
Brad King
52d39264b4 Merge topic 'doc-dev-testing'
2927e437 Help/dev: Document the CMake Testing Process
b55e19dd Help/dev: Revise README to have a bullet list of available documents

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !561
2017-03-07 11:24:05 -05:00
Brad King
2927e437e0 Help/dev: Document the CMake Testing Process 2017-03-07 11:05:57 -05:00
Brad King
b55e19dd1f Help/dev: Revise README to have a bullet list of available documents 2017-03-07 10:40:56 -05:00
Brad King
ac66dec5c5 Merge branch 'fix_csharp_custom_targets' into release 2017-03-07 09:30:46 -05:00
Michael Stürmer
bd8b5401cf VS: Do not treat custom targets as CSharp targets
Fixes: #16697
2017-03-07 09:30:27 -05:00
Ben Boeckel
322425faca cmStateTypes: document that the ordering of targets is important
The ordering is assumed in many places throughout the code and
modification of the enumeration should be done carefully.
2017-03-07 09:30:07 -05:00
Brad King
dca58fa279 Merge branch 'release' 2017-03-07 08:27:00 -05:00
Brad King
3bccdd89c8 Merge topic 'revert-CTestTestfile-removal'
485685fd Revert "Remove CTestTestfile.cmake when BUILD_TESTING is OFF"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !553
2017-03-07 08:25:02 -05:00
Brad King
e66eec143c Merge topic 'working-directory-fixes'
aba92ffd cmWorkingDirectory: use the new class
047a5e4d cmWorkingDirectory: add class for changing the workdir
89891bcb cmCTest, cmCTestCoverageHandler: remove cwd dance
c3304fa5 OSXScriptLauncher: remove unused variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Merge-request: !540
2017-03-07 08:24:37 -05:00
Brad King
632534104c Merge topic 'cpack_nsis_sign_uninstaller'
09475c29 CPack/NSIS: Sign the uninstaller

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !512
2017-03-07 08:24:09 -05:00
Brad King
696c75e991 Merge topic 'autogen_common'
ef3c319b Autogen: Test: Add mocDepends test
7f9baf57 Autogen: Test: Add generated qrc file to rccDepends test
81656b92 Autogen: Test: Add generated file to moc rerun test
d9a7ef80 Autogen: Test: Add timestamp comparison to moc rerun test
89780663 Autogen: Test: Rename automoc_rerun test to mocRerun
9cad44dc Autogen: Test: Rename autorcc_depends test to rccDepends
60274e1d Autogen: Add RunCommand method with built in logging
8f2ad9c4 Autogen: Error return when a scan file is not readable
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !543
2017-03-07 08:23:00 -05:00
Brad King
1e1cb41c46 Merge topic 'FindHDF5-lang-include-dirs'
c6bef559 FindHDF5: set HDF5_<lang>_INCLUDE_DIRS in all cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !548
2017-03-07 08:22:37 -05:00
Brad King
fda91f4099 Merge topic 'doc-sort-cmake-variables'
eb44f001 Help: Sort cmake-variables.7 toctree

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !556
2017-03-07 08:22:03 -05:00
Ruslan Baratov
eb44f00192 Help: Sort cmake-variables.7 toctree 2017-03-07 08:09:01 -05:00
Kitware Robot
51fbaa3099 CMake Nightly Date Stamp 2017-03-07 00:01:03 -05:00
Sebastian Holtermann
ef3c319b97 Autogen: Test: Add mocDepends test 2017-03-06 22:01:04 +01:00
Sebastian Holtermann
7f9baf5790 Autogen: Test: Add generated qrc file to rccDepends test 2017-03-06 22:01:04 +01:00
Sebastian Holtermann
81656b9210 Autogen: Test: Add generated file to moc rerun test 2017-03-06 22:01:03 +01:00
Sebastian Holtermann
d9a7ef80aa Autogen: Test: Add timestamp comparison to moc rerun test 2017-03-06 22:01:03 +01:00
Sebastian Holtermann
89780663b3 Autogen: Test: Rename automoc_rerun test to mocRerun 2017-03-06 22:01:03 +01:00
Sebastian Holtermann
9cad44dce2 Autogen: Test: Rename autorcc_depends test to rccDepends 2017-03-06 22:01:03 +01:00
Sebastian Holtermann
60274e1d94 Autogen: Add RunCommand method with built in logging 2017-03-06 22:01:03 +01:00
Sebastian Holtermann
8f2ad9c4a0 Autogen: Error return when a scan file is not readable 2017-03-06 22:01:03 +01:00
Sebastian Holtermann
ea3bc1e5b0 Autogen: Add AUTOMOC/UIC support for generated source files
Closes #16186
Closes #14379
2017-03-06 22:01:03 +01:00
Sebastian Holtermann
e3af6bec67 Autogen: Initializer cleanups 2017-03-06 22:01:02 +01:00
Sebastian Holtermann
699321bfd5 Autogen: Add support for generated .qrc files 2017-03-06 22:01:02 +01:00