Commit Graph

5931 Commits

Author SHA1 Message Date
Brad King 1763f04281 Merge topic 'test-WriteBasicConfigVersionFile'
f3a381115f Tests: Simplify RunCMake.WriteBasicConfigVersionFile
0dbcc1afbf Tests: Factor out RunCMake.WriteBasicConfigVersionFile test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2612
2018-11-15 10:41:07 -05:00
Brad King 20aab1a4e7 Merge topic 'configure_file-canonical-deps'
6199637e95 configure_file: canonicalize input and output path in dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2586
2018-11-15 10:40:33 -05:00
Brad King 59fc717c25 Merge topic 'deprecate-findqt'
0f5c1b404b find_package(): Add policy to remove the FindQt module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: noo mook <noomook2519@gmail.com>
Merge-request: !2554
2018-11-15 10:39:55 -05:00
Brad King 64df9ef33a Merge topic 'autogen_info_write'
e0c26406aa Autogen: Sort tests
83bbfb1d53 Autogen: Add a definitions test to the MocOnly test
01d5e5c460 Autogen: Add and use cmQtAutoGenInitializer::InfoWriter class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2610
2018-11-15 08:38:12 -05:00
Kyle Edwards 0f5c1b404b find_package(): Add policy to remove the FindQt module
Removing FindQt.cmake gives Qt upstream a path forward to export its
own QtConfig.cmake files which can be found by find_package()
without having to explicitly specify CONFIG. Projects that still
want to use Qt3/4 can call find_package(Qt[34]), include(FindQt),
or add FindQt.cmake to their CMAKE_MODULE_PATH.
2018-11-14 15:05:06 -05:00
Sebastian Holtermann e0c26406aa Autogen: Sort tests 2018-11-14 19:21:03 +01:00
Sebastian Holtermann 83bbfb1d53 Autogen: Add a definitions test to the MocOnly test 2018-11-14 19:21:03 +01:00
Brad King ca355d92d8 Tests: Add option for custom RunCMake.XcodeProject timeout
The test has many cases and can take a long time on busy machines.
2018-11-14 11:50:36 -05:00
Brad King f3a381115f Tests: Simplify RunCMake.WriteBasicConfigVersionFile 2018-11-14 10:46:39 -05:00
Brad King 0dbcc1afbf Tests: Factor out RunCMake.WriteBasicConfigVersionFile test
The `WriteBasicConfigVersionFile` section of the `FindPackageTest`
is independent of the rest.
2018-11-14 10:46:08 -05:00
Brad King 117272412e Merge topic 'GNUInstallDirs-FreeBSD-info'
f835f189ae GNUInstallDirs: Update FreeBSD "info" destination to share/info
4c0d97dd98 GNUInstallDirs: Split "info" and "man" default logic
1b8f0ca515 Tests: Split GNUInstallDirs expectations for FreeBSD

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !2588
2018-11-14 08:59:19 -05:00
Frank Benkstein 6199637e95 configure_file: canonicalize input and output path in dependencies
Represent the input file path internally in canonical form.  Otherwise
multiple `configure_file` calls that share the same input file but specify
it relative to different directories (e.g. via `../`) result in multiple
copies of the dependency on the rule to re-run CMake.  This causes the
Ninja generator to emit duplicate phony build statements for these
dependencies, which generates an error with `-w dupbuild=err`, which
will be default in Ninja 1.9.

Also canonicalize the output path for consistency.

Add a test case.

Fixes: #18584
2018-11-13 15:01:17 -05:00
Tobias C. Berner f835f189ae GNUInstallDirs: Update FreeBSD "info" destination to share/info
FreeBSD ports commit r484628 (Install texinfo files (GNU info) into
${PREFIX}/share/info, 2018-11-10) changed the "info" destination
from "info" to "share/info".  The commit included a patch to their
distribution of CMake to fix the `GNUInstallDirs` module too.
Apply a similar logic change to our upstream version of the module.

