Commit Graph

22133 Commits

Author SHA1 Message Date
Brad King 0f6ebb5c0f Merge branch 'cuda-separable-bool' into release 2017-02-21 11:11:22 -05:00
Brad King 08fa0b4595 CUDA: Fix boolean interpretation of CUDA_SEPARABLE_COMPILATION
If the property is explicitly set to a non-true value we should
not treat it as true.
2017-02-20 17:05:35 -05:00
Brad King 4caa0e7e75 Merge branch 'fix-CMP0017-path-case' into release 2017-02-17 11:11:11 -05:00
Brad King e2d78f7535 Windows: Fix inconsistent behavior on changes to case of path to cmake
In commit v3.4.0-rc1~333^2 (Merge branch 'upstream-kwsys' into
update-kwsys, 2015-07-15) we brought in upstream KWSys commit 86a24794
(SystemTools: Fix GetActualCaseForPath drive letter case handling,
2015-07-09).  This caused our path processing to convert drive letters
to upper-case and exposed an existing bug in our implementation of
CMP0017.

Policy CMP0017 is responsible for ensuring that modules included from a
builtin module only load other builtin modules and cannot be overridden
by a file in `CMAKE_MODULE_PATH`.  If there is a case difference in the
drive letter (or other path components) then the path to the including
module may not match our builtin module directory in a simple string
comparison.  This means builtin modules may not be recognized as such,
and they may not reliably include their builtin dependencies.  For
example, if a project provides a `Platform/Windows` module in
`CMAKE_MODULE_PATH` it can break inclusion of our builtin
`Platform/Windows` module, leading to strange behavior.

Fix this by comparing the path to the including module to our builtin
module directory using a function that is aware of case-insensitivity of
paths on Windows.

Fixes: #16648, #16622
2017-02-17 11:10:45 -05:00
Brad King 2c354f4ee4 Merge branch 'autogen_fix_3.8' into release 2017-02-15 15:16:17 -05:00
Sebastian Holtermann 28ee378405 Autogen: Fix headers not skipped 2017-02-15 21:00:39 +01:00
Brad King 93737d8012 Merge branch 'fix-ctest_update-svn' into release 2017-02-15 14:45:40 -05:00
Brad King 51849bbab8 ctest_update: Fix svn log and external loading
Since commit v3.7.0-rc1~132^2 (CTestSVN: Fix segfault when
CTEST_UPDATE_VERSION_ONLY is enabled, 2016-09-12) we do not properly
extract svn log or externals.  After updating we erase the information
that was loaded before updating and can no longer log the changes
between revisions to extract authors.

Fix this by only loading the repository information once, whether needed
by `NoteOldRevision`, `NoteNewRevision`, or both.

Fixes: #12630, #16646
2017-02-15 14:44:37 -05:00
Brad King f0e5954fce Merge branch 'execute_process-default-encoding' into release 2017-02-13 14:05:36 -05:00
Brad King 07c3380a6e execute_process: Restore no-decoding default behavior
Since commit v3.8.0-rc1~232^2 (execute_process: Add ENCODING option for
Windows child process output, 2016-11-23) we decode child process output
using the console's active codepage by default.  This differs from
previous versions of CMake and is therefore incompatible.  Changing this
default will require a policy, so for now revert the default behavior
back to performing no decoding.

Reported-by: Nils Gladitz <nilsgladitz@gmail.com>
2017-02-13 13:53:17 -05:00
Brad King 566d20771f CMake 3.8.0-rc1 version update 2017-02-06 11:27:03 -05:00
Brad King 811c854eff Merge topic 'vs-quote-rerun-paths'
f8f3cb8d VS: Fix quoting of special characters in cmake re-run check commands
2017-02-06 10:29:46 -05:00
Brad King cf1bc84216 Merge topic 'productbuild_signing'
48aad9cd CPackProductBuild: Add options to sign packages
2017-02-06 10:29:44 -05:00
Brad King f8f3cb8d65 VS: Fix quoting of special characters in cmake re-run check commands
Fix our calls to `AddCustomCommandToOutput` for adding cmake re-run
check commands to disable old-style quoting in favor of the full quoting
logic.  This is necessary when paths contain special characters like `&`
that old-style quoting logic does not handle.

