Commit Graph

32996 Commits

Author SHA1 Message Date
Brad King 961536dc85 Merge topic 'CheckFortranSourceCompiles-custom-ext'
4d3874d5 CheckFortranSourceCompiles: Add support for custom source extension
86d2e427 CheckFortranSourceCompiles: Fix FAIL_REGEX documentation typo
2016-09-23 08:40:13 -04:00
Brad King c60fe33075 Merge topic 'test-Fortran-split'
eb8cd356 Tests: Split Fortran module testing into separate FortranModules test
a41c8724 Tests: Check if Fortran compiler supports F90
1ec5097d Tests: Use more generic variables in Fortran test
d7bd2efb Tests: Remove trailing line from Fortran/External
2016-09-23 08:40:10 -04:00
Brad King e9cae187c3 Merge topic 'fix-xcode-attribute-LOCATIONs'
764775c4 Fix XCODE_ATTRIBUTE_..._LOCATION target property lookup
2016-09-23 08:40:07 -04:00
Brad King aec5bf8edb Merge topic 'cmake-server-signals'
e22d30e2 server-mode: Allow for sending signals
cc576c2c server-mode: Pass server into cmServerProtocol
277ffa28 server-mode: Move constants for server mode into its own file
2016-09-23 08:40:03 -04:00
Brad King 0314f26412 Merge topic 'FindOpenSSL-path-order'
0d8c5ba4 FindOpenSSL: Search in more-specific directories before less-specific
2016-09-23 08:40:00 -04:00
Brad King 785f875426 Merge topic 'qtdialog-lib-paths'
48624b3c cmake-gui: Do not remove library paths for Qt5 plugins.
2016-09-23 08:39:56 -04:00
Kitware Robot d0a27ae998 CMake Nightly Date Stamp 2016-09-23 00:01:05 -04:00
Clinton Stimpson 48624b3cb8 cmake-gui: Do not remove library paths for Qt5 plugins.
Not removing library paths is necessary for QFileDialog to function correctly
on Linux when using Qt5.
2016-09-22 13:19:04 -06:00
Brad King eb8cd35684 Tests: Split Fortran module testing into separate FortranModules test
The main Fortran test is not granular enough.  Split some into another
test.
2016-09-22 14:52:01 -04:00
Brad King a41c8724d1 Tests: Check if Fortran compiler supports F90 2016-09-22 14:52:00 -04:00
Brad King 1ec5097d4d Tests: Use more generic variables in Fortran test 2016-09-22 14:52:00 -04:00
Brad King d7bd2efbc4 Tests: Remove trailing line from Fortran/External 2016-09-22 14:52:00 -04:00
Brad King 4d3874d5ad CheckFortranSourceCompiles: Add support for custom source extension
Fortran compilers interpret the source extension to decide whether
to preprocess and what language level to use by default.
2016-09-22 14:49:54 -04:00
Brad King 86d2e4276d CheckFortranSourceCompiles: Fix FAIL_REGEX documentation typo 2016-09-22 14:47:34 -04:00
Brad King 764775c4dd Fix XCODE_ATTRIBUTE_..._LOCATION target property lookup
Refactoring in commit v3.5.0-rc1~272^2~16 (cmGeneratorTarget: Add API for
property keys, 2015-10-25) changed the Xcode generator implementation of
`XCODE_ATTRIBUTE_...` properties to use the target `GetProperty` method on each
`XCODE_ATTRIBUTE_...` property listed by `GetPropertyKeys` instead of looping
over the property entries directly.  This made the lookup of property names of
the form `XCODE_ATTRIBUTE_..._LOCATION` accidentally trigger the computed
property logic for the undocumented/legacy `<CONFIG>_LOCATION` property.  Of
course the computed property value is not the same as the value stored in the
`XCODE_ATTRIBUTE_..._LOCATION` property.  Fix the computed property logic to
avoid triggering on `XCODE_ATTRIBUTE_...` attributes.

Closes: #16319
2016-09-22 11:29:52 -04:00
Tobias Hunger e22d30e25a server-mode: Allow for sending signals
Enable the server to send signals.
2016-09-22 16:30:03 +02:00
Tobias Hunger cc576c2c7f server-mode: Pass server into cmServerProtocol
The information will be needed to send signals.
2016-09-22 16:30:02 +02:00
Tobias Hunger 277ffa2881 server-mode: Move constants for server mode into its own file
This removes some duplication and makes it easier to reuse the
vocabulary.
2016-09-22 16:30:02 +02:00
Brad King f4475eb92b Merge topic 'test-fixtures'
73f47c9e CTest: Add support for test fixtures
2016-09-22 08:09:55 -04:00
Brad King 3e14e594b4 Merge topic 'cmake-server-pipes'
1d601c6c server-mode: Introduce cmServerConnection
2016-09-22 08:09:52 -04:00
Tobias Hunger 1d601c6cb9 server-mode: Introduce cmServerConnection
Use it to split pipe and stdin/out handling out of cmServer itself.

