Commit Graph
47352 Commits
Author SHA1 Message Date
Kyle Edwards 1bdb5a3b51 Merge topic 'findvulcan-doc-fix'
6cc4ca31d5 Fix repeated word in FindVulkan.cmake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3575
2019-07-19 10:05:15 -04:00
Brad King 33494a507d cmGeneratorTarget: Order usage requirement processing logic consistently
Re-order logic in all `process*` methods so that they all evaluate
generator expressions at the beginning of their loops.
2019-07-19 09:58:12 -04:00
Brad King c131e62f7b cmGeneratorTarget: Remove unnecessary copy to local variable 2019-07-19 09:58:12 -04:00
Brad King fab72918c9 cmGeneratorTarget: Remove unused member of internal class 2019-07-19 09:58:12 -04:00
Brad King 95d3598e04 cmGeneratorExpressionDAGChecker: Avoid const_cast
Make a member mutable to avoid casting away const of a whole object.
2019-07-19 09:58:12 -04:00
Craig Scott b97673f54b Help: Add note to each string() subcommand that assumes ASCII input
Fixes: #19465
2019-07-19 20:47:21 +10:00
Craig Scott 26cd64d977 Help: Fix language and formatting inconsistencies for string() command 2019-07-19 20:47:21 +10:00
Kitware Robot ac000e29da CMake Nightly Date Stamp 2019-07-19 00:01:07 -04:00
Saleem Abdulrasool 59f2aa63e4 Swift: fix static library handling
Handle static libraries similar to shared libraries.  Do not pass along
the shared library flags raw as that will pass flags for the linker to
the driver which is incorrect.
2019-07-18 19:52:48 -07:00
NeroBurner 6cc4ca31d5 Fix repeated word in FindVulkan.cmake 2019-07-18 17:25:04 -04:00
Gabor Bencze 5dbd9c8583 Vim: Add SKIP_REGULAR_EXPRESSION test property to vim syntax file 2019-07-18 15:45:09 -04:00
Gabor Bencze 407dd1a910 Help: Add documentation for SKIP_REGULAR_EXPRESSION test property 2019-07-18 15:45:09 -04:00
Gabor Bencze d7955d4e5d Tests: Create test for SKIP_REGULAR_EXPRESSION test property 2019-07-18 11:52:10 -04:00
Gabor Bencze 4f1dec86a5 CTest: Add SKIP_REGULAR_EXPRESSION test property 2019-07-18 11:52:05 -04:00
Brad King d96bc3cf04 Merge branch 'vs-asmlist-dir' into release-3.15
Merge-request: !3569
2019-07-18 11:41:49 -04:00
Brad King c1fc6c80c7 VS: Place intermediate files in the "ASM List Location" next to objects
The `AssemblerListingLocation` setting in VS project files is meant for
intermediate files created during the build much like object files.
When the VS 7 generator was first under development, commit 49aebe6c99
(new arch, 2002-09-04) placed both object files and the ASM list
location in the same directory.  Later commit f9aef0e422 (Generator now
creates a separate intermediate files directory for each target,
2005-07-27) moved the object files to a per-target directory but the
ASM list location was not moved with them.  Move it now.

Fixes: #19480
2019-07-18 11:40:58 -04:00
Daniel Pfeifer 732dd344b9 cmCommand: remove FinalPass from interface 2019-07-18 17:35:43 +02:00
Daniel Pfeifer fbee46e262 cmVariableWatchCommand: Port away from FinalPass 2019-07-18 17:35:43 +02:00
Daniel Pfeifer 360d415592 cmLoadCommandCommand: Port away from FinalPass 2019-07-18 17:35:43 +02:00
Kyle EdwardsandBrad King dd3e476786 OpenSSL: Issue an error if OpenSSL is not found
When building with the built-in Curl, CMAKE_USE_OPENSSL is only set
to ON by default if an OpenSSL installation is detected. However, this
can cause the user to mistakenly build without OpenSSL support if
OpenSSL is not installed, because CMAKE_USE_OPENSSL is set to OFF in
that case. Always set CMAKE_USE_OPENSSL to ON by default on systems
where it could be available, skipping the initial detection, resulting
in an error when we try to use OpenSSL later on. Detect this error
and advise the user to either install OpenSSL or set CMAKE_USE_OPENSSL
to OFF.

