Commit Graph

658 Commits

Author SHA1 Message Date
Brad King 7a4b8d0dc2 Add a directory property to list subdirectories
Add a SUBDIRECTORIES directory property to allow project code to
traverse the directory structure of itself as CMake sees it.
2016-09-19 13:59:43 -04:00
Brad King 7263667c24 Help: Add notes for topic 'cmake-server-basic' 2016-09-19 09:20:43 -04:00
Brad King 34b49df564 Merge topic 'ifw-user-interfaces'
c2f0f41f CPackIFW: Add USER_INTERFACES option
2016-09-19 08:55:12 -04:00
Pierluigi Taddei c2f0f41f63 CPackIFW: Add USER_INTERFACES option
Add to CPackIFW the capability of accepting a list of
USER_INTERFACES that are copied to the meta folder and
added to the component description.
2016-09-16 10:29:00 -04:00
Brad King 4356bd7fe3 Merge topic 'file-curl-httpheader'
8f6cb366 file(DOWNLOAD|UPLOAD): Add HTTPHEADER suboption
2016-09-16 10:21:23 -04:00
Brad King 38a378e10d Merge topic 'find_package-dir-sort'
31be918b find_package: Optionally sort globbed directories in a meaningful order
2016-09-16 10:21:17 -04:00
Ruslan Baratov 8f6cb36695 file(DOWNLOAD|UPLOAD): Add HTTPHEADER suboption 2016-09-15 21:41:39 +03:00
Pierluigi Taddei 31be918b0b find_package: Optionally sort globbed directories in a meaningful order
Add `CMAKE_FIND_PACKAGE_SORT_{ORDER,DIRECTION}` variables to specify
sort order and direction.

When multiple package with the same name have been found in the same
location sorting option can be used to force a specific version to be
loaded (e.g. libA_1.12.0 instead of libA_1.1.0).  Currently sorting by
NAME and by NATURAL order have been implemented.

Natural ordering makes use of the `strverscmp(3)` ordering.
2016-09-15 13:35:25 -04:00
Brad King 9cbd04be5f Help: Add notes for topic 'ExternalProject-http-credentials' 2016-09-15 11:52:27 -04:00
Brad King 171ea5d3cf Merge topic 'file-curl-userpw'
abeb42f1 Help: Add notes for topic 'file-curl-userpw'
e5ba1041 file(DOWNLOAD|UPLOAD): Add 'USERPWD' suboption
2016-09-14 08:56:22 -04:00
Brad King b93623550d Merge topic 'add_androidmk_generator'
42ce9f1e Add support for creating prebuilt Android.mk files
d5257063 Export: Virtualize file generation step helpers
f81b9475 Export: Factor out file generation steps into helpers
2016-09-14 08:56:19 -04:00
Brad King abeb42f1d9 Help: Add notes for topic 'file-curl-userpw' 2016-09-14 08:48:23 -04:00
Nico Heßler 1ca2d5d1db cmake-gui: Add button to open the generated project
Look for VS or Xcode project files at the top of the build tree.
If present, enable an "Open Project" button to open them through
the OS desktop services.
2016-09-13 16:11:29 -04:00
Bill Hoffman 42ce9f1e71 Add support for creating prebuilt Android.mk files
Add options to the `install()` and `export()` commands to export the
targets we build into Android.mk files that reference them as prebuilt
libraries with associated usage requirements (compile definitions,
include directories, link libraries).  This will allow CMake-built
projects to be imported into projects using the Android NDK build
system.

Closes: #15562
2016-09-13 12:47:43 -04:00
Brad King 994e98bf41 Merge topic 'timestamp-names'
410add40 Help: Add notes for topic 'timestamp-names'
751f7b52 string(TIMESTAMP ...): add '%a' and '%b' format specifiers
2016-09-13 11:40:47 -04:00
Brad King 410add4008 Help: Add notes for topic 'timestamp-names' 2016-09-12 15:15:50 -04:00
Brad King b3b238c3cc Merge topic 'bzip2-imported-targets'
79eba4b7 Help: Add notes for topic 'bzip2-imported-targets'
069cac58 Tests: Add FindBZip2 unit tests
e9ce0503 FindBZip2: Add imported target
2016-09-12 09:31:41 -04:00
Brad King f27f6f8f3f Merge topic 'wix-feature-patch'
c0bccc51 CPackWIX: Enabled patching of WIX <Feature> tags
2016-09-12 09:31:35 -04:00
Brad King 79eba4b7ab Help: Add notes for topic 'bzip2-imported-targets' 2016-09-09 11:42:35 -04:00
Michael Stürmer c0bccc51df CPackWIX: Enabled patching of WIX <Feature> tags 2016-09-09 13:03:57 +02:00
Bill Hoffman cb299acc27 cmake_parse_arguments: Add option to read arguments from ARGC/ARGV#
The `ARGC`/`ARGV#` variables in function scope hold the original
arguments with no ;-list flattening.  Add a way for functions to
cleanly parse arguments that may contain `;`.  This also avoids
extra copying of the arguments.

