Commit Graph

4773 Commits

Author SHA1 Message Date
Domen Vrankar 6c09c5d64c CPack/RPM honor package file name on debuginfo enabled
Packages with debuginfo enabled should
still honor defined package file name
if file name is not set to RPM-DEFAULT.

Fixes #16715
2017-03-24 19:52:02 +01:00
Brad King 5d2f30f5ac Merge topic '14335-duplicate-else'
edac95b9 cmIfCommand: Reject duplicate else() and misplaced elseif()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !594
2017-03-22 09:24:49 -04:00
Brad King 56c39d8836 Merge topic 'add-CheckIPOSupported-module'
6c832674 Tests for 'CheckIPOSupported' module
fdb2ba25 CheckIPOSupported: New module to check for compiler/cmake IPO support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !558
2017-03-22 08:51:59 -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
Gregor Jasny edac95b955 cmIfCommand: Reject duplicate else() and misplaced elseif()
Closes: #14335
2017-03-22 08:42:35 -04:00
Ruslan Baratov 6c8326749f Tests for 'CheckIPOSupported' module 2017-03-21 22:38:53 +08: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 01bdc2cc43 Merge topic 'geh-visibility-flag'
9eb05b48 GenerateExportHeader: always fill in _EXPORT macros

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !36
2017-03-20 11:52:06 -04:00
Ben Boeckel 9eb05b48cd GenerateExportHeader: always fill in _EXPORT macros
The `_EXPORT` and `_NO_EXPORT` macros should always be made properly
because the `<LANG>_VISIBILITY_PRESET` properties are controlled
independently of this module.

One case where this breaks compatibility is where a project was setting
`USE_COMPILER_HIDDEN_VISIBILITY=OFF` and then marking a symbol used
outside of the library with `_NO_EXPORT` which is a contridiction.
2017-03-16 15:11:03 -04:00
Domen Vrankar 598400a3e7 CPack/RPM: handle extra slashes
Extra slashes in some locations can
cause errors during package generation
and can also be present in generated
rpm packages causing issues for the
package user.

Closes #16619
2017-03-13 23:22:55 +01:00
Brad King 2591e89c14 Merge topic 'x32-abi-tests'
7a2de256 Tests: Fix CMakeOnly.find_library test logic for libx32 case

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !573
2017-03-13 09:00:52 -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
Gregor Jasny 3fd9f4ab05 Xcode: Add test for schema generation
Closes: #15441
2017-03-12 21:27:53 +01:00
Christian Schmidbauer 7a2de256c4 Tests: Fix CMakeOnly.find_library test logic for libx32 case
Teach `test_find_library_subst` how to convert `libx32` to `lib`
so that the test case actually covers what we intend it to.
2017-03-10 15:50:25 -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 65481a60a0 CUDA: Work around VS limitation in CudaOnly.WithDefs test
CUDA 8.0 MSBuild rules do not pass `-x cu` to nvcc and so cannot support
a custom file extension.  Fix our test for this to use a `.cu` extension
instead.
2017-03-10 10:19:58 -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 6b586e2c13 Merge topic 'test-CPackComponents-fix-NSIS-root'
ae0f7dfa Tests: Fix CPackComponents NSIS install root

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !569
2017-03-10 08:40:38 -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
Brad King ae0f7dfa95 Tests: Fix CPackComponents NSIS install root
Without `CPACK_VERBATIM_VARIABLES` a path with backslashes does not make
it through `CPackConfig.cmake` properly.  Just use forward slashes which
NSIS seems to understand anyway.
2017-03-09 10:20:35 -05:00
Steven Newbury d9bdcf34ef Tests: Add x32 tests to test suite 2017-03-08 17:23:30 +00:00
Brad King 7e8b08ec64 Tests: Pass generator platform and toolset into check for Fortran
Check for a Fortran compiler that supports the same target platform
as we are testing.
2017-03-08 09:12:09 -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 613b3e49a0 CUDA: Fix spelling of CudaOnly.SeparateCompilation test targets 2017-03-07 13:26:01 -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
Daniel Pfeifer e2f25d3e82 WriteCompilerDetectionHeader: fix STATIC_ASSERT
fixes #16185
2017-03-06 20:52:09 +01: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
Brad King c1fb7213ed Merge topic 'autogen_uic_paths'
3bf28f5e Autogen: New short InfoGet functions
154d8339 Autogen: Parse enabled feature configuration only
ac77fa35 Autogen: Add missing return on error
662ad240 Autogen: Rename and merge moc related methods
5adf22bb Autogen: Add AUTOUIC_SEARCH_PATHS release notes
36fa535d Autogen: Add AUTOUIC_SEARCH_PATHS documentation
6d7c02db Autogen: Add AUTOUIC_SEARCH_PATHS test
1cdf7c1b Autogen: Add AUTOUIC_SEARCH_PATHS support
110c1bf4 Autogen: Add subDirPrefix function
db431ecf Autogen: Merge FindInIncludeDirectories into FindIncludeFile
2017-03-02 09:26:13 -05:00
Brad King 6c332bd84c Merge topic 'find_library-custom-lib-suffix'
503f25d4 find_library: Allow custom lib suffix be used as find path
2017-03-02 09:26:08 -05:00
Brad King 5d81817b71 Merge topic 'csproj_add_free_source_tags'
506207f9 VS: add test for VS_CSHARP_* source file property
a202749c VS: add CSharpUtilities module
9588d0a2 VS: add VS_CSHARP_<tagname> sourcefile property
2017-03-02 09:26:03 -05:00
Sebastian Holtermann 6d7c02db34 Autogen: Add AUTOUIC_SEARCH_PATHS test 2017-03-02 09:10:01 -05:00
Brad King 69528fe65f Tests: Add case for RPATH exclusion of symlinks to implicit directories
Issue: #16682
2017-03-02 08:36:32 -05:00
Michael Stürmer 506207f928 VS: add test for VS_CSHARP_* source file property 2017-03-01 15:31:05 -05:00
Christian Schmidbauer 503f25d490 find_library: Allow custom lib suffix be used as find path
Add a new `CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX` variable to allow use
of a custom suffix on `lib` directory names.  This is a more general
option than that added by commit v3.7.0-rc1~504^2 (Teach find_library
and find_package to search lib32 paths, 2016-06-10).  It allows the find
path to be more deterministic on custom setups.

