Commit Graph

8000 Commits

Author SHA1 Message Date
Brad King 8df52df84d Merge topic 'FindPythonLibs-names-per-dir'
192ab741 FindPythonLibs: Allow find_library to search paths from system environment
3976a106 FindPythonLibs: Prefer libs early in search path regardless of name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1378
2017-10-12 09:20:09 -04:00
Brad King 0d508b1ee1 Merge topic 'FindXMLRPC-no-includes'
e7720a0f FindXMLRPC: Tolerate no include directories
b1aa8a47 FindXMLRPC: Drop unnecessary exec_program code paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1377
2017-10-12 09:19:53 -04:00
Brad King 016daf0391 Merge topic 'clang-msvc-help'
b6d3a1c0 Clang: Diagnose unsupported GNU-like clang targeting MSVC ABI

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1373
2017-10-12 09:15:57 -04:00
Marc Chevrier 48dcb2f055 UseJava: add_jar OUTPUT_DIR option used only for jar generation.
Build artifacts go to CMAKE_CURRENT_BINARY_DIR subdirectory in all cases.

Fixes: #17341
2017-10-12 13:05:17 +02:00
Brad King e7720a0f3f FindXMLRPC: Tolerate no include directories
`xmlrpc-c-config $modules --cflags` may report no `-I` flags if the
headers are in a standard location like `/usr/include`.  In this case
it is okay for `XMLRPC_INCLUDE_DIRS` to be empty.

Ideally the `--cflags` output should be used as hints for a `find_path`
call to really find the headers as we do for other find modules, but
simply assuming no explicit include directories are needed is good
enough for now.

Fixes: #17347
2017-10-11 11:19:03 -04:00
Brad King 192ab741ec FindPythonLibs: Allow find_library to search paths from system environment
Drop the `NO_SYSTEM_ENVIRONMENT_PATH` option from our `find_library`
calls.  No other find modules do this.  Also, since commit
v3.3.0-rc1~430^2 (Teach find_(library|file|path) to get prefixes from
PATH, 2015-02-18) we always search the `lib` directory of each prefix
before the `bin` directory and so should prefer the non-`.dll` name.

Issue: #17336
2017-10-11 11:07:58 -04:00
Brad King 3976a1066a FindPythonLibs: Prefer libs early in search path regardless of name
Add `NAMES_PER_DIR` to all `find_library` invocations so that we
consider all possible names in each search directory before moving on to
the next directory.  This helps find the package that appears earliest
in the search path regardless of how it names its libraries.

Fixes: #17336
2017-10-11 10:58:22 -04:00
Brad King b1aa8a4773 FindXMLRPC: Drop unnecessary exec_program code paths
We always have `execute_process` now, so drop our ancient `exec_program`
code paths that are never used anymore.
2017-10-11 10:31:32 -04:00
Brad King 4594880be7 Merge topic 'cpack-deb-mr-1296-fix'
c5db2f9a CPack/Deb: fix for regex passing even if invalid characters are present
529729d6 CPack/Deb: CPACK_DEBIAN_PACKAGE_VERSION regex testing exception

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1375
2017-10-11 08:26:24 -04:00
Brad King 7237d9489a Merge topic 'ExternalProject-CMP0054'
491d2108 ExternalProject: Avoid if() auto-dereferene in quoted arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1369
2017-10-11 08:21:14 -04:00
Brad King 491d210898 ExternalProject: Avoid if() auto-dereferene in quoted arguments
The implementation of this module doesn't expect such dereferences
to happen, but can when a project sets a variable called `x`.
Set `CMP0054` explicitly to get its NEW behavior.

Fixes: #17335
2017-10-11 08:19:58 -04:00
Brad King 027bcee513 Merge topic 'UseJava_OUTPUT_DIR'
dead049e UseJava: OUTPUT_DIR must exists in all cases.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1368
2017-10-11 08:18:50 -04:00
Domen Vrankar c5db2f9a0f CPack/Deb: fix for regex passing even if invalid characters are present
Regex [+-~] passes all characters between + and ~ and not only
+, - and ~
2017-10-11 00:10:10 +02:00
Domen Vrankar 529729d6e7 CPack/Deb: CPACK_DEBIAN_PACKAGE_VERSION regex testing exception
CPACK_DEBIAN_PACKAGE_VERSION variable could in the past also
contain release and epoch version so regex test should expect
the entire versioning if both CPACK_DEBIAN_PACKAGE_RELEASE
and CPACK_DEBIAN_PACKAGE_EPOCH are not set.
Also since the checks were not performed in the past the regex
test of CPACK_DEBIAN_PACKAGE_VERSION variable content should
only report author warnings instead of errors in case of the
test fail.

