Commit Graph

7585 Commits

Author SHA1 Message Date
Brad King
6f74bbaffe Merge topic 'findxmlrpc_fix'
eb0cfd28 FindXMLRPC: handle QUIETLY and REQUIRED correctly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !887
2017-05-26 11:15:49 -04:00
Niklas Simons
eb0cfd2847 FindXMLRPC: handle QUIETLY and REQUIRED correctly
Use the built in FindPackageHandleStandardArgs.

Fixes: #16912
Signed-off-by: Niklas Simons <nsimons@abo.fi>
2017-05-25 15:26:05 -04:00
Brad King
1f6509142d Merge topic 'FindCygwin-alt-arch'
d3034654 FindCygwin: Use find_program instead of find_path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !883
2017-05-25 15:15:16 -04:00
Brad King
def409af76 Merge topic 'FindDoxygen-add-docs-function'
59ffabfe Improve Doxygen support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !684
2017-05-25 15:14:53 -04:00
Brad King
d6df882add Merge topic 'find_dependency-improvements'
ab358d6a Improve find_dependency argument handling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !872
2017-05-25 15:13:47 -04:00
Brad King
9f552e2e5a Merge topic 'vs15-GNUtoMS'
abe8a623 GNUtoMS: Add search path for VS 2017 environment scripts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !875
2017-05-24 10:37:51 -04:00
Brad King
20b892d9a2 Merge topic 'IAR-response-flag-space'
68ea936f Added space after IAR response file flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !880
2017-05-24 10:37:33 -04:00
Alex Turbov
59ffabfeec Improve Doxygen support
Except Graphviz's `dot` Doxygen may use few other utilities like
`mscgen` (Message Sequence Chart) and `dia` (Diagram Editor).

Now this module allows to manage Doxygen settings from `CMakeLists.txt`
and forget about `Doxyfile`s. Also it provides a helper function
to add a target to generate documentation: `doxygen_add_docs`.

Implement code review notes:

- Introduce `COMPONENTS` to find: `dot`, `mscgen` and `dia`;
- Deprecate variables `DOXYGEN_SKIP_DOT`, `DOXYGEN_EXECUTABLE`,
  `DOXYGEN_DOT_EXECUTABLE`, `DOXYGEN_DOT_FOUND` in favour of
  `doxygen_add_docs ` usage instead;
- Properly handle paths to found tools in Windows;
- Prevent adding a custom target if Doxygen was not really found;
- Introduce exported (executable) targets for found components.

Co-Author: Craig Scott <craig.scott@crascit.com>
2017-05-24 10:15:45 +07:00
Tibor Szabo
d303465448 FindCygwin: Use find_program instead of find_path
Cygwin's installation directory is mainly needed to use some programs
of it, irrespectively of the target architecture. However, find_path
does not consider cygwin with architecture different than the target
architecture. This is because cygwin's installation path is retrieved
from the registry. WOW64 view is not used by find_path if generating
for 32-bit architecture and vice versa, so cygwin is not found then.
find_program tries both views, this way a 64-bit cygwin may be used
for 32 bit build and vice versa.
2017-05-23 22:51:01 +02:00
Brad King
346f1c0cf3 Merge topic 'FindImageMagick-support-v7'
4131d1b5 FindImageMagick: Update to work with v7

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !874
2017-05-23 13:30:23 -04:00
Andreas Weis
68ea936ff5 Added space after IAR response file flag
Without the space between the flag and the filename, IAR will fail to
parse the arguments correctly.
2017-05-23 07:25:27 +02:00
Alex Ghosh
abe8a623d9 GNUtoMS: Add search path for VS 2017 environment scripts
Use `cmake_host_system_information` to query the VS Installer tool for
the locations of VS versions since VS 2017 does not provide registry
entries anymore.  Add a loop to simplify addition of future versions.
2017-05-22 14:52:05 -04:00
Robert Dailey
4131d1b58e FindImageMagick: Update to work with v7 2017-05-22 12:54:31 -05:00
Matthew Woehlke
ab358d6a85 Improve find_dependency argument handling
Remove highly specialized and totally positional argument handling in
find_dependency macro, and instead just pass arguments through to
find_package. This gives users access to the full suite of arguments
that find_package knows, and is backward compatible with the old
arguments.

Also, rewrite the unit tests for this, since the old tests are
exclusively focused on testing the old argument handling and are no
longer applicable, and add some success tests (the old tests did not
even set up the CMake state in a way that CMake had any hope of ever
finding the test package).
2017-05-22 13:32:43 -04:00
Brad King
a5ccddf057 FindProtobuf: Rename imported targets to match upstream names
Rename our recently added imported targets to match those provided by
the upstream's CMake-based build.  That way a project using
`find_package(Protobuf)` can get the same target names no matter how
protobuf is found.