The server will shut down when it looses its connection to the client.
This has the nice property that a crashing client will cause the server
to terminate as the OS will close the connection on behave of the client.
2016-09-22 08:06:38 -04:00
Brad King 0d8c5ba42a FindOpenSSL: Search in more-specific directories before less-specific
Since commit v3.6.0-rc1~182^2 (FindOpenSSL: Prefer libs early in search
path regardless of name, 2016-04-04) we use the `NAMES_PER_DIR` option
to `find_library` calls to consider all names in each directory before
moving on to the next directory.  Fix our library search directory
ordering to place more-specific (e.g. VC/) directories before the
general directories.  Otherwise they may never be considered.

Closes: #16320
2016-09-22 07:55:27 -04:00
Kitware Robot 555ef1e235 CMake Nightly Date Stamp 2016-09-22 00:01:04 -04:00
Brad King 2c2ffd3874 Merge topic 'ctest-capture-error'
adf1e32f Help: Add notes for topic 'ctest-capture-error'
d328dc68 CTest: Add CAPTURE_CMAKE_ERROR val to `ctest_*` commands
9ac2e189 ctest_coverage: If gcov is not found just warn, not error
2016-09-21 08:47:51 -04:00
Brad King eca2af6e66 Merge topic 'cmake-server-more-info'
4fb2b41a server-mode: Add debug support
537efe05 server-mode: Report Messages from cmake to clients
ca779948 server-mode: Automate progress reporting
70b8ba9a cmake-server: Use consistent constant naming style
2016-09-21 08:47:48 -04:00
Brad King 1657fa0795 Merge topic 'fortran-submodules'
df4aeb31 Help: Add notes for topic 'fortran-submodules'
b5ac8b8a Fortran: Add support for submodule syntax in dependency scanning
bdcc1f51 cmFortranParser: Skip module procedures/functions/subroutines
2016-09-21 08:47:45 -04:00
Brad King 63fbcd6799 Merge topic 'ninja-implicit-outputs'
501f9c93 cmGlobalNinjaGenerator: Add API to check for implicit outputs support
144a24dc cmGlobalNinjaGenerator: Teach WriteBuild about implicit outputs
2016-09-21 08:47:42 -04:00
Brad King 0ebd7554bc Merge topic 'refactor-fortran-module-dir-lookup'
7b5f8567 Fortran: Use module dir flag if needed for default module directory
1777570f cmGeneratorTarget: Refactor Fortran module directory lookup
2016-09-21 08:47:39 -04:00
Brad King ca4eec29f9 Merge topic 'update-kwsys'
3876e297 Merge branch 'upstream-KWSys' into update-kwsys
9783ed1e KWSys 2016-09-20 (3f69ac40)
2016-09-21 08:47:36 -04:00
Brad King 68f7a476e7 Merge topic 'runcmake-cpack-test-framework-fix'
cb851a7c Tests: Fix RunCMake.CPack test infrastructure after logical conflict
2016-09-21 08:47:33 -04:00
Kitware Robot 37c1863764 CMake Nightly Date Stamp 2016-09-21 00:01:11 -04:00
Domen Vrankar cb851a7c12 Tests: Fix RunCMake.CPack test infrastructure after logical conflict
The changes in commit d9cec8ad (CPack/RPM: Generate source rpm (SRPM)
packages on demand, 2016-09-19) logically conflict with the
infrastructure updates in commit 4682b42b (Tests: Add subtest support to
RunCMake/CPack infrastructure, 2016-09-13).  Integrate the two changes
so they work together.
2016-09-20 16:05:41 -04:00
Tobias Hunger 4fb2b41a58 server-mode: Add debug support
Enable the server to support development with some helper tools:

You can now request debug information with statistics on how
long execution of a command took, how long it took to serialize
the JSON files, and how big the serialized JSON string is.

Also allow to dump results into a file.
2016-09-20 20:52:44 +02:00
Tobias Hunger 537efe0561 server-mode: Report Messages from cmake to clients
Pass messages sent from cmake via Error(...) or Message(...) on
to clients.
2016-09-20 20:52:38 +02:00
Tobias Hunger ca7799482c server-mode: Automate progress reporting
Wire up cmake::SetProgressUpdate to do progress reporting via the
cmake server.
2016-09-20 20:48:10 +02:00
Tobias Hunger 70b8ba9a0f cmake-server: Use consistent constant naming style 2016-09-20 20:48:06 +02:00
Brad King adf1e32fa2 Help: Add notes for topic 'ctest-capture-error' 2016-09-20 14:43:13 -04:00
Craig Scott 73f47c9e46 CTest: Add support for test fixtures
Add new test properties:

