Commit Graph

7837 Commits

Author SHA1 Message Date
Brad King
d4f58a9cd8 Merge topic 'fphsa-version-cleanup'
91935d9e FPHSA: lower-case for cmake_parse_arguments + move config-mode related code
aec27c15 FPHSA: use more localized _FOUND_VERSION instead of VERSION.
0019bfeb FPHSA: Add (failing) unit test in case a cache variable VERSION is present
81844334 FPHSA: add (failing) unit test for found version being equal to 0.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !1224
2017-09-08 09:48:15 -04:00
Brad King
2581ab4395 Merge topic 'boost-1.65.1'
dbba53a5 FindBoost: Add version 1.65.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1241
2017-09-08 09:46:32 -04:00
Brad King
8bd26d7eac Merge topic 'findfreetype-importedtargets'
b1d1c56c Help: Add notes for topic 'FindFreetype-importedtargets'
457c2021 FindFreetype: Add imported target, docs, and test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1219
2017-09-08 09:46:00 -04:00
Ben Morgan
457c202196 FindFreetype: Add imported target, docs, and test 2017-09-07 17:52:33 +01:00
Sebastian Holtermann
37ef18a468 Autogen: Pass RCC build names and function names in info file
- The output file name of the `rcc` command get computed once
  in the AUTOGEN initializer and is passed in the info file.

- The function name for the `-name` option of `rcc` gets computed
  once in the AUTOGEN initializer and is passed along with the
  other `rcc` options in the info file.
2017-09-07 17:53:19 +02:00
Sebastian Holtermann
d1e5eb8497 Autogen: Iterate source files only once
This is a large commit that serves multiple purposes

- Iterate source files only once and store all extracted
  information in a cmQtAutogenDigest class that can be reused.
  This is brings speed improvements because several properties
  are only evaluated once. More that that it helps to avoid
  duplication of code with non trivial files property checks.
- Fix the Visual Studio generator to use PRE_BUILD when possible.
- Convert `for( ... )` loops to C++11 range base loops where possible
  (cmQtAutogen*.cxx only).
- String concatenation optimizations.
2017-09-07 17:53:18 +02:00
Brad King
10a3835cbd Merge topic 'FindBoost-limit-configs'
e6159e18 FindBoost: Add option to prevent finding DEBUG/RELEASE Boost-libs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1216
2017-09-07 11:23:00 -04:00
Brad King
14ea80ab0c Merge topic 'findexpat-importedtargets'
3a4f82e9 Help: Add notes for topic 'FindEXPAT-importedtargets'
bfe51369 FindEXPAT: Add unit test of target and variables
78f166f8 FindEXPAT: Add imported target and documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1207
2017-09-07 11:22:26 -04:00
Brad King
67a840b3c8 Merge topic 'irsl-vs15-future'
6dd0a593 Merge branch 'backport-irsl-vs15-future' into irsl-vs15-future
1dd2c08b InstallRequiredSystemLibraries: Add support for future VS 2017 toolchains

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Christian Pfeiffer <cpfeiffer@live.de>
Merge-request: !1240
2017-09-07 11:17:33 -04:00
Roger Leigh
dbba53a5aa FindBoost: Add version 1.65.1 2017-09-06 21:11:47 +01:00
Brad King
05294a0916 Merge topic 'msvc2015-cxx17'
227e3535 MSVC: Extend C++ language standard support to Visual Studio 2015 Update 3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1227
2017-09-06 13:25:48 -04:00
Deniz Bahadir
e6159e1842 FindBoost: Add option to prevent finding DEBUG/RELEASE Boost-libs
With the use of options `Boost_USE_DEBUG_LIBS` and
`Boost_USE_RELEASE_LIBS` it is now possible to skip searching for either
DEBUG or RELEASE Boost libraries.
This is useful if Boost is installed on the system in multiple
directories but only one of them should be used which only contains e.g.
the RELEASE libraries. Without this change the DEBUG libraries might be
found in the other directory which might not be desired at all.
2017-09-06 17:58:45 +02:00
Brad King
6dd0a593d9 Merge branch 'backport-irsl-vs15-future' into irsl-vs15-future 2017-09-06 11:37:30 -04:00
Brad King
1dd2c08b19 InstallRequiredSystemLibraries: Add support for future VS 2017 toolchains
Assume that all cl 19.xx versions will use the same runtime DLL pattern.

