Commit Graph

4766 Commits

Author SHA1 Message Date
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
Gregor Jasny ded616bdad cmListFileLexer: bail out on seek-errors
If we are given a FIFO, for example, we cannot seek back after trying to
read a Byte-Order-Mark.

Closes: #16607
2017-02-27 09:14:28 -05:00
Brad King e348d8db55 Merge topic 'object-library-compile-pdb'
feff52d4 Fix COMPILE_PDB_NAME when used on an OBJECT library
2017-02-27 09:11:22 -05:00
Brad King 9b02283a1f Merge topic 'test-objlib-deps-cleanup'
b35a949b Tests: Change RunCMake.ObjectLibrary dependencies case to C
01347954 Tests: Fix RunCMake.ObjectLibrary dependency delay
2017-02-27 09:11:20 -05:00
Sebastian Holtermann 48b56504bf Autogen: Fix for Q_PLUGIN_METADATA change detection test 2017-02-26 19:05:56 +01:00
Brad King b35a949bb6 Tests: Change RunCMake.ObjectLibrary dependencies case to C 2017-02-26 10:43:32 -05:00
Brad King 0134795418 Tests: Fix RunCMake.ObjectLibrary dependency delay
Sleep before the second copy to avoid the need for a touch.
Sleep for longer on generators whose build tools have low
resolution timestamps.
2017-02-26 10:43:30 -05:00
Brad King feff52d42c Fix COMPILE_PDB_NAME when used on an OBJECT library
When `COMPILE_PDB_NAME` is used without `COMPILE_PDB_OUTPUT_DIRECTORY`
we cannot fall back on the link `PDB_OUTPUT_DIRECTORY` for an object
library because it has no link step.

Fixes: #16674
2017-02-24 11:26:52 -05:00