Fixes: #17339
2017-10-11 00:10:01 +02:00
Brad King b6d3a1c09a Clang: Diagnose unsupported GNU-like clang targeting MSVC ABI
The LLVM/Clang installer on Windows provides a `LLVM/bin` directory
containing `clang.exe` and `clang++.exe` command-line tools that have a
GNU-like command-line but target the MSVC ABI (instead of MinGW).  We
do not support this combination, so diagnose and reject it explicitly.
Tell users what to do to use the `clang-cl.exe` tool instead.

Issue: #16439
2017-10-10 14:56:43 -04:00
Brad King e5f1be0f64 Merge branch 'FindCUDA-cuda-9-nppi' into release-3.10
Merge-request: !1360
2017-10-10 08:59:51 -04:00
Brad King dba09a3c21 Merge topic 'FindProtobuf-doc-typo'
107fe8d5 FindProtobuf: fix documentation typo

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1359
2017-10-10 08:58:07 -04:00
Brad King ea6e5903e7 Merge topic 'ipo-escape-toolchain-path'
11f4c19d IPO: Fix support for spaces in path to archive tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
Merge-request: !1356
2017-10-10 08:57:05 -04:00
Brad King e110ab9e21 Merge topic 'FindCUDA-cuda-9-nppi'
16589bf4 FindCUDA: Update for CUDA 9 breakup of nppi into multiple libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1360
2017-10-10 08:52:35 -04:00
Brad King 6702ace882 Merge topic 'FindJava-tolerant-versions'
6feb0c33 FindJava: Revise version parsing to support Java 9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1355
2017-10-10 08:51:03 -04:00
Marc Chevrier dead049e0b UseJava: OUTPUT_DIR must exists in all cases.
Fixes: #17316
2017-10-10 10:00:23 +02:00
Robert Maynard 16589bf46f FindCUDA: Update for CUDA 9 breakup of nppi into multiple libraries
Fixes: #17310
2017-10-06 11:05:35 -04:00
Brad King 9111c17767 Merge branch 'FindProtobuf-doc-typo' into release-3.10
Merge-request: !1359
2017-10-06 09:21:38 -04:00
Brad King 71a2fe2753 Merge branch 'ipo-escape-toolchain-path' into release-3.10
Merge-request: !1356
2017-10-06 09:21:27 -04:00
André Apitzsch 107fe8d5e4 FindProtobuf: fix documentation typo
Fix typo in documentation added by commit v3.10.0-rc1~18^2
(FindProtobuf: add flag to allow descriptor files to be generated,
2017-09-21).
2017-10-06 09:18:48 -04:00
Thomas Stenersen 11f4c19d7b IPO: Fix support for spaces in path to archive tools
In the normal archiving rules the ``<CMAKE_AR>`` placeholder is replaced
by the generators with a properly-quoted path to the tool.  In the IPO
rules we specify the tools directly, so we need to quote them.

Fixes: #17326
2017-10-06 08:15:55 -04:00
Brad King 25510a09d5 Merge branch 'FindJava-tolerant-versions' into release-3.10
Merge-request: !1355
2017-10-06 07:30:07 -04:00
Brad King 6feb0c3318 FindJava: Revise version parsing to support Java 9
Java 9 has only one component.  Revise the logic to tolerate any number
of version components 1 through 4.  Fix the parsing of individual
components.

Fixes: #17325
2017-10-06 07:29:30 -04:00
Brad King 7a31da43b1 Merge branch 'findopenmp-fix-verbose' into release-3.10
Merge-request: !1348
2017-10-06 07:18:13 -04:00
Brad King e67eb42fa1 Merge topic 'findopenmp-fix-verbose'
e25d88ec FindOpenMP: Fix link flags being used for compile

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1348
2017-10-06 07:15:24 -04:00
Christian Pfeiffer e25d88ecb9 FindOpenMP: Fix link flags being used for compile
Fixes: #17307
2017-10-05 17:02:56 +02:00
Brad King 4ffa4ddd80 Merge topic 'cuda-default-link-launcher'
7914fb82 CUDA: Fix default selection of host compiler used to drive linking

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1341
2017-10-05 07:36:53 -04:00
Brad King 69257d456a Merge topic 'FindCUDA-run_nvcc-CMP0007'
8b09c20c FindCUDA: Fix CMP0007 warning in run_nvcc.cmake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1340
2017-10-05 07:36:03 -04:00
Brad King dbb16722ee Merge topic 'find-matlab-r2017b'
f156b2fb FindMatlab: Add support for MATLAB 2017b

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Raffi Enficiaud <raffi.enficiaud@free.fr>
Merge-request: !1343
2017-10-05 07:34:49 -04:00
Christian Pfeiffer 3120615739 FindOpenMP: Fix version if OpenMP doesn't work 2017-10-04 19:53:48 +02:00
Brad King 7914fb8223 CUDA: Fix default selection of host compiler used to drive linking
When no explicit `CMAKE_CUDA_HOST_COMPILER` is specified by the user
then we do not pass `-ccbin` to `nvcc`.  In this case, nvcc's link line
we extract during the compiler identification step may not have the
absolute path to the host compiler it uses to drive linking.  If it is
not absolute, use the `PATH=` from nvcc's output to search for it since
that is the one `nvcc` would use.

