Commit Graph

22429 Commits

Author SHA1 Message Date
Brad King
10cbb87fa3 Merge topic 'ninja-fortran-depfile-fix'
805706b3 Ninja: Fix Fortran `include` dependency on generated file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !601
2017-03-22 08:52:18 -04:00
Brad King
b5d8a6de48 Merge topic 'cuda_no_ninja_response_support'
feaea065 CUDA: Disable support for using response files.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !596
2017-03-22 08:50:05 -04:00
Brad King
989484d51f Merge topic 'module-def-and-WINDOWS_EXPORT_ALL_SYMBOLS'
075f6454 Support WINDOWS_EXPORT_ALL_SYMBOLS with `.def` files
21c4ec4f cmGlobalVisualStudioGenerator: Simplify __create_def command generation
24361a45 bindexplib: Add support for parsing and integrating `.def` files
845c4824 bindexplib: Add method for parsing and integrating `.def` files
4f90e793 bindexplib: Revise coding style of CMake-specific methods

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !581
2017-03-22 08:49:09 -04:00
Kitware Robot
564add478d CMake Nightly Date Stamp 2017-03-22 00:01:04 -04:00
Brad King
805706b36d Ninja: Fix Fortran include dependency on generated file
Work around upstream ninja issue 1251 by converting include directories
used by our Fortran dependency scanner to the same path format that we
use in preprocessor `-I` flags and in the `build.ninja` manifest.

Fixes: #16722
2017-03-21 15:19:01 -04:00
Robert Maynard
feaea0658c CUDA: Disable support for using response files. 2017-03-21 11:09:18 -04:00
Brad King
f589e636eb Merge topic 'windows-include-order'
4b49c9a2 fix include order of windows.h

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !584
2017-03-21 10:07:39 -04:00
Brad King
075f645409 Support WINDOWS_EXPORT_ALL_SYMBOLS with .def files
The `WINDOWS_EXPORT_ALL_SYMBOLS` target property exports all symbols
found in object files explicitly given to the linker.  However, the
linker may also find additional symbols in dependencies and copy them
into the linked binary (e.g. from `msvcrt.lib`).  Provide a way to
export an explicit list of such symbols by adding a `.def` file as a
source file.