Co-Author: Brad King <brad.king@kitware.com>
2016-09-08 11:33:46 -04:00
Brad King 988b3806b6 Merge topic 'vs-15-generator'
bdc679a8 VS15: Add Visual Studio 15 generator
a8936656 VS: Update v140 flag tables from VS 15 MSBuild files
21346d3f Features: Record features for VS 15 Preview 4
2016-09-08 09:36:54 -04:00
Brad King bdc679a8ae VS15: Add Visual Studio 15 generator
Call the generator "Visual Studio 15" without any year because the
preview version of VS 15 does not provide a year in the product name.

Copy cmGlobalVisualStudio14Generator to cmGlobalVisualStudio15Generator
and update version numbers accordingly.  Add the VS15 enumeration value.
Note that we do not need to add a MSVC15 variable or v150 toolset
because Visual Studio 15 comes with an updated version of the v140
toolset and remains ABI-compatible.

Teach tests VSExternalInclude, RunCMake.GeneratorPlatform, and
RunCMake.GeneratorToolset to treat VS 15 as they do VS 10-14.

Closes: #16143
2016-09-07 15:49:08 -04:00
Brad King 7f7e5eafd8 Merge topic 'GNUInstallDirs-function'
17a24dc3 GNUInstallDirs: Add macro to expose internal logic publicly
2016-09-07 09:48:38 -04:00
Roger Leigh 17a24dc3b9 GNUInstallDirs: Add macro to expose internal logic publicly 2016-09-07 09:40:41 -04:00
Domen Vrankar 332b089ad2 CPack/DEB: Make package description variable precedence match RPM
Make `CPACK_DEBIAN_PACKAGE_DESCRIPTION` fallback variable precedence
match CPackRPM behavior as much as possible.  This is technically a
breaking change, but the new behavior is more consistent with
expectation anyway.

Closes: #16272
2016-09-07 09:33:35 -04:00
Domen Vrankar 4ffdd564eb CPack/DEB: Add option to select archive type
Add a `CPACK_DEBIAN_ARCHIVE_TYPE` option that can be used to select an
archive type that supports long file names.

Closes: #14332
2016-09-05 09:24:45 -04:00
Brad King b82d027b45 Utilities/Release: Drop Linux 32-bit binary
The Linux distro we've been using for this is so old that it limits our
ability to import newer third-party software.  Until a new machine can
be configured to provide this binary we can simply drop it.  Users will
still be able to build from source or use a distro-provided version.
2016-08-30 09:48:39 -04:00
Brad King 918cb5b1f0 Merge topic 'ninja-add_custom_command-depfile'
048d1adb add_custom_command: Add DEPFILE option for Ninja
2016-08-30 09:29:40 -04:00
Kulla Christoph 048d1adb4e add_custom_command: Add DEPFILE option for Ninja
Provide a way for custom commands to inform the ninja build tool about
their implicit dependencies.  For now simply make use of the option an
error on other generators.

Closes: #15479
2016-08-30 09:05:18 -04:00
Domen Vrankar 426f97d353 CPack/RPM: Add test for debuginfo package generation 2016-08-26 09:40:37 -04:00
Brad King 96de37092a Merge topic 'android-platform-modules'
7b637ebd Android: Add `ANDROID` variable to indicate the target
c2f561e5 Android: Add test cases covering use of the NDK and standalone toolchains
6b84df8d Help: Document cross compiling for Android
d7d40830 Android: Select the STL type for NDK builds
b22294bc Android: Populate compiler flags for current ABI
b6a3102a Android: Add a CMAKE_BUILD_TYPE default
d1e3cec2 Android: Add Clang -target option for current ABI
504db72d Android: Add placeholders for compiler/abi-specific settings
fa632578 Android: Avoid interfering with common pre-existing toolchain files
6299693f Android: Search for NDK and standalone toolchain in more places
29b51379 Android: Detect and save a standalone toolchain without the NDK
7d9b49fb Android: Detect settings from the CMAKE_SYSROOT if it is set
4389664a Android: Detect and save a toolchain from the NDK
328191f6 Android: Set CMAKE_SYSROOT automatically
9e032304 Android: Detect and save the architecture, ABI, and processor
fde59c4d Android: Detect and save the API level
...
2016-08-24 09:45:50 -04:00
Brad King a71ca1f0b3 Merge topic 'import-vim-syntax'
b4556b47 Help: Add release notes for 'vim-cmake-syntax' import
25c01cf0 Aux: Install vim-cmake-syntax files with CMake
e3ac68cf Merge branch 'upstream-vim-cmake-syntax' into import-vim-syntax
4a22c06e vim-cmake-syntax 2016-08-16 (e782679c)
f21a8235 Aux: Drop vim files prior to import of third-party version
0966f1c5 Add script to update vim-cmake-syntax from upstream
2016-08-24 09:45:29 -04:00
Brad King 6b84df8da9 Help: Document cross compiling for Android
CMake now supports cross compiling for Android using the NDK or a
standalone toolchain.  Document the associated variables and how how to
write toolchain files for Android.
2016-08-23 12:53:10 -04:00
Brad King b4556b47a8 Help: Add release notes for 'vim-cmake-syntax' import 2016-08-17 09:24:29 -04:00
Tobias Hunger 49ad7f9af8 cmake: Add `cmake -E capabilities` mode
Add `cmake -E capabilities` to report on generators, cmake version and
possibly other static capabilities of cmake.

