Commit Graph
28539 Commits
Author SHA1 Message Date
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 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 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
Kitware Robot 7bd58bd67d CMake Nightly Date Stamp 2017-03-10 00:01:04 -05:00
Brad King 4f90e79314 bindexplib: Revise coding style of CMake-specific methods
We exclude this source from `clang-format` due to use of third-party
code.  However, we can manually format the CMake-specific part of the
code using our current style.
2017-03-09 16:28:04 -05:00
Brad King f36eaf6a6e Refactor WINDOWS_EXPORT_ALL_SYMBOLS implementation
Use `cmGeneratorTarget::ModuleDefinitionInfo` to combine the
implementation of `WINDOWS_EXPORT_ALL_SYMBOLS` with that of using a
`.def` file as a source.  Only one of these could be used within a
single target before anyway.
2017-03-09 16:25:15 -05:00
Brad King 25d261efa7 Refactor module definition file selection
Create a `ModuleDefinitionInfo` structure for each configuration of a
target to hold corresponding information about the selected module
definition file (`.def` source).
2017-03-09 16:25:14 -05:00
Brad King 1e0a9ac45d Refactor module definition source enumeration
Add a `cmGeneratorTarget::GetModuleDefinitionSources` method.
2017-03-09 16:24:27 -05:00
Brad King c4f9d10426 Merge topic 'master'
d9bdcf34 Tests: Add x32 tests to test suite
5b6d354f Help: Add notes for topic 'x32-abi'
bed9c73d Modules: Add x32-abi support to hard-coded paths
462cf254 Add support for x32-abi

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !532
2017-03-09 11:08:11 -05:00
Kitware Robot dcbe8ad42b CMake Nightly Date Stamp 2017-03-09 00:01:03 -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
Kitware Robot c87be0c035 CMake Nightly Date Stamp 2017-03-08 00:01:05 -05:00
Steven Newbury 462cf25427 Add support for x32-abi
Detect x32-abi through CMakeCompilerABI infrastruture and use this
information at runtime to determine the correct library paths with
`FIND_LIBRARY_USE_LIBX32_PATHS`.

Fixes: #15994
2017-03-07 15:22:55 -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 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 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 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
Kitware Robot 51fbaa3099 CMake Nightly Date Stamp 2017-03-07 00:01:03 -05: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
Sebastian Holtermann a28ae16e3c Autogen: Embrace qrc file lists in braces in AutogenInfo.cmake
This allows empty .qrc files in any list position.
2017-03-06 22:01:02 +01:00
Sebastian Holtermann 0d9a5baa0e Autogen: Remove unused variables 2017-03-06 22:01:02 +01:00
Sebastian Holtermann 47dbe9267e Autogen: Add cmQtAutogeneratorCommon class with shared types and functions 2017-03-06 22:01:02 +01:00
Brad King 485685fdd9 Revert "Remove CTestTestfile.cmake when BUILD_TESTING is OFF"
This reverts commit v3.8.0-rc1~305^2 (Remove CTestTestfile.cmake when
BUILD_TESTING is OFF, 2016-11-14).  It breaks projects that never enable
testing but create their own `CTestTestfile.cmake` manually instead.
2017-03-06 11:31:19 -05:00
Ben Boeckel aba92ffd92 cmWorkingDirectory: use the new class
These functions just need to change the directory for a block of code
and then go back to the caller's expected location. Use
cmWorkingDirectory to ensure that all return paths are handled.
2017-03-06 10:38:58 -05:00
Ben Boeckel 047a5e4d66 cmWorkingDirectory: add class for changing the workdir 2017-03-06 10:38:20 -05:00
Ben Boeckel 89891bcb9e cmCTest, cmCTestCoverageHandler: remove cwd dance
The working directory changes here didn't really accomplish anything.
2017-03-06 10:38:00 -05:00
Ben Boeckel c3304fa510 OSXScriptLauncher: remove unused variable 2017-03-06 10:37:41 -05:00
Kitware Robot 9f40ba259a CMake Nightly Date Stamp 2017-03-06 00:01:02 -05:00
Kitware Robot 01d5963552 CMake Nightly Date Stamp 2017-03-05 00:01:03 -05:00
Kitware Robot d96d971ac0 CMake Nightly Date Stamp 2017-03-04 00:01:05 -05:00
Brad King e1adec32b8 CMake 3.8.0-rc2 2017-03-03 08:29:09 -05:00
Brad King 4e537aa42c Merge topic 'ipo-variable'
6b6191d8 Add variable 'CMAKE_INTERPROCEDURAL_OPTIMIZATION'
2017-03-03 07:57:36 -05:00
Brad King 24c0e229ef Merge topic 'implicit-dir-symlinks'
69528fe6 Tests: Add case for RPATH exclusion of symlinks to implicit directories
f3102ca8 Merge branch 'backport-implicit-dir-symlinks' into implicit-dir-symlinks
c3fb650c cmOrderDirectories: Consider symlinks when checking implicit directories
b1a37362 cmOrderDirectories: Factor out implicit directory check
2017-03-03 07:57:29 -05:00
Kitware Robot 1e0841c672 CMake Nightly Date Stamp 2017-03-03 00:01:03 -05:00
Ruslan Baratov 6b6191d875 Add variable 'CMAKE_INTERPROCEDURAL_OPTIMIZATION' 2017-03-02 09:37:39 -05:00