We already made a similar change for GNU/kFreeBSD in commit
v3.13.0-rc2~8^2 (GNUInstallDirs: Don't use BSD info and man paths on
GNU/kFreeBSD, 2018-10-21).

Fixes: #18585
2018-11-13 13:35:50 -05:00
Brad King 1b8f0ca515 Tests: Split GNUInstallDirs expectations for FreeBSD 2018-11-13 13:35:19 -05:00
Brad King 71e77972c1 Merge topic 'if_support_checking_if_cache_var_defined'
1222f02e34 If: Support the 'DEFINED CACHE{}' syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2561
2018-11-13 10:29:36 -05:00
Craig Scott ddb967cca1 Merge topic 'pie-link-options'
c4b4d8b3a6 POSITION_INDEPENDENT_CODE: Manage link flags for executables
724a0346f7 POSITION_INDEPENDENT_CODE: Fix erroneous '-fPIE' flag for Sun Studio
023188ffb4 INTERFACE_POSITION_INDEPENDENT_CODE: add generator expressions support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2465
2018-11-12 15:43:07 -05:00
Marc Chevrier c4b4d8b3a6 POSITION_INDEPENDENT_CODE: Manage link flags for executables
Fixes: #14983, #16561
2018-11-11 17:34:09 +01:00
Sebastian Holtermann 8c8731b422 Autogen: Add test for CMAKE_GLOBAL_AUTOGEN/RCC_TARGET 2018-11-11 14:29:38 +01:00
Robert Maynard 1222f02e34 If: Support the 'DEFINED CACHE{}' syntax 2018-11-09 10:38:07 -05:00
Robert Maynard eba7273c20 cpack: Better error message when generator doesn't exist.
Currently the CPack error message when passed an invalid generator
name  reads like the generator failed to work, rather than the
name was invalid.
2018-11-08 09:32:18 -05:00
Marc Chevrier 023188ffb4 INTERFACE_POSITION_INDEPENDENT_CODE: add generator expressions support
Fixes: #16532
2018-11-08 14:58:57 +01:00
Brad King 17e98e00c4 Merge topic 'install-defaults'
fdcd559a8e Help: Add documentation and release notes for install
9fc20a4f3e install: Add sane set of defaults for DESTINATION and file type parameters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Acked-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
Merge-request: !2558
2018-11-08 07:33:18 -05:00
Brad King a848abe24c Merge topic 'find-jpeg-turbo-multiarch-version'
1c4c4be509 FindJPEG: handle multiarch installs of libjpeg-turbo

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2572
2018-11-08 07:30:51 -05:00
Kyle Edwards 9fc20a4f3e install: Add sane set of defaults for DESTINATION and file type parameters
If the user does not specify a DESTINATION for a target type, the
install() command checks to see if the appropriate variable from
GNUInstallDirs is set. If it is not, then it uses an appropriate
hard-coded guess.