Closes: #15462
2016-08-16 13:45:05 -04:00
Brad King e01c576338 Merge topic 'ninja-directory-targets'
02789894 Ninja: Add `$subdir/{test,install,package}` targets
a88c99f1 Ninja: Simplify computation of GLOBAL_TARGET outputs
2016-08-10 11:15:55 -04:00
Brad King 4887640b7a Merge topic 'add-extra-boolean-comparisons'
02d177c9 Add additional <= and >= comparison operators
2016-08-10 11:15:47 -04:00
Brad King 0278989405 Ninja: Add `$subdir/{test,install,package}` targets
With the Makefile generator one can use `cd $subdir; make install` to build and
install targets associated with a given subdirectory.  This is not possible to
do with the Ninja generator since there is only one `build.ninja` file at the
top of the build tree.  However, we can approximate it by allowing one to run
`ninja $subdir/install` at the top of the tree to build the targets in the
corresponding subdirectory and install them.

This also makes sense for `test`, `package`, and other GLOBAL_TARGET targets.
It was already done for `all` by commit v3.6.0-rc1~240^2~2 (Ninja: Add
`$subdir/all` targets, 2016-03-11).
2016-08-09 15:15:24 -04:00
Chuck Atkins 02d177c9cc Add additional <= and >= comparison operators
This adds the LESS_EQUAL, GREATER_EQUAL, and associated STR and VERSION
equivalents to use the combined <= and >= functionality.
2016-08-09 09:30:34 -04:00
Michael Stürmer 17bbf6af1e CPackWIX: Implement new CPACK_WIX_SKIP_PROGRAM_FOLDER feature
The new variable allows setting of a custom absolute installation prefix
outside of the ProgramFiles folders.
2016-08-08 13:42:23 +02:00
Brad King 382c4fca6b Merge topic 'ccmake-vim-navigation'
e34e9c27 ccmake: Add VIM-like bindings for navigation
9a1b6c60 ccmake: Revise documentation for [d]
31b6cf41 ccmake: Fix typo in help (it's -> its)
2016-08-03 09:20:59 -04:00
Paul Seyfert e34e9c2705 ccmake: Add VIM-like bindings for navigation
* scroll with j/k
* toggle bool with space, enter insert mode with i
* bindings not shown at the bottom of the screen, but given in help
2016-08-02 14:53:15 -04:00
Michael Stürmer e29bfbf272 CPackWIX: Support custom title and description for the root feature
These can now be specified through the WIX generator specific
CPack variables CPACK_WIX_ROOT_FEATURE_TITLE and
CPACK_WIX_ROOT_FEATURE_DESCRIPTION.
2016-08-02 14:05:08 +02:00
Brad King 5ec03c93fc Merge topic 'wix-disabled-components'
ad453f05 CPackWIX: Support CPACK_COMPONENT_<compName>_DISABLED
6f108f84 CPackComponent: Document the *_HIDDEN and *_DISABLED variables
2016-08-01 14:59:53 -04:00
Michael Stürmer ad453f0502 CPackWIX: Support CPACK_COMPONENT_<compName>_DISABLED
Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com>
2016-07-22 08:49:29 +02:00
Gregor Jasny c63380b195 Update documentation about bundle extensions 2016-07-21 23:16:50 -07:00
Brad King 33b562aa72 Help: Add notes for topic 'FindBISON-report-file' 2016-07-18 09:11:25 -04:00
Robert Dailey a6290cffae VS: Add support for NATVIS files
Add an explicit `<Natvis>` element in VS project files for `*.natvis`
files.  These enable custom debug visualizers for project-specific
types.

Fixes #16043.
2016-07-15 10:36:21 -04:00
Brad King c8e59d2dfa Merge topic 'toolchain-flag-init'
8a98cf64 Honor CMAKE_*_LINKER_FLAGS[_<CONFIG>]_INIT set in toolchain files
37d15c39 MSVC: Set all CMAKE_*_LINKER_FLAGS_INIT directly
55c884ed Embarcadero: Set all CMAKE_*_LINKER_FLAGS_INIT directly
aec3c79a Strip CMAKE_*_LINKER_FLAGS[_<CONFIG>] initializer whitespace
2016-07-15 09:04:30 -04:00