Suggested-by: Konstantin Podsvirov <konstantin@podsvirov.pro>
2017-05-22 10:51:55 -04:00
Brad King
c9d9a3fb39 Merge topic 'pgi-fix-windows'
4eb15824 Windows-PGI: Add platform definitions
a94ae96e Windows-PGI: Adapt default compiler flags
c2c2d366 ImplicitLinkInfo: Add support for PGI on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !794
2017-05-22 10:37:57 -04:00
Brad King
a152e97e23 Merge topic 'UseEcos-update'
47732280 UseEcos: Fix for separate <DEFINES> and <INCLUDES> placeholders

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !871
2017-05-22 10:35:59 -04:00
Christian Pfeiffer
4eb15824b3 Windows-PGI: Add platform definitions
PGI on Windows should use the Visual C++ linker and librarian and not
the ar provided for legacy reasons. The compiler parameters themselves
are the same as their Linux parameters and not compatible to MSVC
however.
2017-05-20 20:02:51 +02:00
Christian Pfeiffer
a94ae96e6e Windows-PGI: Adapt default compiler flags
PGI demands -Bdynamic (/MD equivalent) for linking together dynamic
libraries, so we should make it our default mirroring the settings of
e.g. Visual C++ and Intel C++.
2017-05-20 20:02:51 +02:00
Christian Pfeiffer
c2c2d36619 ImplicitLinkInfo: Add support for PGI on Windows
Since PGI does not write linker directives into objects, the necessary
libraries have to be parsed from commandline. PGI does however link the
Visual C++ runtime libraries, so they have to be filtered out to ensure
no collision with settings of other languages can occur.
2017-05-20 20:02:43 +02:00
Brad King
561e5edc3c Merge topic 'FindProtobuf-targets'
37627217 Help: Add notes for topic 'FindProtobuf-targets'
e4e1d194 FindProtobuf: add tests
f29635b6 FindProtobuf: add targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !861
2017-05-19 14:17:50 -04:00
Florian Schmaus
4773228061 UseEcos: Fix for separate <DEFINES> and <INCLUDES> placeholders
Update the module to account for commit v3.4.0-rc1~342^2 (Factor an
<INCLUDES> placeholder out of <FLAGS> in rule variables, 2015-07-13)
and v2.6.0~537 (Create COMPILE_DEFINITIONS property for targets and
source files, 2008-01-14).

Fixes: #16904
2017-05-19 10:51:09 -04:00
Brad King
bc7d64f896 Merge topic 'string-append'
9e24af01 Use string(APPEND) in Modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !864
2017-05-18 09:03:40 -04:00
Brad King
44f8f839cb Merge topic 'cpack-archive-per-component-filename'
9e06e97d CPack/Archive: per component filenames support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !859
2017-05-18 09:01:57 -04:00
Brad King
21916a4784 Merge topic 'vs14-GNUtoMS'
c02d4d2a GNUtoMS: Add search path for VS 2015 environment scripts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !854
2017-05-18 08:53:23 -04:00
Brad King
6b1e35d207 Merge topic 'gtest_add_tests'
6edd1806 GoogleTest: Expand capabilities of gtest_add_tests()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !839
2017-05-18 08:46:02 -04:00
André Apitzsch
f29635b667 FindProtobuf: add targets 2017-05-18 13:57:01 +02:00
Daniel Pfeifer
9e24af0137 Use string(APPEND) in Modules
Automate with:

find Modules -type f -print0 | xargs -0 perl -i -0pe \
  's/set\(([a-zA-Z0-9_\$\{\}]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