Suggested-by: Tomasz Słodkowicz <slodki@users.noreply.github.com>
2017-09-06 11:36:47 -04:00
Brad King
ff0847b2d5 Merge topic 'FindBoost-fix-policy-scope'
ade45fa3 FindBoost: Revert "Simplify search in lists."

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1238
2017-09-06 10:47:49 -04:00
Brad King
e4a78435c1 Merge topic 'findopenmp-found'
91fbda82 FindOpenMP: Restore OpenMP_FOUND result variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1233
2017-09-06 10:47:31 -04:00
Brad King
faacd46d39 Merge topic 'android-ndk-r16'
5a1a1177 Android: Update for NDK r16

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Daniel Seither <d@fdseither.de>
Merge-request: !1237
2017-09-06 10:46:38 -04:00
Brad King
932ba44f07 Merge topic 'csharp_fix_initial_flags'
a3388900 VS: Initialize CSharp flags consistently

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1232
2017-09-06 10:46:11 -04:00
Yves Frederix
91935d9e54 FPHSA: lower-case for cmake_parse_arguments + move config-mode related code 2017-09-05 21:20:04 +02:00
Yves Frederix
aec27c152e FPHSA: use more localized _FOUND_VERSION instead of VERSION.
This fixes the failing unit tests in which a cache variable VERSION is present or the found version is 0.
2017-09-05 21:20:02 +02:00
Brad King
ade45fa342 FindBoost: Revert "Simplify search in lists."
Revert commit v3.9.0-rc1~41^2 (FindBoost: Simplify search in lists,
2017-04-23).  It regressed the module by exposing issue #17257, but the
fix for that issue is not suitable for inclusion in a patch release.
It is simplest to revert the commit until the larger problem can be
addressed.

Fixes: #17252
2017-09-05 14:04:51 -04:00
Brad King
5a1a1177bf Android: Update for NDK r16
Since NDK commit 90ec78ffd96b87cd75d82575587ead14d6494df1 (Remove Clang
toolchain path from setup.mk, 2017-05-31) the `setup.mk` files for Clang
no longer hold the path to the `toolchains/llvm` directory.  It has been
the same since NDK r11, so use that as the default.

Fixes: #17253
2017-09-05 12:52:09 -04:00
Michael Stürmer
a3388900f8 VS: Initialize CSharp flags consistently
Use the same environment variable for the initial flags that we
use for the compiler id.

Fixes: #17250
2017-09-05 09:58:43 -04:00
Christian Pfeiffer
91fbda8247 FindOpenMP: Restore OpenMP_FOUND result variable
The overhaul in commit v3.9.0-rc1~207^2~1 (FindOpenMP: Complete
overhaul, 2017-04-24) documented this variable but accidentally left it
unset.

Fixes: #17251
2017-09-05 09:54:48 -04:00
Brad King
20e5f7a9c9 Merge topic 'ExternalProject-command'
15617484 ExternalProject: Prevent COMMAND from being treated as a true keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1178
2017-09-05 09:31:06 -04:00
Craig Scott
1561748496 ExternalProject: Prevent COMMAND from being treated as a true keyword
The known keywords for each function are obtained by scraping the
documentation for lines matching a particular regular expression. In
commit 8842a027 (ExternalProject: Improve documentation, 2017-07-09),
the docs were overhauled and the COMMAND docs subsequently matched the
regular expression when they shouldn't have. This made COMMAND appear as
a true keyword, which thwarted the special handling logic elsewhere for
the intended use of COMMAND arguments.

