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
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.
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
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
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
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.
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.
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
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
The tests for AUTOGEN_TARGET_DEPENDS were part of the
AutogenOriginDependsOn tests suite. This separates them
into an own AutogenTargetDepends tests suite.
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.
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
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
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
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
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
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