Commit Graph

25233 Commits

Author SHA1 Message Date
Brad King a57fcfa3e0 Merge branch 'add-missing-macos-framework' into release-3.13
Merge-request: !2873
2019-01-29 07:00:43 -05:00
Chuck Atkins 475e78d907 macOS: Add missing explicit dependency on CoreServices framework
On Apple, the implementation of cmGlobalXCodeGenerator::Open uses
LSOpenCFURLRef from CoreServices.  This get's transitively pulled in
from CMake's libuv build but ends up generating a linker error when
using an external libuv.  This explicitly adds the appropriate
dependency.
2019-01-29 06:59:24 -05:00
Brad King 329cf7f3e3 Merge branch 'revert-file-alt-httpauth' into release-3.13
Merge-request: !2858
2019-01-24 14:18:23 -05:00
Brad King 646eedcfcb Revert "file: Allow DOWNLOAD/UPLOAD using alternate authentication methods"
Revert commit 31301b46a7 (file: Allow DOWNLOAD/UPLOAD using alternate
authentication methods, 2018-08-28, v3.13.0-rc1~155^2).  It regressed
support for password-protected redirects.

Fixes: #18691
2019-01-24 14:14:40 -05:00
Craig Scott 2395b1b244 cmake: Convert no source/build dir error to warning
Temporarily restore previous behavior that allowed specifying
no source or build directory to work, even though it was
neither documented nor supported. This commit is expected
to eventually be reverted to restore the fatal error for such
cases.

Relates: #18817
2019-01-22 21:33:54 +11:00
Brad King 8887ebc69b CMake 3.13.3 2019-01-14 07:27:44 -05:00
Brad King c63a19e920 Merge branch 'cmake-option-parsing' into release-3.13
Merge-request: !2799
2019-01-14 07:24:36 -05:00
Craig Scott 27eb7c5bdb cmake: Ensure source and binary dirs are set
If only the source dir is provided, the binary dir is assumed
to be the working directory. If only the binary dir is provided
and it doesn't yet have a CMakeCache.txt to provide the
source dir, then the source dir is assumed to be the working
directory. This logic was not previously being handled
correctly when -S and/or -B options were involved.
Furthermore, when both were missing, no suitable error
message was provided and an empty string was used for
the build directory.

Fixes: #18707
2019-01-14 07:13:28 +11:00
Craig Scott a1adbc7243 cmake: Stop processing if -P option lacks file name
While an error message was being logged, processing was
continuing nonetheless except with the -P argument omitted.
This could have allowed unintended effects if the remaining
arguments formed a valid set of command line options.
2019-01-14 07:13:27 +11:00
Sebastian Holtermann 5ae69f5919 Autogen: Issue a warning when AUTOMOC/UIC/RCC gets disabled.
We used to silently disable AUTOMOC/UIC/RCC when no valid Qt
version was found.  This patch introduces the generation of
a warning message in that case.

Closes #18732.
2019-01-10 16:48:28 +01:00
Brad King 91fa6a472c Merge branch 'cmake-CDU-option-parsing' into release-3.13
Merge-request: !2783
2019-01-10 09:34:14 -05:00
Paul Seyfert 6d53a60f00 cmake: distinguish '-Cpath' from '-C path' in source dir parsing
This results in the correct source directory being picked up in calls
with

    cmake sourcedir -C settings

and in a more appropriate error message when calling

    mkdir build ; cd build ; cmake -C settings

Also fix `-D` and `-U` in the same way.
2019-01-10 21:19:24 +11:00
Brad King d44f81c217 VS: Exclude VS 2019 instances when using VS 2017 generator
Filter instances reported by the VS Installer to consider only VS 2017
instances for the "Visual Studio 15 2017" generator.