This fixes our internal `CMAKE_CUDA_HOST_LINK_LAUNCHER` value used to
construct link lines when using `CUDA` as the linker language.  It needs
to match the host compiler `nvcc` uses internally during compilation.

Fixes: #17323
2017-10-04 10:25:47 -04:00
Jamie Snape f156b2fbfb FindMatlab: Add support for MATLAB 2017b 2017-10-04 09:47:46 -04:00
Umar Arshad 8b09c20c3a FindCUDA: Fix CMP0007 warning in run_nvcc.cmake
Set `CMP0007` to `NEW` for the entire script.  The script comes with
CMake and is aware of the policy's behavior, so set the policy to ensure
that its warnings do not show up during the build phase.

Fixes: #16579
2017-10-04 08:07:37 -04:00
Brad King b320eb48f3 Merge topic 'compiler-version-internal'
1bdb8cd2 IAR: Detect compiler platform version
b96ca728 Add infrastructure to detect secondary compiler version information
f952f16d Help: Fix placement of one variable in cmake-variables manual

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1324
2017-10-04 07:07:09 -04:00
Brad King 046625d26f Merge topic 'FindProtobuf-gen-desc'
1299f4cc FindProtobuf: add flag to allow descriptor files to be generated
4e91be95 FindProtobuf: Refactor custom command output listing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1301
2017-10-03 08:14:34 -04:00
Stefan Andersson 1bdb8cd247 IAR: Detect compiler platform version
`__IAR_SYSTEMS_ICC__` provides additional version information that
we need to determine correct usage of the compiler.  Extract and
store it as `CMAKE_<LANG>_COMPILER_VERSION_INTERNAL`.

Issue: #17264
2017-10-03 08:11:27 -04:00
Brad King b96ca728f1 Add infrastructure to detect secondary compiler version information
Create a `CMAKE_<LANG>_COMPILER_VERSION_INTERNAL` variable to hold
a secondary/internal compiler version number detected at the same
time as the primary compiler version.  This will be useful for some
compilers where we need such a number to determine correct usage.

Inspired-by: Stefan Andersson <tfosm@hotmail.com>
Suggested-by: Norbert Lange <norbert.lange@andritz.com>
Issue: #17264
2017-10-03 08:11:27 -04:00
Peter Mitrano 1299f4cc5e FindProtobuf: add flag to allow descriptor files to be generated
- The .desc files will be in the same folder as the generated .cc and .h files.
- Paths to generate .desc files are stored in a variable passed in
- This is only implemented for C++
- Remove legacy ARGS
- Add test that generates and uses C++ protobuf message
- Add test that checks that the generated .desc file can be instantiated
  with DynamicMessageFactory
- Add Help rst for new feature
2017-10-02 08:08:24 -04:00
Brad King 4e91be9532 FindProtobuf: Refactor custom command output listing
Reduce duplication by storing the custom command outputs in variables.
Also, since custom command outputs are automatically marked as generated
we do not need to do so explicitly.
2017-10-02 08:04:24 -04:00
Brad King 275b4a53ee Merge topic 'autogen-predefs'
6bbc1e77 Autogen: Add release notes for (CMAKE_)AUTOMOC_COMPILER_PREDEFINES
75c98b5e Autogen: Doc: Add documentation for (CMAKE_)AUTOMOC_COMPILER_PREDEFINES
1d7f099d Autogen: Add (CMAKE_)AUTOMOC_COMPILER_PREDEFINES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1328
2017-10-02 08:01:21 -04:00
Brad King c044b9ae84 FindBoost: Improve messages when a Boost CMake package is found
Add a test for this case to verify the messages.  This test will also be
valuable to cover this code path in which we've had several regressions
recently.
2017-09-29 10:10:01 -04:00
Brad King 6bced4bf76 Merge topic 'cuda_9_support'
fe37b994 CUDA: Add support for requesting C++98 under CUDA 9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1315
2017-09-29 09:23:39 -04:00
Sebastian Holtermann 1d7f099d9c Autogen: Add (CMAKE_)AUTOMOC_COMPILER_PREDEFINES 2017-09-29 15:00:47 +02:00
Brad King 9fc0453140 Merge topic 'external-project-refactor-ep_get_complete_stampfile'
da470525 ExternalProject: Refactor code introducing _ep_get_complete_stampfile

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1323
2017-09-29 08:55:17 -04:00
Brad King 41492c2d99 Merge topic 'FindMatlab-version-quoting'
a245f850 FindMatlab: Fix extraction of quoted version number

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1316
2017-09-29 08:54:22 -04:00