This commit contains a workaround for issue #17229 to force a dependency
of the patch step on the update step to ensure a predictable step order.

Fixes: #17198
2017-09-02 17:53:16 +10:00
Nils Gladitz
227e353595 MSVC: Extend C++ language standard support to Visual Studio 2015 Update 3 2017-09-01 23:33:12 +02:00
Jean-Christophe Fillion-Robin
2645cb6208 FindPatch: Add module to find 'patch' command-line tool 2017-09-01 11:46:28 -04:00
Ben Morgan
78f166f873 FindEXPAT: Add imported target and documentation 2017-09-01 16:02:46 +01:00
Brad King
900f75868c Merge topic 'flang'
d8e03e9b FindOpenMP: Add Flang flag.
2f3a07a9 Flang: Add support for flang Fortran compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1141
2017-09-01 10:33:15 -04:00
Brad King
9a509099f7 Merge topic 'FindThreads-cross-compile-no-try_run'
d4e551a9 FindThreads: Drop try_run to improve cross-compiling support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1109
2017-09-01 10:21:23 -04:00
Tin Huynh
d8e03e9ba6 FindOpenMP: Add Flang flag. 2017-08-31 15:27:18 -04:00
Tin Huynh
2f3a07a981 Flang: Add support for flang Fortran compiler
flang is a Fortran compiler built on top of clang [1].  Because flang
shares a lot of commonalities with clang, the flang module piggybacks
off the clang module and overrides certain options.

Add flang to Fortran compiler auto find list.

Update flang preprocessor macros to differentiate from PGI.

Add Flang-FindBinUtils.

[1] https://github.com/flang-compiler/flang
2017-08-31 15:24:59 -04:00
Brad King
425bb1a66a Merge topic 'irsl-intel'
fd4406f3 IRSL: Add Intel compiler support
8444252f IRSL: Install VC++ OpenMP libraries only for MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Pelle <pbregener@gmail.com>
Merge-request: !1121
2017-08-31 10:09:42 -04:00
Christian Pfeiffer
fd4406f33e IRSL: Add Intel compiler support
Fixes: #16891
Fixes: #9903
2017-08-30 19:24:59 +02:00
Steffen Dettmer
d4e551a90b FindThreads: Drop try_run to improve cross-compiling support
Use `try_compile` instead of `try_run`.  It is not clear why `try_run`
was ever needed, and it does not work during cross-compiling.

Update the check's source file to remove code associated with actually
running things.  Also remove the ancient `__CLASSIC_C__` code path and
use a simple `int main(void)` as in `Modules/CheckIncludeFile.c.in`.