Fixes: #18721
2019-01-08 14:10:16 -05:00
Brad King 9bbfbd54ba CMake 3.13.2 2018-12-13 06:44:30 -05:00
Brad King 3b4e86f26d Merge branch 'backport-autogen_revert_implicit_includes' into release-3.13
Merge-request: !2709
2018-12-07 08:04:55 -05:00
Brad King 0becea2d60 Merge branch 'cpack-status-callback' into release-3.13
Merge-request: !2696
2018-12-07 08:04:21 -05:00
Sebastian Holtermann 187481d4d9 Autogen: Revert passing compiler implicit includes to moc
Passing an incomplete list of compiler include directories causes
a regression in the KIO project (and probably others). We need to
disable it until the complete list is available (see #16291).

Fixes: #18669
Issue: #18041
2018-12-07 07:56:46 -05:00
Nils Gladitz 4a3ae1710e CPack/External: Fix status messages of staging scripts
Set progress callback on cmake instance used by CPack.  The progress
callback is used to output STATUS messages which are otherwise missing
when issued from e.g. CPack External staging scripts.

Fixes: #18567
2018-12-07 07:33:30 -05:00
Brad King 7b74213461 CUDA: Fix crash on linking to a CUDA target without CUDA enabled
Do not try to device link or add CUDA runtime libraries if the language
is not enabled.

Fixes: #18673
Issue: #18614
2018-12-05 14:45:19 -05:00
Brad King 6294296906 CMake 3.13.1 2018-11-28 06:49:16 -05:00
Brad King 0f0c8a2c7d Merge branch 'autogen_uic_empty_fix_3_13' into release-3.13
Merge-request: !2667
2018-11-27 08:45:58 -05:00
Sebastian Holtermann b1b5004c1a Autogen: Fix empty uic executable string
In CMake 3.13.0 when a target has ``AUTOUIC`` enabled but doesn't
link against Qt5Widgets, the uic executable string is empty and
an error string "The uic executable \"\" does not exist" is generated.
In CMake 3.12 ``AUTOUIC`` was silently disabled instead.
This patch fixes the regression and restores the behavior of CMake 3.12.

Fixes: #18630
2018-11-27 08:21:40 -05:00
Brad King 2cf836fa5e Merge branch 'vs2015-no-sdk' into release-3.13
Merge-request: !2656
2018-11-26 13:48:22 -05:00
Harry Mallon f54d28a838 VS: Avoid crash with VS 2015 when all SDKs are higher than 10.0.14393.0
Move the filter added by commit v3.13.0-rc1~72^2~2 (VS: Do not select a
Windows SDK too high for current VS version, 2017-08-07, committed
2018-09-17) to before our check that the remaining list is empty.
Otherwise we crash when dereferencing the first entry of an empty
vector.

Also add a comment explaining where 10.0.14393.0 came from.

Fixes: #18633
2018-11-26 13:42:50 -05:00
Brad King ead16adfc8 Fortran: Fix module dependency scanning with upper-case SUBMODULE
The lexical token expression added by commit v3.7.0-rc1~73^2~1 (Fortran:
Add support for submodule syntax in dependency scanning, 2016-09-05)
has a typo and does not match upper-case `B` in `SUBMODULE`.  Fix it.

Fixes: #18595
2018-11-20 14:16:26 -05:00
Brad King 05a2ca7f87 CMake 3.13.0 2018-11-20 09:31:28 -05:00
Brad King e593161bd5 Merge branch 'backport-configure_file-canonical-deps' into release-3.13
Merge-request: !2635
2018-11-19 10:14:26 -05:00
Frank Benkstein 57701227d6 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-19 10:11:12 -05:00
Brad King 86e8315482 CTest: Restore inheritance of stdin by test processes
Since commit v3.11.0-rc1~117^2 (CTest: Re-implement test process
handling using libuv, 2017-12-10) we do not give the child test
processes any stdin.  Prior to that change we let the child test
processes inherit stdin from ctest itself.  Tests that run serially
might be able to use the real stdin meaningfully, so restore that
behavior and add a test case.

Fixes: #18591
2018-11-15 08:08:56 -05:00
Brad King 8d70ed5a10 CMake 3.13.0-rc3 2018-11-07 07:50:43 -05:00
Brad King 47255060e7 Merge branch 'rename-cpack-ext-generator' into release-3.13
Merge-request: !2566
2018-11-06 11:27:41 -05: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 36280e6157 Merge branch 'custom-command-work-dir-genex' into release-3.13
Merge-request: !2559
2018-11-05 07:48:39 -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
Brad King a567f533db Merge branch 'server-file-monitor-check' into release-3.13
Merge-request: !2556
2018-11-01 09:02:41 -04:00
Vladimir Penev eb52529ff4 server: Fix assertion failure on directory paths in file monitor
Fixes: #18532
2018-11-01 07:25:17 -04:00
Brad King 3065a8a793 Merge branch 'fix-custom-target-with-csharp' into release-3.13
Merge-request: !2549
2018-10-31 09:36:38 -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 f366228c80 Merge branch 'cuda-filter-device-link-libs' into release-3.13
Merge-request: !2536
2018-10-29 12:02:46 -04:00
Robert Maynard 3c31ec7a0a CUDA: Filter out non-static libraries during device linking
Since commit v3.12.0-rc1~278^2 (CUDA: Pass more link libraries to device
linking, 2018-03-27) we consider every link library during device
linking and use `-Xnvlink` to pass those that do not end in `.a`.
However, nvlink breaks on versioned shared library names such as
`.so.1`.  Work around this problem by not passing library paths that do
not end in `.a` or `.lib`.  nvlink would not find device symbols in them
anyway.

Fixes: #18504
2018-10-29 11:57:29 -04:00
Brad King 44cef5fd92 Merge branch 'set_directory_properties-script-mode' into release-3.13
Merge-request: !2544
2018-10-29 11:45:49 -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 44cc305ac1 CMake 3.13.0-rc2 2018-10-25 07:52:24 -04:00
Brad King 82db7cbed8 Merge branch 'cmake-gui-vs-open-space' into release-3.13
Merge-request: !2524
2018-10-25 07:34:57 -04:00
Brad King e178bd46cb cmake-gui: Fix "Open Project" for VS IDE with space in path
Do not encode the path for a shell until after we check that it exists.

Fixes: #18501
2018-10-25 07:32:26 -04:00
Brad King d81c4db489 Merge branch 'cuda-thread-flags' into release-3.13
Merge-request: !2512
2018-10-24 10:52:46 -04:00
Brad King 5d481919d4 Merge branch 'tar-warnings' into release-3.13
Merge-request: !2519
2018-10-24 10:52:37 -04:00
Brad King 95c8a03f00 cmake: Distinguish '-E tar' warnings from errors copying data
The logic added by commit v3.12.0-rc1~62^2 (cmake: Teach '-E tar' to
report errors copying data, 2018-05-16) incorrectly reports failure
in the case of ARCHIVE_WARN.  Convert this case to a warning.

Fixes: #18496
2018-10-24 10:51:11 -04:00
Brad King cf92fd9ae9 Merge branch 'cuda-filter-device-link-items' into cuda-thread-flags 2018-10-24 10:14:32 -04:00
Robert Maynard e768d96c74 CUDA: Filter out host link flags during device linking
Since commit v3.12.0-rc1~278^2 (CUDA: Pass more link libraries to device
linking, 2018-03-27) we consider every link item during device linking.
However, items that start in `-` may be host-specific link flags that
nvcc will not understand during device linking.  Filter such items using
a white list.

In particular, this allows `-pthread` to be used for host linking while
not polluting the device link line.

Issue: #18008
2018-10-24 09:54:25 -04:00