This also requires us to expand the `$(SolutionPath)` placeholder
explicitly because otherwise its expanded value will no longer be quoted
correctly.  As a side effect, this fixes the value in VS 10 and above
where the placeholder may be undefined when driving the build through
MSBuild without the `.sln` file.

Reported-by: Steven Cook <sc@harshbutfair.org>
Fixes: #16585
2017-02-06 09:53:15 -05:00
Kitware Robot a00cca97b3 CMake Nightly Date Stamp 2017-02-06 00:01:04 -05:00
Kitware Robot c054221ffd CMake Nightly Date Stamp 2017-02-05 00:01:05 -05:00
Roman Wüger 48aad9cda0 CPackProductBuild: Add options to sign packages 2017-02-04 08:07:48 -05:00
Kitware Robot d5f0c69611 CMake Nightly Date Stamp 2017-02-04 00:01:05 -05:00
Kitware Robot 6286d26ca6 CMake Nightly Date Stamp 2017-02-03 00:01:05 -05:00
Kitware Robot 134ffe9794 CMake Nightly Date Stamp 2017-02-02 00:01:05 -05:00
Kitware Robot 1f8da86115 CMake Nightly Date Stamp 2017-02-01 00:01:07 -05:00
Brad King 5accbaccbc Merge topic 'vs-export-external-objects'
4dde0bc8 VS: Fix WINDOWS_EXPORT_ALL_SYMBOLS for external objects
2017-01-31 09:04:19 -05:00
Brad King f012a95836 Merge topic '16432-static-frameworks'
071f8e78 Apple: Add support for static frameworks
d525754e Xcode: Refactor RunCMake.Framework test to prepare for static frameworks
45405f00 Xcode: Ignore Xcode project warning until issue is fixed
50e1c105 Makefile: For static libraries remove only the "real" lib before creating
8643ca75 Makefile: Re-order list of files to clean
2017-01-31 09:04:16 -05:00
Gregor Jasny 071f8e78dd Apple: Add support for static frameworks
Closes: #16432
2017-01-31 08:59:15 -05:00
Kitware Robot 07d3695e75 CMake Nightly Date Stamp 2017-01-31 00:01:05 -05:00
Zsolt Parragi 4dde0bc8ef VS: Fix WINDOWS_EXPORT_ALL_SYMBOLS for external objects
Teach Visual Studio generators to include external object files in the
list of objects whose symbols are to be exported.  The Makefile and
Ninja generators already did this.
2017-01-30 08:54:49 -05:00
Brad King 5c6c766da1 Merge topic 'timestamp-percent'
6c54f7b3 string: Teach TIMESTAMP to treat %% as %
2017-01-30 08:43:21 -05:00
Kitware Robot cbabde81f2 CMake Nightly Date Stamp 2017-01-30 00:01:08 -05:00
Kitware Robot 84963f429a CMake Nightly Date Stamp 2017-01-29 00:01:03 -05:00
Kitware Robot b30ac988d0 CMake Nightly Date Stamp 2017-01-28 00:01:05 -05:00
Bernhard M. Wiedemann 6c54f7b365 string: Teach TIMESTAMP to treat %% as %
This encoding is documented by `strptime`.
2017-01-27 09:25:37 -05:00
Brad King 325c615308 Merge topic 'genex-if'
895f7f16 Genex: Add `IF` generator expression
2017-01-27 09:04:58 -05:00
Brad King 86ec0aca05 Merge topic 'topic-reproducible-build'
243aed52 cmTimestamp: Support SOURCE_DATE_EPOCH to override current time
2017-01-27 09:04:53 -05:00
Kitware Robot 83596d4ba1 CMake Nightly Date Stamp 2017-01-27 00:01:05 -05:00
Gregor Jasny 50e1c1056e Makefile: For static libraries remove only the "real" lib before creating
When creating a static library with the archive tool, only the `.a`
needs to be removed to start a fresh archive.  Any other files (e.g.
symbolic links we may later add) are not managed by the archive tool and
therefore do not need to be cleaned.
2017-01-26 13:30:37 -05:00
Gregor Jasny 8643ca75c7 Makefile: Re-order list of files to clean
Revise construction of the list of files to be cleaned for the target to
list the "real" file first.
2017-01-26 13:28:38 -05:00
Colby Pike 895f7f16a7 Genex: Add IF generator expression
This allows a single condition to be used to choose between two
alternatives.  Without this the condition must be duplicated with
one surrounded by `NOT`.