Fixes: #16920
2017-08-30 11:15:26 -04:00
Brad King
0ea6aee890 Merge topic 'gettext-windows'
fb3a608f FindGettext: fix support for MS Windows gettext binaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1192
2017-08-30 10:42:31 -04:00
Tomasz Słodkowicz
cf78bf6812 FindwxWidgets: Add support for Windows XP compatible buils
Microsoft has dedicated toolset versions for XP compatible binaries
(v110 vs. v110_xp, v141 vs. v141_xp) and CMake doesn't find wxWidgets
compiled with _xp tools. This patch adds _xp to directories searched
for wxWin libraries.
2017-08-30 10:31:02 -04:00
Tomasz Słodkowicz
fb3a608f1a FindGettext: fix support for MS Windows gettext binaries
Sometimes it uses filename with .exe extension so try to match
filename with and without extension.
2017-08-30 10:29:38 -04:00
Brad King
55e281c3b7 Merge topic 'cpackifw-repositories-directories'
5fe64511 CPackIFW: Add CPACK_IFW_REPOSITORIES_DIRECTORIES variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1150
2017-08-28 09:53:10 -04:00
Brad King
39889d778e Merge topic 'FindQt4-do-not-assume-all-libraries-are-frameworks'
33161f48 FindQt4: Do not assume all libraries are frameworks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1169
2017-08-28 09:52:27 -04:00
Albert Ziegenhagel
f362052b81 GNUToMS: Tolerate existence of a %USERPROFILE%/source directory
The VS environment script we load changes the working directory to
`%USERPROFILE%/source` if it exists.  Set `VSCMD_START_DIR` to tell
the script to retain the current working directory.
2017-08-25 14:24:24 -04:00
Brad King
a749fcb3d0 Merge topic 'modernize-git-whitespace-attributes'
8ed03baa gitattributes: prefer `eol=crlf` to `-crlf`
40470031 MumpsCoverage: remove unnecessary attribute
d20485d8 gitattributes: prefer `eol=lf` to `crlf=input`
b85c2589 gitattributes: prefer `-text` for binary files
377f3685 gitattributes: remove unused attributes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1173
2017-08-25 11:04:05 -04:00
Brad King
229c37a54b Merge topic 'ninja-cl-intl'
de9840d1 Ninja: Fix support for MSVC with non-English output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1179
2017-08-24 09:35:01 -04:00
Brad King
65ca67cef1 Merge topic 'boost-1.65'
fa114e7d FindBoost: Add Boost 1.65 dependencies
e66e8e89 BoostScanDeps: Special case python and numpy and variants

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1172
2017-08-24 09:34:22 -04:00
Brad King
94299c496d Merge topic 'ninja-gfortran-fpreprocessed'
90a34ff7 Ninja: Fix references to source files in gfortran diagnostics

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1146
2017-08-24 09:33:55 -04:00
Raul Laasner
90a34ff791 Ninja: Fix references to source files in gfortran diagnostics
The Ninja generator preprocesses and compiles separately for Fortran.
When compiling, tell gfortran that the source is already preprocessed so
that it will honor the `# <line>` directives when producing diagnostics
messages.

Fixes: #17160
2017-08-23 15:32:44 -04:00
Ben Boeckel
8ed03baa76 gitattributes: prefer eol=crlf to -crlf
The `crlf` attribute is deprecated in Git. This also changes the given
files to be in the index using LF newlines, but they will be checked
out with CRLF newlines due to the attribute.
2017-08-23 13:31:41 -04:00
Christian Pfeiffer
8444252fbf IRSL: Install VC++ OpenMP libraries only for MSVC
At the moment, the Visual C++ OpenMP libraries will be installed for all
compilers simulating MSVC. They should however only be provided if we're
dealing with actual MSVC.
2017-08-23 18:49:37 +02:00
Brad King
de9840d1b8 Ninja: Fix support for MSVC with non-English output
With MSVC the Ninja generator extracts the `cl -showIncludes` prefix.
When MSVC is configured to have non-English output, e.g. via
`VSLANG=2052` in the environment, then `cl` prints the prefix encoded
for the current code page, which is not necessarily UTF-8 encoding.
Currently we fail to convert the prefix to our internal UTF-8 encoding,
but assume it is UTF-8 later.

While writing `rules.ninja`, the Ninja generator converts our internal
UTF-8 encoding to the current code page.  The `msvc_deps_prefix =` line
needs to be encoded as the current code page so that `ninja` can match
in the output from `cl -showIncludes` during the build.

Prior to commit v3.9.0-rc1~47^2 (codecvt: Re-implement do_out and
do_unshift, 2017-05-25), the non-UTF-8 prefix extracted above was
written without noticing its incorrect internal encoding.  The
`rules.ninja` file was successfully written, but possibly with a mangled
`msvc_deps_prefix`.  Since that commit the output stream correctly
rejects the non-UTF-8 byte sequence and writing `rules.ninja` fails.

Fix this by correctly converting the `cl -showIncludes` output from the
current code page to our internal UTF-8 encoding.

Fixes: #17191
2017-08-23 11:10:41 -04:00