Co-Authored-by: Brad King <brad.king@kitware.com>
2019-07-18 11:10:36 -04:00
Brad King 9dfb66372e bootstrap: Verify C++14 capabilities before using them
In commit a605bf438e (Extend C++17/C++14 feature checks to cover more
standard library APIs, 2019-02-27, cpp-modules-20190312.1~52^2~1) we
added checks to the main build of CMake to verify C++14 capabilities
before using C++14 flags to build.  Add these to the bootstrap check
too.
2019-07-18 11:10:12 -04:00
Brad King e3bd5c5b66 Merge branch 'release-3.15' 2019-07-18 07:53:06 -04:00
Brad King d59716d907 Merge topic 'swift-improvements'
f19c189e74 Merge branch 'backport-swift-improvements' into swift-improvements
5803a8a2f7 Swift: support SONAME on ELFish targets
47e28cbe1f Swift: support multithreaded compilation
6814567e8c Swift: add rules for static linking
c8741e8ff5 Swift: Add library search paths for dependencies
be0d404208 Support per-language library link flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3568
2019-07-18 07:50:40 -04:00
Brad King 1a2d260634 Merge branch 'backport-swift-improvements' into release-3.15
Merge-request: !3568
2019-07-18 07:47:05 -04:00
Brad King f19c189e74 Merge branch 'backport-swift-improvements' into swift-improvements 2019-07-18 07:46:42 -04:00
Brad King 0a3dd07fb6 Merge branch 'release-3.15' 2019-07-18 07:43:40 -04:00
gnaggnoyil 3bbd85d5ff FindProtobuf: Fix usage of protobuf dynamic libraries on Windows
Define `PROTOBUF_USE_DLLS` on Windows when linking against dynamic
protobuf libraries so that we import symbols from them.

We use the condition `MSVC` to enable this because that is what
the upstream buildsystem uses.
2019-07-18 07:40:40 -04:00
Brad King ae84427e32 Merge topic 'FindPython-interpreter-crosscompiling'
696d0f9caf FindPython: ensure interpreter is founded when cross-compiling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3564
2019-07-18 07:15:48 -04:00
Brad King c79032438c Merge branch 'FindPython-interpreter-crosscompiling' into release-3.15
Merge-request: !3564
2019-07-18 07:14:55 -04:00
Marc Chevrier 696d0f9caf FindPython: ensure interpreter is founded when cross-compiling
Fixes: #19473
2019-07-18 07:13:20 -04:00
Brad King 52fa25e28f Merge topic 'aix-no-rtl'
3fb3157dae AIX: Do not enable runtime linking by default anymore

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3566
2019-07-18 07:08:08 -04:00
Daniel Pfeifer 316e40baec cmInstallProgramsCommand: Port away from FinalPass 2019-07-18 11:53:46 +02:00
Daniel Pfeifer 7bc88b9165 cmInstallFilesCommand: Port away from FinalPass 2019-07-18 11:53:46 +02:00
Daniel Pfeifer 6a1a3763ee cmFLTKWrapUICommand: Port away from FinalPass 2019-07-18 11:53:46 +02:00
Daniel Pfeifer 20169f0b8d cmExportLibraryDependenciesCommand: Port away from FinalPass 2019-07-18 11:53:46 +02:00
Daniel Pfeifer a74dad3bd3 cmMakefile: decouple FinalAction from cmCommand 2019-07-18 11:53:46 +02:00
Regina Pfeifer d26e6cb1c2 cmLoadCommandCommand: Code cleanup 2019-07-18 11:49:28 +02:00
Kitware Robot 94b883d9d3 CMake Nightly Date Stamp 2019-07-18 00:01:08 -04:00
Saleem Abdulrasool 5803a8a2f7 Swift: support SONAME on ELFish targets
We should enable the soname to be setup for ELF shared libraries.
Failure to do so generates binaries with incorrect names which prevents
loading.
2019-07-17 20:46:25 -07:00
Saleem Abdulrasool 47e28cbe1f Swift: support multithreaded compilation
Query the number of logical CPUs available to enable parallel
compilation for Swift.
2019-07-17 20:46:08 -07:00
Saleem Abdulrasool 6814567e8c Swift: add rules for static linking
The Swift driver recently learnt how to generate static libraries using
the `-static` flag.  This enables us to generate proper static libraries
with dependency tracking with Swift as well.
2019-07-17 20:45:54 -07:00
Saleem Abdulrasool c8741e8ff5 Swift: Add library search paths for dependencies
When building Swift executables and libraries which import a module, an
implicit link will be added by the driver.  Because this links by name
rather than path, the library search path needs to be provided to
indicate where to find the library.  For all local dependencies, add the
library paths for the targets when linking.  This ensures that you can
link against local libraries without explicitly setting a library path.