Closes: #15585
2017-01-26 11:18:50 -05:00
Bernhard M. Wiedemann 243aed525a cmTimestamp: Support SOURCE_DATE_EPOCH to override current time
See https://reproducible-builds.org/ for why this is good and
https://reproducible-builds.org/specs/source-date-epoch/ for the
definition of this variable.
2017-01-26 10:21:41 -05:00
Kitware Robot a45de72cc4 CMake Nightly Date Stamp 2017-01-26 00:01:04 -05:00
Brad King c0ca687a1b Merge topic 'cpack-ifw-options'
e5089c56 CPackIFW: Add some options
2017-01-25 08:41:24 -05:00
Brad King 54790e77d7 Merge topic 'sanitizer-options'
e116f2a5 ctest_memcheck: Fix sanitizers when MemoryCheckSanitizerOptions is empty
522e1588 Tests: Use CTEST_MEMORYCHECK_SANITIZER_OPTIONS where appropriate
2017-01-25 08:41:21 -05:00
Brad King 4f37987e3f Merge topic 'lang_lint'
0618ddf6 Add properties to run the cpplint style checker with the compiler
2017-01-25 08:41:18 -05:00
Kitware Robot a007f15344 CMake Nightly Date Stamp 2017-01-25 00:01:05 -05:00
Brad King 6122fc54a9 Merge topic '16253-xcode-effective-platform-name'
10c9c73d Xcode: Control emission of EFFECTIVE_PLATFORM_NAME
2017-01-24 14:45:24 -05:00
Brad King 6c99ec5bfd Merge topic 'qtdialog-trim-new-varname'
8f1bce12 cmake-gui: trim spaces from user-created variable names
2017-01-24 14:45:22 -05:00
Brad King f6e4602fe7 Merge topic 'csproj-improvements'
4bfb1249 VS: removed usage of relative paths for C# targets in in-source builds
90cb4083 VS: improve handling of source files with special extensions in .csproj
2017-01-24 14:45:15 -05:00
Konstantin Podsvirov e5089c562c CPackIFW: Add some options
The cpack_ifw_configure_component_group command gained options:
- DEPENDS.

The cpack_ifw_configure_component and
cpack_ifw_configure_component_group commands gained options:
- REQUIRES_ADMIN_RIGHTS;
- UPDATE_TEXT;
- SORTING_PRIORITY; # New name for PRIORITY
- DEPENDENCIES; # Alias for DEPENDS
- AUTO_DEPEND_ON;
- TRANSLATIONS.

For both commands PRIORITY option now is depreceted. Please
use SORTING_PRIORITY instead.
2017-01-24 17:03:37 +03:00
Kitware Robot 269b1db914 CMake Nightly Date Stamp 2017-01-24 00:01:05 -05:00
Jamie Snape 0618ddf6b1 Add properties to run the cpplint style checker with the compiler
Create a `<LANG>_CPPLINT` target property (initialized by a
`CMAKE_<LANG>_CPPLINT` variable) to specify a `cpplint` style checker
command line to be run along with the compiler.
2017-01-23 14:47:13 -05:00
Jamie Snape e116f2a5de ctest_memcheck: Fix sanitizers when MemoryCheckSanitizerOptions is empty 2017-01-23 10:50:38 -05:00