In addition, for FILES and DIRECTORY, the user can specify a file
type instead of a DESTINATION, and the command will use the
appropriate variable from GNUInstallDirs, or a hard-coded guess if
it is not set.
2018-11-07 14:08:48 -05:00
Brad King cf78a7df95 Merge topic 'fix-double-warn-uninitialized-in-script-mode'
53a5aec899 CMP0053: Fix double warning on uninitialized variables in -P mode
f92f93467e cmMakefile: Rename SuppressWatches to SuppressSideEffects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2565
2018-11-07 07:28:02 -05:00
Brad King 389002de96 Merge topic 'FindSQLite3-module'
fe40570608 FindSQLite3: Add module to find SQLite3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2557
2018-11-07 07:26:46 -05:00
Ben Boeckel 1c4c4be509 FindJPEG: handle multiarch installs of libjpeg-turbo
Fedora installs a `jconfig-32.h` and `jconfig-64.h` which were not
searched. Instead, glob up all `jconfig` headers and bail once we've
found a version number.
2018-11-06 16:45:52 -05:00
Chuck Atkins fe40570608 FindSQLite3: Add module to find SQLite3 2018-11-06 15:05:04 -05:00
Brad King bfdd1ba604 Merge topic 'FindPostgreSQL-target'
575e2cc35d FindPostgreSQL: extract the actual version number
7413f29fe6 Tests/FindPostgreSQL: add a test for FindPostgreSQL
d2235fd253 FindPostgreSQL: add an imported target
7a801b7dfb FindPostgreSQL: Modernize documentation layout

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2555
2018-11-06 11:40:16 -05:00
Brad King 7bed050755 Merge topic 'autogen_origin_depends'
47f9c15c60 Autogen: Update <ORIGIN>_autogen target documentation
336893d9eb Autogen: Separate AUTOGEN_TARGET_DEPENDS tests into own tests suite
846043dd35 Autogen: Rename MocDepends test to AutogenOriginDependsOn
b71a9598a4 Autogen: Add test for AUTOGEN_ORIGIN_DEPENDS=OFF
f74c406501 Autogen: Add (CMAKE_)AUTOGEN_ORIGIN_DEPENDS release notes
0669de5d36 Autogen: Add (CMAKE_)AUTOGEN_ORIGIN_DEPENDS documentation
b5e895b5d4 Autogen: Add (CMAKE_)AUTOGEN_ORIGIN_DEPENDS support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2518
2018-11-06 11:38:23 -05:00
Brad King 1674a5b0a4 Merge topic 'rename-cpack-ext-generator'
20d5e77a27 CPack: Rename Ext generator to External

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2566
2018-11-06 11:30:27 -05:00
R2RT 53a5aec899 CMP0053: Fix double warning on uninitialized variables in -P mode
When `CMP0053` is not set to OLD or NEW then we compute both variants
in case we need to warn about a behavior change.  Do not allow both
code paths to produce an uninitialized variable warning.

Fixes: #18552
2018-11-05 08:31:09 -05:00
Sebastian Holtermann 336893d9eb Autogen: Separate AUTOGEN_TARGET_DEPENDS tests into own tests suite
The tests for AUTOGEN_TARGET_DEPENDS were part of the
AutogenOriginDependsOn tests suite.  This separates them
into an own AutogenTargetDepends tests suite.
2018-11-05 14:03:01 +01:00
Craig Scott 20d5e77a27 CPack: Rename Ext generator to External
Ext and External were used inconsistently in the code and the
docs. This change converts all uses of Ext to External, including
within variable names used by the generator.
2018-11-05 07:56:03 -05:00
Brad King 259292ebcc Merge topic 'custom-command-work-dir-genex'
98d59417b0 add_custom_{command,target}: Fix WORKING_DIRECTORY leading genex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2559
2018-11-05 07:42:47 -05:00
Brad King 98d59417b0 add_custom_{command,target}: Fix WORKING_DIRECTORY leading genex
Since commit v3.13.0-rc1~39^2 (add_custom_{command,target}:
WORKING_DIRECTORY generator expressions, 2018-09-22) the
`WORKING_DIRECTORY` option accepts generator expressions.
Fix support for the case of a leading generator expression
by deferring conversion to an absolute path until after
evaluation of the generator expression.