* FIXTURES_SETUP
* FIXTURES_CLEANUP
* FIXTURES_REQUIRED

to specify the roles and dependencies of tests providing/using
test fixtures.
2016-09-20 14:37:38 -04:00
Bill Hoffman d328dc6853 CTest: Add CAPTURE_CMAKE_ERROR val to `ctest_*` commands
If a `ctest_*` command has CAPTURE_CMAKE_ERROR then any errors generated
by cmake during that command will cause the value to be assigned `-1`.
This will prevent a `ctest -S` script from returning non-zero unless the
script explicitly calls `message(FATAL_ERROR)`.
2016-09-20 13:14:20 -04:00
Bill Hoffman 9ac2e18960 ctest_coverage: If gcov is not found just warn, not error 2016-09-20 13:06:57 -04:00
Brad King df4aeb3121 Help: Add notes for topic 'fortran-submodules' 2016-09-20 09:18:56 -04:00
Brad King b5ac8b8aa7 Fortran: Add support for submodule syntax in dependency scanning
Fortran 2008 [1] adds support for a new syntax related to modules:

    submodule ( ParentModule ) SubModule
    submodule ( ParentModule : SubModule ) NestedSubModule

Both of these mean that the current source file requires the module
`ParentModule` to be available if it is not provided in the current
file.  Teach our Fortran dependency scanner to parse this syntax to
extract this relationship.  For now simply tolerate the nested submodule
case and extract only the dependency it expresses on the main module.
Further work will be needed to extract dependencies among nested
submodules.

[1] http://fortranwiki.org/fortran/show/Fortran+2008

Closes: #16234
2016-09-20 09:18:47 -04:00
Brad King bdcc1f517e cmFortranParser: Skip module procedures/functions/subroutines
Fortran allows the syntax

  MODULE PROCEDURE ...
  MODULE FUNCTION ...
  MODULE SUBROUTINE ...

to declare procedures/functions/subroutines that are members of modules.
Do not treat such syntax as the definition of a module with one of these
names.

Issue: #16234
2016-09-20 09:08:28 -04:00
Brad King 3876e2976e Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-09-20 (3f69ac40)
2016-09-20 09:04:14 -04:00
KWSys Upstream 9783ed1e6e KWSys 2016-09-20 (3f69ac40)
Code extracted from:

    http://public.kitware.com/KWSys.git

at commit 3f69ac4009443743e17d6335f1952b8755aee054 (master).

Upstream Shortlog
-----------------

Dāvis Mosāns (6):
      f53440fe ConsoleBuf: Improve test error messages
      fd9e86e8 ConsoleBuf: Use two separate events for test sync
      fb8530ed ConsoleBuf: Make test more reliable
      c49ddccb ConsoleBuf: Fix test registry restoration
      10e3f947 ConsoleBuf: Fix test to compare all bytes of wide character strings
      3f69ac40 ConsoleBuf: Output console and test buffers on test failure
2016-09-20 09:04:05 -04:00
Brad King 501f9c9367 cmGlobalNinjaGenerator: Add API to check for implicit outputs support
Ninja 1.7 introduced support for implicit outputs on build statements.
Add an internal API to check whether the Ninja version in use for the
build supports this feature.
2016-09-20 08:51:57 -04:00
Brad King 144a24dcdc cmGlobalNinjaGenerator: Teach WriteBuild about implicit outputs
Ninja 1.7 introduced support for implicit outputs on build statements.
Teach WriteBuild to generate the corresponding syntax.  Leave it up to
callers to decide whether implicit outputs are supported by the Ninja
version in use.  For now simply update all call sites to pass an empty
list of implicit outputs.
2016-09-20 08:51:57 -04:00
Brad King 7b5f85677c Fortran: Use module dir flag if needed for default module directory
Our buildsystem model says that the default Fortran module output
directory is the build tree directory corresponding to the source tree
`CMakeLists.txt` file adding the current target.  Extend
`cmGeneratorTarget::GetFortranModuleDirectory` to allow generators to
pass in the compiler working directory.  If the working directory does
not match the default Fortran module output directory then we need an
explicit module directory flag (e.g. `-J`) to tell the compiler to
put/use modules in the latter.

This does not affect the Makefile generator but will be useful for
future introduction of Fortran support to the Ninja generator.
2016-09-20 08:48:41 -04:00
Brad King 1777570fe5 cmGeneratorTarget: Refactor Fortran module directory lookup
Make `target_module_dir` and owned value so we can modify it.
2016-09-20 08:48:41 -04:00
Brad King 6b8812c27e Merge topic 'directory-list-targets-and-subdirs'
d0be1e15 Add directory properties to get source and binary directories
cbca6582 Add directory property to list buildsystem targets
7a4b8d0d Add a directory property to list subdirectories
089868a2 cmState: Record buildsystem target names in each directory
2016-09-20 08:41:01 -04:00