Commit Graph

3678 Commits

Author SHA1 Message Date
Raffi Enficiaud
75b0e1679c CPackDeb: Add basic package tests
Tests of generated component based deb packages with lintian and dpkg.
Also includes basic file name check.
2015-04-23 09:03:10 -04:00
Brad King
6189cdda79 Merge topic 'ExternalProject-depend-INTERFACE'
e1c6df39 ExternalProject: Allow dependencies on INTERFACE libraries
c0502faa ExternalProject: Fix error message typo
2015-04-22 11:16:45 -04:00
Brad King
1468f31988 Merge topic 'ExternalProject-genex'
b470d618 Help: Add notes for topic 'ExternalProject-genex'
0273ef14 ExternalProject: Allow generator expressions with LOG_* options (#15287)
7bd8cfb8 ExternalProject: Allow generator expressions in initial cache options
1cf43dcf Tests: Add case to cover ExternalProject with subdirectories
2015-04-22 11:16:43 -04:00
Brad King
8f95392879 Merge topic 'fix-CTestTestSerialOrder-parallel-env'
2f4b13b3 Tests: Protect CTestTestSerialOrder from environment (#15524)
2015-04-22 11:16:40 -04:00
Brad King
e1c6df392b ExternalProject: Allow dependencies on INTERFACE libraries
Respect INTERFACE library property whitelist.  Check that a target has
type "UTILITY" before querying other properties.
2015-04-22 08:48:52 -04:00
Brad King
2f4b13b32d Tests: Protect CTestTestSerialOrder from environment (#15524)
Reported-by: Stephen Kelly <steveire@gmail.com>
2015-04-21 11:47:42 -04:00
Andrey Pokrovskiy
0273ef1469 ExternalProject: Allow generator expressions with LOG_* options (#15287)
Use file(GENERATE) to write the logging wrapper scripts to evaluate
generator expressions.  Use a per-config script names in case the
content varies by configuration.
2015-04-21 10:51:08 -04:00
Andrey Pokrovskiy
7bd8cfb813 ExternalProject: Allow generator expressions in initial cache options
Use file(GENERATE) to write the initial cache file so that we can
evaluate generator expressions.  Use a per-config initial cache file
name in case the content varies by configuration.
2015-04-21 10:50:29 -04:00
Brad King
1cf43dcf7c Tests: Add case to cover ExternalProject with subdirectories
Add an ExternalProjectSubdir test directory with a minimal test showing
use of ExternalProject_Add for a source tree in a subdirectory.  This
will allow us to easily add test external projects that cover specific
behavior where the client project must check results.
2015-04-21 10:40:52 -04:00
Brad King
258ba82882 QtAutogen: Process 'rcc --list' stdout and stderr separately (#15523)
The stderr may have warning messages.  We should not treat these lines
as resource files.  However, we must still recognize error message lines
for missing resource files that may be generated.

Extend the QtAutogen test to cover a generated resource as the only one
listed in a .qrc file.  This causes 'rcc --list' to print a warning to
stderr that we now intend to ignore.
2015-04-21 09:33:19 -04:00
Brad King
b2289ff654 Merge topic 'cmSystemTools-RunSingleCommand-stderr'
356c26eb cmSystemTools: Teach RunSingleCommand to separate stdout and stderr
2015-04-21 08:45:01 -04:00
Brad King
50eefbb7e3 Merge topic 'cpack-rpm-refactored-file-listing'
cd953bf7 Help: Add notes for topic 'cpack-rpm-refactored-file-listing'
76080c32 CPackRPM content listing refactor
152e9b32 CPackRPM package content list code move
2015-04-21 08:44:57 -04:00
Brad King
3961ccb972 Merge topic 'ExternalProject-test-refactor'
28429270 Tests: Delay RunCMake.ExternalProject case checks
2015-04-21 08:44:54 -04:00
Stephen Kelly
fcf9cf6cd8 Tests: Make a CTest test deterministic.
The test expect sub-test not to run in parallel.
2015-04-21 00:31:02 +02:00
Brad King
356c26ebdf cmSystemTools: Teach RunSingleCommand to separate stdout and stderr
Extend the RunSingleCommand signature to capture stdout and stderr
separately.  Allow both to be captured to the same std::string
to preserve existing behavior.  Update all call sites to do this
so that this refactoring does not introduce functional changes.
2015-04-20 15:47:50 -04:00
Brad King
5e0e65c189 Merge topic 'add-GreenHills-MULTI-generator'
66b641f4 Help: Add notes for topic 'add-GreenHills-MULTI-generator'
48004d9d Add a 'Green Hills MULTI' generator on Windows
051d8be1 cmLocalGenerator: Constify some cmTarget and cmGeneratorTarget arguments
2015-04-20 14:02:52 -04:00
Brad King
da65528c36 Merge topic 'stable-xcode-projects'
6693590f Xcode: Refine quoting rules for Strings
a6331eb8 Xcode: Let PrintComment decide if the comment is non-empty
6e8952c1 Xcode: PrintComment will prepend a whitespace itself before the comment
4bd2544b Xcode: Do not add whitespace after attribute group opening brace
5cb4c838 Xcode: Properly indent PBXFileReference and PBXBuildFile
a723427b Xcode: Remove extra space in PBXProject comment
2fe8bca5 Xcode: Add comment after root object
2e0e205e Xcode: Indent using tabs
7b68c8df Xcode: Sort Xcode objects by Id
2015-04-20 14:02:48 -04:00
Geoff Viola
48004d9dbe Add a 'Green Hills MULTI' generator on Windows
Green Hills MULTI is an IDE for embedded real-time systems.  The IDE's
product page can be found here:

 http://www.ghs.com/products/MULTI_IDE.html

It supports cross compiling on ARM, Intel x86, and other architectures
with various operating systems.  The IDE exists on Linux and Windows
host systems, but CMake will currently only generate the project files
on Windows host systems.
2015-04-20 13:55:40 -04:00
Brad King
2842927019 Tests: Delay RunCMake.ExternalProject case checks
Use RunCMake "-check.cmake" scripts to check the generated initial cache
file content so that the full generation process is completed.
2015-04-20 10:27:19 -04:00
Domen Vrankar
76080c32e1 CPackRPM content listing refactor
Refactoring of content list that removes
use of find and sed to make listing algorithm
more clear and remove external dependencies.
Patch also limits man pages handling to
locations listed in brp-compress rpm script
by default - fixes bug report #14660.
2015-04-19 18:22:18 +02:00
Gregor Jasny
6693590f81 Xcode: Refine quoting rules for Strings
$ and . do not need to be quoted, but brackets and * must be to
not confuse the Xcode parser.
2015-04-17 21:50:05 +02:00
Brad King
9efee16a7a Merge topic 'ninja-autogen'
e8fdd5f1 QtAutogen: Workaround rcc CRCRLF newlines on Windows (#15459)
15f1a6b4 Tests/QtAutogen: Avoid touching files in the source tree
3f7c7c65 Tests/QtAutogen: Help Qt5Autogen test find Qt5 on Windows
26b5cc5e Tests/QtAutogen: Enable per-config source tests when possible
45566408 Tests/QtAutogen: Require CMake 3.1 to set policies everywhere
2015-04-17 10:50:13 -04:00
Brad King
f4e5a0e6aa Merge topic 'FPHSA-updates'
84f06d0c FPHSA: Document REQUIRED_VARS recommendation (#15352)
a3ad275c FPHSA: Revise and format documentation
d1a6d15b FPHSA: Always populate the ExactCase_FOUND variable (#15412).
2015-04-17 10:50:10 -04:00
Stephen Kelly
d1a6d15bcd FPHSA: Always populate the ExactCase_FOUND variable (#15412).
The UPPERCASE name was inconsistent with config-packages, the
find_dependency macro, and even FPHSA itself, which expects
components to be specified with names matching ExactCase.

The FOUND_VAR was only permitted to have two possible values, and
now both are set for compatibility.  Document it as obsolete, and
adjust the code for the same.  Users of the variable should just
remove it.
2015-04-17 10:46:24 -04:00
Brad King
e8fdd5f12a QtAutogen: Workaround rcc CRCRLF newlines on Windows (#15459)
The 'rcc --list' operation may print newlines of the form CRCRLF,
so strip any trailing CR characters found on each line.

Update the Tests/QtAutogen test to use a resource named in a
subdirectory.  This causes 'rcc --list' to display a blank line
and tests that it is correctly filtered out.
2015-04-16 15:10:40 -04:00
Brad King
15f1a6b499 Tests/QtAutogen: Avoid touching files in the source tree 2015-04-16 15:06:32 -04:00
Brad King
3f7c7c6596 Tests/QtAutogen: Help Qt5Autogen test find Qt5 on Windows
Set CMAKE_PREFIX_PATH to tell find_package(Qt5) where to look.
2015-04-16 15:06:31 -04:00
Brad King
26b5cc5e79 Tests/QtAutogen: Enable per-config source tests when possible
Pass CMAKE_BUILD_TYPE into the test on generators that use it so that
the per-config part of the test can activate as needed.  Do not make the
per-config part conditional on the Debug configuration because the
generator expressions evaluate to empty in other configurations.

Skip the per-config source case with the Ninja generator because it does
not currently work.  cmQtAutoGenerators::InitializeAutogenTarget needs
to know the list of source files on a target, but generator expressions
in the list cannot be evaluated until after CreateGeneratorTargets has
been called.  That cannot happen until after Autogen targets have been
generated.  It is a chicken-and-egg problem.
2015-04-16 15:00:26 -04:00
Brad King
4556640855 Tests/QtAutogen: Require CMake 3.1 to set policies everywhere
We want CMP0020 set in the autorcc_depends test.  Also the test should
now only run when we can support per-config source files.
2015-04-16 14:18:00 -04:00
Brad King
ab033b0789 Merge topic 'vs70-deprecate'
7b8e7c4a Deprecate Visual Studio 7 generator (.NET 2002)
2015-04-16 09:58:48 -04:00
Brad King
5a45497fc1 Merge topic 'vs6-deprecate'
85c2626b Deprecate Visual Studio 6 generator
2015-04-16 09:58:45 -04:00
Brad King
ea394c63aa Merge topic 'test-xl-preprocess-updates'
baef72f2 Tests: Update Preprocess test for XL compiler limitations
2015-04-15 11:46:15 -04:00
Brad King
3ad9fe6329 Merge topic 'FindMatlab-test-timeout'
bb2a42ae Tests: Increasing the stability of the FindMatlab.basic_checks test
2015-04-15 11:46:08 -04:00
Brad King
7b8e7c4ac3 Deprecate Visual Studio 7 generator (.NET 2002)
Update documentation to mark the generator deprecated.  Add a warning at
the end of generation plus an option to turn off the warning.
2015-04-15 09:21:24 -04:00
Brad King
85c2626bab Deprecate Visual Studio 6 generator
Update documentation to mark the generator deprecated.  Add a warning at
the end of generation plus an option to turn off the warning.
2015-04-15 09:08:57 -04:00
Brad King
baef72f2b3 Tests: Update Preprocess test for XL compiler limitations 2015-04-14 11:03:48 -04:00
Brad King
92d6179893 Merge topic 'cmake-cleanups'
07d44d63 cmake: Remove confusing duplication.
ea819b29 cmMakefile: Remove unused method.
6ad86c7f cmMakefile: Remove bad comment.
fca2b542 cmMakefile: Internalize setting of CMakeInstance on Properties.
7bb4e3db cmMakefile: Out-of-line Home directory accessors.
6241253a cmake: Out-of-line Home and Start directory methods.
0ee3ccb3 cmake: Fix variable name bugs.
57dd094e Use vector, not list for cmCommand storage.
6deb43e6 Remove some files which do not need to be in BootstrapCommands.
ecdb1b3b Add some missing includes.
04b307b9 cmake: Simplify CommandExists method.
0f1f324b cmake: Rename oddly named variables.
275185ac cmake: Constify GetCommand method.
c57f086a cmake: Don't lower-case a string needlessly.
23368c9b cmake: Use make_pair instead of Foo::value_type.
14c70b8c cmake: out-of-line try compile state methods.
...
2015-04-13 11:38:20 -04:00
Raffi Enficiaud
bb2a42aeca Tests: Increasing the stability of the FindMatlab.basic_checks test
Increase the timeout to tolerate longer network delays.
2015-04-13 09:36:13 -04:00
Brad King
e0adfe6112 Merge topic 'custom-command-multiple-outputs'
9660a3cc Makefile: Fix multiple custom command outputs with one missing
5c08e255 KWSys SystemTools: Teach Touch with !create to succeed on missing file
2015-04-13 09:06:07 -04:00
Brad King
1862b39868 Merge topic 'cmake-G-print-generators'
588dcb33 cmake: Provide guidance when an invalid -G option is given
2015-04-13 09:05:16 -04:00
Brad King
341b8953b1 Merge topic 'move-command-line-tests'
4e039a9a Tests: Move more command line tests into RunCMake.CommandLine
2015-04-13 09:05:14 -04:00
Brad King
9d1ba6d0f5 Merge topic 'emulator-property'
c9e9c31c Tests: Create pseudo_emulator output dir for Xcode 2.x
2015-04-13 09:05:10 -04:00
Stephen Kelly
6fb306ea3b Test expected value of DEBUG_CONFIGURATIONS global property. 2015-04-12 20:08:46 +02:00
Brad King
9660a3ccea Makefile: Fix multiple custom command outputs with one missing
The use of "cmake -E touch_nocreate" added in commit v3.2.1~4^2
(Makefile: Fix multiple custom command outputs regression, 2015-03-06)
caused builds to fail when one of the outputs is intentionally not
created.  This was fixed by our parent commit by making touch_nocreate
succeed when the file is missing.  Add a test case covering it.

For the Watcom WMake generator, check for the SYMBOLIC source file
property separately on each output.  The mark is needed on outputs that
are not really created to tell 'wmake' not to complain that it is
missing.  The mark is also needed on outputs that are created or 'wmake'
will not consider them out of date when they exist.

Inspired-by: Ben Boeckel <ben.boeckel@kitware.com>
2015-04-10 16:27:42 -04:00
Gerald Combs
588dcb33b7 cmake: Provide guidance when an invalid -G option is given
Print a list of generators if no generator or an invalid one is
supplied.

Signed-off-by: Gerald Combs <gerald@wireshark.org>
2015-04-10 15:14:34 -04:00
Brad King
4e039a9a98 Tests: Move more command line tests into RunCMake.CommandLine
Port most CMakeTestBadCommandLines test cases to RunCMake.CommandLine
and drop the former test.  Add validation of expected results, which was
not done by the old test.
2015-04-10 14:56:41 -04:00
Brad King
c9e9c31c53 Tests: Create pseudo_emulator output dir for Xcode 2.x
Apply the workardound from commit v2.8.2~598 (Create CMakeLibTests
output dir for Xcode, 2009-12-09) to the pseudo_emulator tool.
2015-04-10 12:42:49 -04:00
Nils Gladitz
6c4781baa9 Tests: Consolidate, refactor and extend -E tar tests 2015-04-10 08:32:32 -04:00
Nils Gladitz
d2cc580704 cmake: Teach "-E tar" command a "--format=" option
Allows specifying a libarchive defined archive format currently restricted to
7zip, gnutar, pax, paxr and zip.

The default is "paxr" (pax restricted).
2015-04-10 08:32:31 -04:00
Brad King
1a1bdbfd87 Merge topic 'link-implicit-libs-full-path'
882f48e5 Link libraries by full path even in implicit directories
318cd370 Help: Add link target for Find Modules section of cmake-developer.7
1535dcd8 Tests: Teach RunCMake to optionally merge command output to stdout
2015-04-09 11:32:31 -04:00
Brad King
882f48e5ba Link libraries by full path even in implicit directories
When CMP0003 was first introduced we wanted to link all libraries by
full path.  However, some projects had problems on platforms where
find_library would find /usr/lib/libfoo.so when the project really
wanted to link to /usr/lib/<arch>/libfoo.so and had been working by
accident because pre-CMP0003 behavior used -lfoo to link.

We first tried to address that in commit v2.6.0~440 (Teach find_library
to avoid returning library paths in system directories, 2008-01-23) by
returning just "foo" for libraries in implicit link directories.  This
caused problems for projects expecting find_library to always return a
full path.  We ended up using the solution in commit v2.6.0~366 (...
switch library paths found in implicit link directories to use -l,
2008-01-31).  However, the special case for libraries in implicit link
directories has also proven problematic and confusing.

Introduce policy CMP0060 to switch to linking all libraries by full path
even if they are in implicit link directories.  Explain in the policy
documentation the factors that led to the original approach and now to
this approach.
2015-04-09 11:29:18 -04:00
Brad King
977796e307 Merge topic 'emulator-property'
1975d53a Help: Add notes for topic 'emulator-property'
9160d6c2 TestGenerator: Add CROSSCOMPILING_EMULATOR support.
e942526b try_run: Use CMAKE_CROSSCOMPILING_EMULATOR.
579c4bec Properties: Add CROSSCOMPILING_EMULATOR target property.
2015-04-08 09:07:03 -04:00
Brad King
710968e371 Merge topic 'xcode-quote-path'
dfd6f1f2 Xcode: Also quote strings containing // (#15487)
2015-04-08 09:06:59 -04:00
Matt McCormick
9160d6c241 TestGenerator: Add CROSSCOMPILING_EMULATOR support.
Prefix test commands with the CROSSCOMPILING_EMULATOR property
for target executables. This allows test suites to be run on the host
when crosscompiling.
2015-04-08 09:06:22 -04:00
Matt McCormick
e942526b3d try_run: Use CMAKE_CROSSCOMPILING_EMULATOR.
If the CMAKE_CROSSCOMPILING_EMULATOR variable is defined, and
CMAKE_CROSSCOMPILING is TRUE, then use CMAKE_CROSSCOMPILING_EMULATOR to run
the try_run executables. This prevents the need to populate
TryRunResults.cmake when cross compiling.
2015-04-08 09:06:22 -04:00
Matt McCormick
579c4bec6e Properties: Add CROSSCOMPILING_EMULATOR target property.
Add CROSSCOMPILING_EMULATOR target property for executables. This is used by
subsequent patches to run exectuables created for the target system when
crosscompiling. The property is initialized by the
CMAKE_CROSSCOMPILING_EMULATOR variable when defined.
2015-04-07 13:33:34 -04:00
Brad King
1535dcd894 Tests: Teach RunCMake to optionally merge command output to stdout
Some tests may need to read "cmake --build" output passed through from
native build tools and do not know if it will be on stdout or stderr.
Optionally use the same variable for the execute_process output so
that it merges them and we can always match using expected stdout.
2015-04-07 09:08:39 -04:00
Brad King
ecb1d5b47a Features: VS 2013 Update 3 supports initializer lists (#15494)
VS 2013 originally claimed to support initializer lists but a bug was
found in which it generated bad code silently.  For this reason we
previously considered support to not be present.  However, Update 3 adds
a hard error on cases that previously generated bad code, so it is now
safe to use initializer lists with VS 2013 Update 3 or greater.  At
worst a compiler error will be issued in the cases that do not work, but
that is no different from any other compiler-specific workaround a
project code may need.
2015-04-06 10:06:26 -04:00
Brad King
827309af76 Tests: Fix CompileFeatures cxx_generalized_initializers example
The only reason this failed to compile on VS 2013 was because the
compiler uses different initializer_list constructor argument types than
our dummy implementation.  The standard does not specify the non-default
constructor argument types for initializer_list.  Use a template to
match any two-arg constructor a compiler might select (e.g. begin/end or
begin/len).  Use #error to preserve the error on VS 2013.
2015-04-06 10:05:37 -04:00
Brad King
0e6b00ee49 Merge topic 'cpack-one-component-only'
0ffd3534 CPack single component packaging
2015-04-06 09:11:34 -04:00
Brad King
dfbde6fa99 Merge topic 'gcov-module-coverage-exclude'
9a544f2d CTestCoverageCollectGCOV: Support CTEST_CUSTOM_COVERAGE_EXCLUDE
2015-04-06 08:58:21 -04:00
Brad King
b9c1eb4dcc Merge topic 'makefile-depscan-BOM'
af924827 Makefile: Tolerate a BOM while scanning source dependencies (#15493)
2015-04-06 08:58:17 -04:00
Brad King
9ddbacdb74 Merge topic 'test_cpack_symlinks'
5f686b8a Tests: Add case for CPack source package with symlinks
aca1d93b cpack: Disable CMake Cygwin legacy warning while packaging
2015-04-06 08:58:14 -04:00
Bill Hoffman
5f686b8a6b Tests: Add case for CPack source package with symlinks 2015-04-06 08:52:54 -04:00
Domen Vrankar
0ffd35340e CPack single component packaging
RPM, DEB and archive packages were not created
in cases when CPACK_<generator>_COMPONENT_INSTALL
was set to ON and a single component existed.
Patch also changes CPackRPM test to implicitly
test for this case.
2015-04-05 22:49:41 +02:00
Gregor Jasny
dfd6f1f290 Xcode: Also quote strings containing // (#15487)
Otherwise those will be interpreted as start of a comment

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-04-04 22:13:45 +02:00
Nils Gladitz
9a544f2d98 CTestCoverageCollectGCOV: Support CTEST_CUSTOM_COVERAGE_EXCLUDE 2015-04-04 12:25:15 +02:00
Gilles Khouzam
01a9ab0def VS: Add support for XAML source files
XAML files are by default of type Page in the vcxproj and can be
overriden by setting the VS_XAML_TYPE property.  The .cpp and .h file
of the same name are automatically added as depending on the XAML file.

New VSXaml test builds a basic XAML WindowsStore 8.1 app with VS2013.
2015-04-03 13:40:35 -04:00
Brad King
af92482712 Makefile: Tolerate a BOM while scanning source dependencies (#15493)
Otherwise an #include directive on the first line of a source file is
ignored if the file contains a Byte-Order-Mark.

Suggested-by: Aleksey Konovalov <konovalov.aleks@gmail.com>
2015-04-03 13:04:57 -04:00
Brad King
0983825057 Merge topic 'remove-DEFINITIONS-directory-property'
06f61c26 Do not treat DEFINITIONS as a built-in directory property
2015-04-02 13:06:03 -04:00
Stephen Kelly
06f61c26cf Do not treat DEFINITIONS as a built-in directory property
Add policy CMP0059 to cover this change.  The property has been
deprecated since CMake 2.4 anyway.

This will help clean up cmMakefile -- the DefineFlagsOrig member should
not need to exist.
2015-04-02 13:00:48 -04:00
Bill Newcomb
a293dcb561 Tests: Fix CMake.ELF test with read-only source (#15489)
When the cmake sources are all set to read-only (e.g. after importing
into perforce), the CMake.ELF test fails because the copy of the binary
is also read-only and cannot be modified.  Fix this by copying the
binary without source permissions.
2015-04-01 16:34:04 -04:00
Brad King
0c69ca831b Merge topic 'ctest-repeat-until-fail'
b687d672 Tests: Fix RunCMake.CTestCommandLine expected output time matching
2015-04-01 13:19:39 -04:00
Brad King
0fa263d9d0 Merge topic 'solaris-fix-target_link_libraries-test'
0778016a Tests: Do not try to use invalid "ld -v" flag on Solaris
2015-04-01 13:19:28 -04:00
Brad King
b687d67281 Tests: Fix RunCMake.CTestCommandLine expected output time matching
When matching ctest command-line output, we must account for the
formatting of times that take 10 seconds or more.  The values are
right-justified, so use " +" to match any amount of space before them.
2015-03-31 16:04:29 -04:00
Domen Vrankar
681f3a2f01 CPackRPM: Add basic symlink support (#15209)
RPM packages can contain symbolic links to relative paths - including
support for multiple relocation paths through generation of post install
relocation scripts.  Add basic support with limitations described in
documentation.
2015-03-31 14:04:13 -04:00
Brad King
0778016a0b Tests: Do not try to use invalid "ld -v" flag on Solaris
Fix the CMakeCommands.target_link_libraries test to use "-V" instead of
"-v" on Solaris because the latter does not exist.
2015-03-31 11:21:36 -04:00
Brad King
c1f8c6cdf9 Merge topic 'cpack-archive-prefix'
e3f84fc5 cpack: Fix CPACK_PACKAGING_INSTALL_PREFIX handling for archives (#14677)
2015-03-30 09:27:55 -04:00
Brad King
c117c2bb5e Merge topic 'add_dependencies-INTERFACE-libraries'
ac14cbf0 Allow add_dependencies() on INTERFACE libraries (#15414)
817d31db Help: Format add_dependencies documentation
2015-03-30 09:27:53 -04:00
Clinton Stimpson
e3f84fc504 cpack: Fix CPACK_PACKAGING_INSTALL_PREFIX handling for archives (#14677)
Fix the case when the archive generator is used to package components
with an install prefix.
2015-03-30 09:22:14 -04:00
Brad King
ac14cbf017 Allow add_dependencies() on INTERFACE libraries (#15414)
Revert commit v3.0.0-rc1~175^2~20 (add_dependencies: Disallow use with
INTERFACE_LIBRARY, 2013-12-25).  Teach our dependency analysis to
transitively follow INTERFACE target utility dependencies as was done or
IMPORTED targets in commit v2.8.6~127^2~1 (Allow add_dependencies() on
imported targets, 2010-11-19).  Extend the InterfaceLibrary test with a
case to cover header generation for a header-only INTERFACE library via
a custom target.
2015-03-27 16:25:09 -04:00
Brad King
230f2d6e70 ExternalData: Add option to recursively match under directories
Extend the ``DATA{Dir/,...}`` syntax with a new ``RECURSE:`` option
to enable recursive matching of associated files.  This will allow
an entire directory tree of data to be referenced at once.
2015-03-27 14:44:54 -04:00
Gregor Jasny
6ab1413499 Tests: Enable XCTest tests for Xcode 5
Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-03-24 11:24:56 -04:00
Brad King
64e97edad7 Merge topic 'ninja-require-byproducts'
bd9c7f9b Ninja: Add policy to require explicit custom command byproducts
ed8e30b0 cmGlobalNinjaGenerator: Optimize handling of known build outputs
ad094f43 cmGlobalNinjaGenerator: Fix spelling of "unknown"
82a37d3c cmGlobalNinjaGenerator: Drop unused member
2015-03-23 09:48:07 -04:00
Brad King
e85eb2e336 Merge topic 'add-extra-qbs-generator'
f85db2f3 Qbs: Add new 'extra' generator for qbs project files
2015-03-23 09:18:43 -04:00
Brad King
45583e5272 Merge topic 'cpack-rpm-ignore-default-prefix'
18917d66 CPack/RPM ignore install prefix relocation path
2015-03-23 09:18:36 -04:00
Brad King
a37937f7c0 Merge topic 'xcode-xctest'
4178cd88 Help: Add notes for topic 'xcode-xctest'
87a4b858 Tests: Add XCTest example to test Frameworks and Cocoa App Bundles
ba14510b OS X: Add FindXCTest module
3714955b OS X: Add handling for XCTest bundles
54a5cdbb Tests: Compute Xcode version for any generator on OS X
2015-03-23 09:18:29 -04:00
Brad King
cc8b8cdc75 Merge topic 'ctest-repeat-until-fail'
6bce0276 Help: Add notes for topic 'ctest-repeat-until-fail'
fde70a1b ctest: Add a new --repeat-until-fail option
2015-03-23 09:18:26 -04:00
Gregor Jasny
87a4b8580c Tests: Add XCTest example to test Frameworks and Cocoa App Bundles
Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
2015-03-23 09:12:20 -04:00
Bill Hoffman
fde70a1b26 ctest: Add a new --repeat-until-fail option
This option tells ctest to run each test N times until the test fails or
the N times have run. This is useful for finding random failing tests.
2015-03-23 09:08:22 -04:00
Brad King
bd9c7f9b2c Ninja: Add policy to require explicit custom command byproducts
Add policy CMP0058 to avoid generating 'phony' ninja rules for unknown
custom command dependencies.  This requires projects to specify their
custom command byproducts explicitly.  With this requirement we no
longer have to assume that unknown custom command dependencies are
generated and can instead simply assume they are source files expected
to exist when the build starts.  This is particularly important in
in-source builds.  It is also helpful for out-of-source builds to allow
Ninja to diagnose missing files before running custom command rules that
depend on them.
2015-03-20 17:40:12 -04:00
Domen Vrankar
18917d66d4 CPack/RPM ignore install prefix relocation path
Patch adds possibility to remove
CPACK_PACKAGING_INSTALL_PREFIX from
the list of relocation paths when
crating a relocatable rpm.
2015-03-20 21:52:49 +01:00
Stanislav Ionascu
f85db2f323 Qbs: Add new 'extra' generator for qbs project files 2015-03-20 10:25:11 -04:00
Brad King
c95e523db8 Merge topic 'file-globbing-directory-listing'
6e54b0b9 Help: Add notes for topic 'file-globbing-directory-listing'
a2c068a7 file: Teach GLOB to list directories optionally
2015-03-20 09:47:52 -04:00
Domen Vrankar
a2c068a7ce file: Teach GLOB to list directories optionally
GLOB lists directories by default and GLOB_RECURSE does not.
LIST_DIRECTORIES enables user to control the behavior explicitly for
consistently for both GLOB and GLOB_RECURSE.
2015-03-20 09:45:25 -04:00
Brad King
54a5cdbb4c Tests: Compute Xcode version for any generator on OS X
Store the version in CMake_TEST_XCODE_VERSION for use by tests that work
with any generator on OS X but may depend on the Xcode version providing
the tools.
2015-03-18 15:23:53 +01:00
Domen Vrankar
ffc1b94510 CPack/RPM improved component override test
Component specific attributes test passed
even when attribute was able to leak to
the next component as library package is
the last that is generated. This patch
fixes the test as header package is generated
in the middle so leakage causes the test to
fail.
2015-03-17 17:36:36 +01:00
Brad King
0320993456 Merge topic 'cpack_rpm_old_version_tests'
140a53a8 CPack/RPM architecture test fixup
4552bc88 CPack/RPM relocation paths test fixup
2015-03-17 10:14:54 -04:00
Brad King
8915cddcde Merge topic 'FindMatlab-rewrite'
49c8dcf7 FindMatlab: Rewrite module and provide a usage API
2015-03-17 10:14:52 -04:00
Zach Mullen
874fdd914a CTest: Output test-specific env vars in verbose mode (#15446)
Any environment vars that were configured for a test via the
ENVIRONMENT property will now be output when the test is run
with verbose logging enabled.
2015-03-17 10:11:33 -04:00