Fixes: #18543
2018-11-03 08:39:45 -04:00
Sebastian Holtermann 846043dd35 Autogen: Rename MocDepends test to AutogenOriginDependsOn 2018-11-03 12:14:40 +01:00
Sebastian Holtermann b71a9598a4 Autogen: Add test for AUTOGEN_ORIGIN_DEPENDS=OFF 2018-11-03 12:14:40 +01:00
Brad King bdc5618e18 Merge topic 'FindGDAL-target'
22ba9b6a32 FindGDAL: set the GDAL_VERSION
525ff0c3bc Tests/FindGDAL: add a test for FindGDAL
87324b9b6a FindGDAL: add an imported target
dfb3f58f79 FindGDAL: Modernize documentation layout

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2552
2018-11-02 07:57:54 -04:00
Brad King 9578c3f0d1 Merge topic 'check-keywords-only-if-used'
4babc9058a cmTargetPropCommandBase: check keywords after parsing
45a49ae58a cmTargetPropCommandBase: simplify code path
9f64974f5e cmTargetPropCommandBase: skip property setting if there's nothing to add
4201a11c2b Tests: add tests for empty-value keyword arguments in target_*

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2514
2018-11-02 07:55:14 -04:00
Ben Boeckel 7413f29fe6 Tests/FindPostgreSQL: add a test for FindPostgreSQL 2018-11-01 13:23:38 -04:00
Ben Boeckel 22ba9b6a32 FindGDAL: set the GDAL_VERSION 2018-11-01 13:16:37 -04:00
Ben Boeckel 525ff0c3bc Tests/FindGDAL: add a test for FindGDAL 2018-11-01 13:16:37 -04:00
Brad King d955b4f753 Merge topic 'fix-custom-target-with-csharp'
9040df31e2 Merge branch 'backport-fix-custom-target-with-csharp'
1acd1c2b50 CSharp: Fix regression in VS project type selection for custom target
a56edad6d6 CSharp: Fix regression in VS project type selection for custom target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2549
2018-11-01 07:36:39 -04:00
Brad King a56edad6d6 CSharp: Fix regression in VS project type selection for custom target
A target created by `add_custom_target` should always be a `.vcxproj`
file even if it has `.cs` sources involved in custom commands and such.
The latter case was broken by refactoring in commit v3.12.0-rc1~160^2~7
(remove TargetIsCSharpOnly() and use methods from cmGeneratorTarget,
2018-03-19).  The reason is that the `HasLanguage` method added by
commit v3.12.0-rc1~239^2~6 (cmGeneratorTarget: add HasLanguage() as
wrapper for GetLanguages(), 2018-03-19) does not check the target type
and so is not a suitable check for deciding the project file extension.

The `HasLanguage` method was an attempt at an abstraction that turns
out not to work very well.  Replace it with a dedicated `IsCSharpOnly`
method that considers the target type, sources, and non-transitive
`LINKER_LANGUAGE`.

Fixes: #18515
2018-10-31 09:13:19 -04:00
Brad King 87dfd53b27 Merge topic 'set_directory_properties-script-mode'
50572d638b set_directory_properties: Restore in script mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2544
2018-10-30 11:01:36 -04:00
Brad King b8f5eca5e2 Merge topic 'FindMatlab-2018a-API'
42731e94be FindMatlab: Fix linker command under Windows.
ee73e733e4 FindMatlab: Fix compilation error in one specific test configuration.
160499296c FindMatlab: added unit tests for new functionality.
ee7e97a7d3 FindMatlab: add change log item.
d7e19032d5 FindMatlab: `matlab_add_mex` has new options `R2017b` and `R2018a`.
518553d953 FindMatlab: Always find core libraries.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2508
2018-10-30 10:55:52 -04:00
Brad King 50572d638b set_directory_properties: Restore in script mode
Since commit v3.10.0-rc1~391^2~3 (Add directory property 'LABELS' and
CMAKE_DIRECTORY_LABELS variable, 2017-06-23) this command was
accidentally not allowed in script mode.  It was dropped because
`ctest -S` mode needs to start with CMake's normal script mode and
then replace the `set_directory_properties` implementation.  Restore
the normal `set_directory_properties` in script mode and then add
special logic to replace it in ctest.  Also add a test case.

Fixes: #18523
2018-10-29 11:37:32 -04:00
Brad King d6b7c037b2 Merge topic 'ExternalProject-log-patch'
a4e9391953 ExternalProject: add LOG_PATCH option to log the patch command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2534
2018-10-29 09:57:17 -04:00
Brad King 4eb77958d2 Merge topic 'minusCparse'
379e5f93a9 Tests: Add cases for -{C,D,U} without a source tree
5873815fef cmake: distinguish '-Cpath' from '-C path' in source dir parsing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2517
2018-10-29 09:29:34 -04:00