See discussion in #10287 and #15994.
2017-03-01 09:49:42 -05:00
Brad King f782b31368 Merge topic 'FindPkgConfig-version-ops'
8d71fa92 FindPkgConfig: use new version checking "library >= version" syntax
2017-03-01 09:00:46 -05:00
Brad King 86563cf7c8 Merge topic 'export-executable-symbols'
85e08370 bindexplib: Always export executable symbols, even they are also readable
2017-03-01 09:00:43 -05:00
Brad King 4fc64ce76d Merge topic 'find-libarch-not-symlink'
6f5aede7 find_library: Skip 'lib => lib<arch>' searches if one symlinks the other
e67963ed cmFindLibraryCommand: Refactor AddArchitecturePath logic
2017-03-01 09:00:40 -05:00
Brad King a9113ae37b Merge topic 'autogen_json_fix'
48b56504 Autogen: Fix for Q_PLUGIN_METADATA change detection test
2017-03-01 09:00:37 -05:00
Brad King 6f5aede716 find_library: Skip 'lib => lib<arch>' searches if one symlinks the other
The `FIND_LIBRARY_USE_LIB<arch>_PATHS` global properties ask
`find_library` to look in `lib<arch>` directories automatically before
corresponding `lib` directories.  However, if `lib<arch>` is just a
symlink to `lib` (or vice-versa) then we should skip adding the
`lib<arch>` path.  Such symlinks typically only exist to satisfy
software that expects the `lib<arch>` path to be available.

Fixes: #16687
2017-02-28 14:56:54 -05:00
Zsolt Parragi 85e08370d0 bindexplib: Always export executable symbols, even they are also readable
Previously bindexplib discarded read-only non-function symbols even in
executable/code sections, but in some specific cases they could still mark
functions.

An example is provided by nop.asm in the AuoExportDll test, which exports
a function only marked by a label. This symbol can be used from C/C++
code, but without this change it would result in an unresolved external
symbol when built as a DLL on Windows.
2017-02-28 09:49:12 -05:00
Brad King 30243e7faf Merge topic '16607-error-out-on-non-seekable-input-files'
ded616bd cmListFileLexer: bail out on seek-errors
2017-02-28 09:39:21 -05:00
Gautier Pelloux-Prayer 8d71fa9283 FindPkgConfig: use new version checking "library >= version" syntax
Instead of the deprecated --atleast-version one.
2017-02-28 10:45:25 +01:00
Ben Boeckel 99d6de6c1a ExternalProject: only append COMMAND if actually adding a command
Fixes #16544.
2017-02-27 11:33:31 -05:00