Fixes: #19304
2019-07-17 20:45:19 -07:00
Saleem Abdulrasool be0d404208 Support per-language library link flags
This changes the behaviour of the generators to use a per-language
library search path flag.  This is needed for multi-language projects
with different compilers (e.g. cl + gfortran).  Since the adjusted
variable has been part of the user settings, we control this based on a
policy.

Fixes: #19307
2019-07-17 20:44:58 -07:00
Brad King 3fb3157dae AIX: Do not enable runtime linking by default anymore
We've long created shared objects on AIX using the linker's `-G` option
(also offered by the XL front-end).  The `-G` option implies `-brtl` and
enables runtime linking.  This has been largely unnecessary because we
provide all dependencies on the link line and both XL and GNU compilers
offer builtin behavior to export symbols.  Since commit 0f150b69d3 (AIX:
Explicitly compute shared object exports for both XL and GNU,
2019-07-11) we compute exports explicitly and consistently.
Therefore runtime linking is no longer necessary for shared objects.

We've also long created executables on AIX using the linker's `-brtl`
option to enable runtime linking in case they load plugins at runtime.
Since commit 9f5c2040bf (AIX: Explicitly compute executable exports for
both XL and GNU, 2019-07-12) and commit 2fa920c0cd (AIX: Create import
library for executables with exports, 2019-07-16) we now provide the
linker enough information to fully resolve symbols in plugins up front.
Therefore runtime linking is no longer necessary for executables.

Drop use of `-G` for creating shared objects and use the XL `-qmkshrobj`
and GCC `-shared` options instead.  Both invoke the linker with the
`-bM:SRE -bnoentry` options to create a shared object without runtime
linking enabled.  Also drop use of `-brtl` for creating executables.

Issue: #19163
2019-07-17 14:21:37 -04:00
Saleem Abdulrasool 151ef7cef4 Swift: refactor rule construction to reduce duplication
Use the placeholder expansion to avoid constructing the `-target` option
by hand if specified.  This reduces duplication and simplifies the
rules.
2019-07-17 10:26:46 -07:00
Brad King 744dd2cccb Merge branch 'release-3.15' 2019-07-17 10:06:59 -04:00
Brad King 44a6468304 Merge topic 'aix-exe-implib'
2fa920c0cd AIX: Create import library for executables with exports

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3561
2019-07-17 09:16:07 -04:00
Sebastian Holtermann 3bed969dac cmMakefile: Modernize AddFunctionBlocker method to accept a std::unique_ptr 2019-07-17 14:58:27 +02:00
Sebastian Holtermann faacb90a13 cmELF: Modernize to use std::unique_ptr instead of new/delete 2019-07-17 14:58:27 +02:00
Brad King 79bcf4e165 CMake 3.15.0 v3.15.0 2019-07-17 07:54:31 -04:00