2017-05-17 11:26:11 -06:00
Alex Ghosh
c02d4d2aee GNUtoMS: Add search path for VS 2015 environment scripts 2017-05-17 11:19:23 -04:00
Domen Vrankar
9e06e97d30 CPack/Archive: per component filenames support
Support for setting archive packager specific
per component filenames and monolithic package
filenames.
2017-05-17 00:47:15 +02:00
Brad King
ef8ac5ad5a Merge topic 'cpackifw-i18n'
72ac7ad9 CPackIFW: Internationalization Support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !748
2017-05-16 09:55:29 -04:00
Brad King
0789a8be08 Merge topic 'extra-fphsa-space'
3c515e19 FPHSA: remove extra space

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !843
2017-05-16 09:54:09 -04:00
Brad King
80e0ef4082 Merge topic 'GNU-FindBinUtils-patterns'
75accaae GCC: more patterns for ar/ranlib

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !838
2017-05-16 09:53:32 -04:00
Brad King
252c2f5ee2 Merge topic 'vs_fix_cpp_debugging_with_cs_enabled'
a6b39a5a VS: Fix debugging of C++ executables if CSharp is enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !844
2017-05-16 09:51:51 -04:00
Brad King
300979e788 Merge topic 'FindOpenSSL-crypto-only'
8b410453 FindOpenSSL: Restore support for crypto-only result

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !846
2017-05-16 09:49:05 -04:00
Brad King
46f48467c5 Merge topic 'FindDevIL-compat'
e8f0385f FindDevIL: Restore IL_FOUND result variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !845
2017-05-16 09:47:50 -04:00
Craig Scott
6edd1806dd GoogleTest: Expand capabilities of gtest_add_tests()
Now has keyword-based arguments (old syntax form is still supported).
Discovered tests can have a prefix and/or suffix added to the test names
and the list of discovered tests is available to the caller. The working
dir can also be set and the dependency on the source files is now
optional instead of mandatory.
2017-05-16 07:57:27 +10:00
Michael Stürmer
a6b39a5adf VS: Fix debugging of C++ executables if CSharp is enabled
Fixes: #16867
2017-05-15 11:02:15 -04:00
Brad King
cda0baea49 Merge topic 'FindPkgConfig-fix-lib-search'
2e293c39 FindPkgConfig: Fix pkg_check_modules() non-standard location search

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !835
2017-05-15 10:55:10 -04:00
Brad King
8b41045393 FindOpenSSL: Restore support for crypto-only result
Since commit v3.8.0-rc1~132^2 (FindOpenSSL: Check that both CRYPTO and
SSL libraries are present, 2017-01-03) we require both crypto and ssl
libraries to be present.  This makes sense because `OPENSSL_LIBRARIES`
lists both and breaks when one is not found.  However, prior to that
fix we supported finding only the crypto library and using it through
the imported target.  Drop the requirement for ssl to restore support
for using crypto alone.

Later this module should be taught to support the `COMPONENTS` argument
of `find_package`.

Fixes: #16882
2017-05-15 10:12:46 -04:00
Brad King
e8f0385f41 FindDevIL: Restore IL_FOUND result variable
The fix in commit v3.8.0-rc1~257^2~1 (FindDevIL: fail properly when
library is not found, 2016-11-24) removed the previously-provided
`IL_FOUND` result variable.  Set it for compatibility and update the
documentation to mention the new variable.

Fixes: #16881
2017-05-15 09:56:41 -04:00
Ben Boeckel
3c515e1922 FPHSA: remove extra space
Each missing variable is added to the string as " ${var}" which causes
the string to always have a leading space. Remove the duplicate space
due to this in the output.
2017-05-15 09:23:29 -04:00
Ruslan Baratov
75accaae8b GCC: more patterns for ar/ranlib 2017-05-14 12:31:26 +03:00
Konstantin Podsvirov
72ac7ad98d CPackIFW: Internationalization Support
Changes:
- DISPLAY_NAME and DESCRIPTION in CPackIFW module now is MULTI_ARGS;
- Added internationalization support for DisplayName and Description
  properties in cmCPackIFWPackage class;
- Added documentation to CPackIFW module;
- Added release note.
2017-05-13 02:34:15 +03:00
Yuriy Khokhulya
2e293c39da FindPkgConfig: Fix pkg_check_modules() non-standard location search
During search of the library file `pkg_check_modules()` attempts to find
it in last specified library path in `${_prefix}_LDFLAGS`, that after
dependency resolving contains path to standard location.

So in case when `${_prefix}_LDFLAGS` has:

    -L/prefix;-L/usr/local/lib;-llibrary_from_prefix;-ldependency

`library_from_prefix` will not be found.

As solution need try to find the library in all paths preceding to the
library.

Fixes: #16873
2017-05-12 09:21:21 -04:00
Brad King
793b223c02 Merge topic 'getprerequisites-fix'
e0e414d6 GetPrerequisites: Only recurse on resolved unseen prerequisites

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !804
2017-05-12 09:13:37 -04:00
Brad King
592206a157 Merge topic 'add_cuda_cxx14_flag'
036ffe81 CUDA: Add support for the C++14 standard flag.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !830
2017-05-12 09:13:19 -04:00
Guillaume Dumont
e0e414d659 GetPrerequisites: Only recurse on resolved unseen prerequisites
I encountered an issue where not all prerequisites would be listed by
`get_prerequisites` since some of the prerequisites cannot be resolved
and are added to the list of unseen prerequisites.  This has the side
effect of clearing the list of `prerequisites_var` and thus removes some
prerequisites from the list.  Fix it.
2017-05-11 16:12:38 -04:00
Brad King
5d13fe2822 Features: Record features for SunPro C 5.13 and 5.14 2017-05-11 15:59:48 -04:00
Robert Maynard
036ffe815a CUDA: Add support for the C++14 standard flag.
CUDA 9 toolkit has announced support for C++14 flag, so lets allow users
to use it.
2017-05-11 13:42:42 -04:00