Fixes: #16473
2017-03-21 10:02:34 -04:00
Brad King
21c4ec4ffe cmGlobalVisualStudioGenerator: Simplify __create_def command generation 2017-03-21 10:02:33 -04:00
Brad King
24361a455a bindexplib: Add support for parsing and integrating .def files 2017-03-21 10:02:33 -04:00
Bertrand Bellenot
845c482448 bindexplib: Add method for parsing and integrating .def files 2017-03-21 10:02:33 -04:00
Kitware Robot
851a5d1d3a CMake Nightly Date Stamp 2017-03-21 00:01:04 -04:00
Brad King
e145cfe2e9 Merge topic 'autogen_source_group'
f89678f6 Autogen: Add AUTOGEN_SOURCE_GROUP release notes
850eb734 Autogen: Add AUTOGEN_SOURCE_GROUP documentation
af1354d6 Autogen: Add AUTOGEN_SOURCE_GROUP support
379cf11b Autogen: Add generator type enum

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !586
2017-03-20 11:47:07 -04:00
Kitware Robot
a5931b61e9 CMake Nightly Date Stamp 2017-03-20 00:01:03 -04:00
Kitware Robot
baba0a435a CMake Nightly Date Stamp 2017-03-19 00:01:04 -04:00
Kitware Robot
14f0378e10 CMake Nightly Date Stamp 2017-03-18 00:01:02 -04:00
Kitware Robot
45851e8500 CMake Nightly Date Stamp 2017-03-17 00:01:02 -04:00
Sebastian Holtermann
af1354d6c1 Autogen: Add AUTOGEN_SOURCE_GROUP support
Closes: #16501
2017-03-16 11:52:20 +01:00
Sebastian Holtermann
379cf11b30 Autogen: Add generator type enum 2017-03-16 11:52:20 +01:00
Kitware Robot
e781223c88 CMake Nightly Date Stamp 2017-03-16 00:01:02 -04:00
Kitware Robot
b557f3e106 CMake Nightly Date Stamp 2017-03-15 00:01:03 -04:00
Daniel Pfeifer
4b49c9a245 fix include order of windows.h
Comments that indicate a special include order is necessary because
GetCurrentDirectory might get redefined are outdated.  Remove those
outdated comments and use the normal ordering of includes.
2017-03-14 22:40:11 +01:00
Kitware Robot
4d3f120c5f CMake Nightly Date Stamp 2017-03-14 00:01:03 -04:00
Brad King
3806e186d1 Merge topic 'BundleUtilities-elf-rpath'
10fcef02 BundleUtilities: Fix bundle verification on Unix by considering rpaths.
ac0786cb BundleUtilities: Teach `get_item_rpaths` to parse ELF binaries
a52faa1f file: Add READ_ELF command to parse ELF binaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !551
2017-03-13 08:59:59 -04:00
Brad King
22908e4be8 Merge topic 'xcode-test-schema-generation'
3fd9f4ab Xcode: Add test for schema generation
cf13e495 Xcode: Control schema generation via variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !577
2017-03-13 08:58:50 -04:00
Brad King
b46fa35824 Merge topic 'cuda-vs'
65481a60 CUDA: Work around VS limitation in CudaOnly.WithDefs test
8cae24a1 VS: Add more CUDA flag table entries
6ca4f222 VS: Add support for the CUDA_SEPARABLE_COMPILATION property
94255511 VS: Select CUDA code generation architectures
253594d0 VS: Select the CUDA runtime library
4def02a3 VS: Place CUDA host compiler options in proper project file fields
29f07b08 VS: Do not pass CUDA compile options to C compiler
b966f489 VS: Do not use absolute paths to CUDA sources
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !566
2017-03-13 08:57:57 -04:00
Brad King
abfc55a362 Merge topic 'refactor-module-def'
f36eaf6a Refactor WINDOWS_EXPORT_ALL_SYMBOLS implementation
25d261ef Refactor module definition file selection
1e0a9ac4 Refactor module definition source enumeration

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !570
2017-03-13 08:57:20 -04:00
Brad King
abbc0b839f Merge topic 'update-kwsys'
83be64d9 Merge branch 'upstream-KWSys' into update-kwsys
8ba8b553 KWSys 2017-03-07 (5da8cfe0)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !576
2017-03-13 08:42:04 -04:00
Kitware Robot
ac59ec7dc1 CMake Nightly Date Stamp 2017-03-13 00:01:02 -04:00
Gregor Jasny
cf13e49544 Xcode: Control schema generation via variable
Issue: #15441
2017-03-12 21:24:46 +01:00
Kitware Robot
ce0704e419 CMake Nightly Date Stamp 2017-03-12 00:01:03 -05:00
Kitware Robot
6a4e189b68 CMake Nightly Date Stamp 2017-03-11 00:01:04 -05:00
Brad King
83be64d99c Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-03-07 (5da8cfe0)
2017-03-10 16:24:53 -05:00
Florian Apolloner
a52faa1fcb file: Add READ_ELF command to parse ELF binaries
Leave it undocumented for now because we intend to use it internally and
it cannot be made available everywhere.
2017-03-10 10:54:53 -05:00
Brad King
8cae24a1d0 VS: Add more CUDA flag table entries 2017-03-10 10:19:57 -05:00
Brad King
6ca4f22292 VS: Add support for the CUDA_SEPARABLE_COMPILATION property 2017-03-10 10:19:57 -05:00
Brad King
94255511a6 VS: Select CUDA code generation architectures
Parse the `-gencode=`, `-arch`, and `-code` flags and generate a
`CodeGeneration` field in the project file.
2017-03-10 10:19:57 -05:00
Brad King
253594d0ae VS: Select the CUDA runtime library
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.
2017-03-10 10:19:57 -05:00
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
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