Commit Graph

4321 Commits

Author SHA1 Message Date
Daniel Pfeifer 1a9de8035c surround macro arguments with parentheses 2016-09-05 22:09:49 +02:00
Daniel Pfeifer 5414084818 Tests/CMakeLib: include what you use 2016-09-03 08:04:22 -04:00
Daniel Pfeifer 3f9c4cdf89 Tests/CMakeLib: use cmsys::ifstream 2016-09-03 08:04:22 -04:00
Brad King 0a2d0b126c Merge topic '16101-xcode-fix-directory-exclude-from-all'
df32e564 Xcode: Add targets marked as EXCLUDE_FROM_ALL to project (#16101)
2016-08-31 09:19:46 -04:00
Brad King 0820c78508 Merge topic 'FindMatlab-additional-components'
bf09271b FindMatlab: adding handling of component "MAT"
2016-08-31 09:19:37 -04:00
Brad King 5b1f9cd127 Merge topic 'syntax-unexpected-eof'
1dda2ec5 Improve error message on unexpected end of file
2016-08-31 09:19:34 -04:00
Brad King 6f8b93983a Merge topic 'import-libuv'
39ac889d cmake: Add trivial usage of libuv
7cf369fe Do not build libuv on HP-UX
075cae51 Do not build libuv on SPARC
9a53af40 Do not build libuv on Cygwin
219f7411 Do not build libuv on Mac OS X 10.4 and lower
8a5beef3 Add option to build CMake against a system libuv
e56aa462 FindLibUV: Add module to find libuv package
551d5aed libuv: Fix unused variable warning in uv_loop_close
f4f8074b libuv: Avoid including macOS CoreServices header globally
a63aaaed libuv: Always include our own header first
9130b53a libuv: Conditionally declare Windows APIs for VS 2008 and below
b52afa46 libuv: Fix anonymous union syntax
05dbc204 libuv: Fix Windows API function typedef syntax
75139374 libuv: Install LICENSE file with CMake documentation
95dcc4e4 libuv: Disable warnings to avoid changing 3rd party code
13b7e758 libuv: Build the library within CMake
...
2016-08-31 09:19:31 -04:00
Gregor Jasny df32e564ae Xcode: Add targets marked as EXCLUDE_FROM_ALL to project (#16101) 2016-08-31 09:16:44 -04:00
Brad King e56aa46297 FindLibUV: Add module to find libuv package
Add it to a private source directory that is not installed so that we
can use it for building CMake itself.  This will allow it to mature
before being distributed publicly.
2016-08-31 09:05:14 -04:00
Brad King 1dda2ec55a Improve error message on unexpected end of file
Suggested-by: Stephen Kelly <steveire@gmail.com>
2016-08-30 13:53:15 -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
Raffi Enficiaud bf09271b65 FindMatlab: adding handling of component "MAT"
- documentation
- test
- cosmetic changes
2016-08-30 14:50:20 +02:00
Domen Vrankar 426f97d353 CPack/RPM: Add test for debuginfo package generation 2016-08-26 09:40:37 -04:00
Brad King a79abb82fe Merge topic 'extract-cmMessenger'
1462576b Parser: Port away from cmMakefile
421012a3 cmMessenger: Extract from cmake class
14a8d61f cmMakefile: Port nested error logic away from cmExecutionStatus
2af853de cmMakefile: Simplify IssueMessage implementation
33bb9cfa Parser: Issue messages through cmake, not cmSystemTools
db7de303 Parser: Store the Backtrace for use in issuing messages
2016-08-25 09:50:39 -04:00
Stephen Kelly 33bb9cfa36 Parser: Issue messages through cmake, not cmSystemTools
Make these messages uniform with regard to other messages issued by
cmake.
2016-08-25 09:47:26 -04:00
Brad King 828e763260 Tests: Fix RunCMake.CMP0040 custom command syntax 2016-08-24 10:56:57 -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 ccddb454b8 Merge topic 'extend-find-package-search-path'
828d6c13 find_package: Extend search path for combined Windows/UNIX convention
ff5c89de Help: Widen find_package search path table
2016-08-24 09:45:47 -04:00
Silvio Traversaro 828d6c137d find_package: Extend search path for combined Windows/UNIX convention
Find packages that install their cmake package configuration files in
`lib/cmake/<name>` when they are installed in the default Windows
CMAKE_INSTALL_PREFIX, `C:/Program Files/<name>`.

Closes: #16212
2016-08-24 09:40:25 -04:00
Brad King 7b637ebdc9 Android: Add `ANDROID` variable to indicate the target
Allow projects to use `if(ANDROID)` to condition their Android-specific
code paths.
2016-08-23 13:10:51 -04:00
Brad King c2f561e58c Android: Add test cases covering use of the NDK and standalone toolchains 2016-08-23 12:53:10 -04:00
Chaoren Lin 9bd0643a77 Tests: Refactor testing of extra generators.
Use a loop instead of repeating the same thing multiple times.
2016-08-23 10:37:38 -04:00
Brad King 67a7dcef45 Merge topic 'readability-named-parameter'
e7b842e1 Make sure unnused parameters are /*named*/
2016-08-17 10:46:35 -04:00
Brad King 29593b79a2 Merge topic 'include-what-you-use'
a2af850b fix a batch of include-what-you-use violations
2016-08-17 10:46:32 -04:00
Daniel Pfeifer e7b842e189 Make sure unnused parameters are /*named*/ 2016-08-17 01:49:57 +02:00
Daniel Pfeifer a2af850ba6 fix a batch of include-what-you-use violations 2016-08-17 01:08:13 +02: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 e240a7c017 Merge topic 'ExternalProject-SOURCE_SUBDIR'
a8345d65 ExternalProject: Add SOURCE_SUBDIR option
2016-08-16 13:26:22 -04:00
Brad King 447b142b6a Merge topic 'issue-tracker-urls'
2bdba83e issues: update references to the CMake issue tracker
2016-08-16 13:26:15 -04:00
Matthew Woehlke a8345d65f3 ExternalProject: Add SOURCE_SUBDIR option
Add a new SOURCE_SUBDIR option to ExternalProject_Add that allows
specifying the location of the CMakeLists.txt to use as the project root
relative to the SOURCE_DIR.

This is helpful for projects that have unusual layouts, or projects that
provide both a superbuild and project-only build depending on which
CMakeLists.txt is used.

Fixes: #15118
2016-08-16 13:18:18 -04:00
Ben Boeckel 2bdba83e4b issues: update references to the CMake issue tracker
References to specific comments are left as-is since comments were not
migrated.
2016-08-15 09:34:06 -04:00
Brad King 33d4aff50d Merge topic 'autogen-same-name'
61a607e8 Help: Document AUTORCC behavior for same .qrc name case
e4f508e4 Tests/QtAutogen: Test same moc/qrc source names in different directories
4e9b97d7 QtAutogen: Allow multiple qrc files with the same name
41c9e14a QtAutogen: Allow multiple moc files with the same name
3c3b37b0 QtAutogen: Use std:: instead of ::std::
0a5dd3c7 cmFilePathUuid: Add class to generate deterministic unique file names
2016-08-15 08:59:46 -04:00
Sebastian Holtermann e4f508e423 Tests/QtAutogen: Test same moc/qrc source names in different directories 2016-08-10 13:21:34 -04:00
Brad King 50ada755e3 Merge topic '15687-xcode-support-system-include'
93ac2a78 Xcode: Obey SYSTEM keyword for includes (#15687)
2016-08-10 11:16:01 -04:00
Brad King 655d242b90 Merge topic 'fix-test-macOS-case-sensitive'
677e73cb Tests: Fix RunCMake.Framework on case sensitive file systems.
2016-08-10 11:15:58 -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
Chaoren Lin 677e73cb8a Tests: Fix RunCMake.Framework on case sensitive file systems.
The file is lowercase: Tests/RunCMake/Framework/osx.cmake
2016-08-09 16:00:27 -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
Gregor Jasny 93ac2a78d5 Xcode: Obey SYSTEM keyword for includes (#15687)
CMake used to put all header search paths into HEADER_SEARCH_PATHS
attribute. Unfortunately this attribute does not support to declare
a search path as a system include.

As a hack one could add a -isystem /path to the cflags but then include
ordering is not deterministic. A better approach was chosen with this
patch by not filling HEADER_SEARCH_PATHS at all and to populate
the C, C++, and Fortran flags directly. The include paths used by
Xcode should be now identical to the ones used by Unix Makefiles and
Ninja generator.
2016-08-09 20:30:07 +02: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
Daniel Pfeifer 3a7be4f394 prefer list(APPEND) over string(APPEND) where appropriate 2016-08-08 21:28:52 +02:00
Brad King 88e1c54a7c Merge topic 'use-string-append'
7a649111 Use string(APPEND) in Tests
5d0d980d Use string(APPEND) in Modules
2016-08-01 14:59:50 -04:00
Brad King 2711c35a8d Merge topic 'app-framework-bundle-extension'
f951d0ad Add tests for BUNDLE_EXTENSION
c63380b1 Update documentation about bundle extensions
134d5c1f Honor BUNDLE_EXTENSION also for Frameworks (#14742)
2b909c08 Honor BUNDLE_EXTENSION also for App Bundles (#16148)
2016-08-01 14:59:44 -04:00
Brad King 8427b8e11c Merge topic 'aliased-target-properties'
ea647533 Do not report ALIASED_TARGET as always set (#15783)
2016-08-01 14:59:41 -04:00
Daniel Pfeifer 7a649111cd Use string(APPEND) in Tests
Automate with:

find Tests -type f -print0 | xargs -0 perl -i -0pe \
's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
2016-07-28 00:43:04 +02:00
Brad King d504999d86 Merge topic 'tests-hide-ldd-check-errors'
d6a6024e Tests: Hide errors from `ldd --help` output check
2016-07-22 09:17:53 -04:00
Brad King 1fc340f0d4 Merge topic 'windows-export-all-fix-objlib'
13a6ff31 VS: Fix WINDOWS_EXPORT_ALL_SYMBOLS for object libraries
2016-07-22 09:17:48 -04:00