Commit Graph

32996 Commits

Author SHA1 Message Date
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
Ruslan Baratov a788cf3092 Tests: Add case for file(LOCK) with lower-cased path
The KWSys update in commit d28e4467 (KWSys 2016-09-14 (c4049689))
fixed this case, so add it to the test suite.

Closes: #16295
2016-09-15 11:44:28 -04:00
Brad King 7aa97b948f FeatureSummary: Add include() to examples
Since this module's documentation already includes complete usage
examples, make them more complete by showing the include() explicitly.

Issue: #16309
2016-09-15 11:34:34 -04:00
Brad King 46ded385c0 FeatureSummary: Format documentation
Revise the documentation using reStructuredText inline markup and
explicit blocks so that it formats well.
2016-09-15 11:33:24 -04:00
Brad King 5d17e99580 FeatureSummary: Convert docs to a bracket comment
Use a bracket comment to hold the documentation instead of a block of
line comments.  This will make further updates easier.
2016-09-15 09:50:32 -04:00
Brad King 7c92c84302 FeatureSummary: Order function implementations the same as the documentation 2016-09-15 09:49:03 -04:00
Brad King ae783c9ba9 Require CMake 2.8.12.2 to build CMake itself
This will enable use of features such as ALIAS targets within CMake's
own build.
2016-09-15 09:24:25 -04:00
Brad King 010140311a Merge topic 'update-kwsys'
de149317 Tests: Use upper-case drive letters in RunCMake.get_filename_component
04d94fbe Merge branch 'upstream-KWSys' into update-kwsys
d28e4467 KWSys 2016-09-14 (c4049689)
e4fc770f Merge branch 'upstream-KWSys' into update-kwsys
b80d6136 KWSys 2016-09-14 (e736efa1)
2016-09-15 08:46:48 -04:00
Brad King b7dcadac44 Merge topic 'add-strverscmp'
88494325 Tests: Add test for our strverscmp implementation
07f69bd5 cmSystemTools: Add strverscmp
2016-09-15 08:46:45 -04:00
Brad King 6f31436c91 Merge topic 'extend_matlab_unit_test'
4ebb4ae6 FindMatlab: Extend matlab_add_unit_test to run arbitrary test code
2016-09-15 08:46:42 -04:00
Brad King e0e047fe4b Merge topic 'refactor-target-construction'
7a2e114d cmTarget: Inline SetType method at only remaining call site
00e78c19 cmTarget: Construct with basic information up front
9d11bd50 Avoid requiring default cmTarget constructor for map indexing
d97513d8 cmTarget: Add method to get a copy adapted for a directory
2016-09-15 08:46:40 -04:00
Brad King 62a79dccc5 Merge topic 'cmake-static-FindCacheFile'
cc770e76 cmake: Make FindCacheFile a static method
2016-09-15 08:46:37 -04:00
Brad King 0063b6b43c Merge topic 'fix-ccmake-sun-gcc'
d4d0c942 ccmake: Fix recent compilation regression with GCC on Solaris
2016-09-15 08:46:34 -04:00
Brad King 0b282335ab Merge topic 'fix-CMAKE_COMPILER_IS_GNU-confusion'
152bbe50 Modules: Fix typos in name of `CMAKE_COMPILER_IS_GNUCC` variable
a6d3f541 Help: Clarify documentation of CMAKE_COMPILER_IS_GNU{CC,CXX,G77}
2016-09-15 08:46:30 -04:00
Brad King f129dc752b Merge topic 'python-3.7'
c31573b9 FindPython{Interp,Libs}: Add version 3.7
2016-09-15 08:46:27 -04:00
Brad King de1493176b Tests: Use upper-case drive letters in RunCMake.get_filename_component
With the most recent KWSys update, the "actual case" operation on
Windows always upper-cases the drive letter now even for absolute paths
that do not exist.  Use an upper-case drive letter in the test so that
it can tolerate this operation on Windows and the lack of this operation
elsewhere.
2016-09-15 08:39:18 -04:00
Ruslan Baratov e1ca117332 ExternalProject: Add HTTP_{USERNAME,PASSWORD} 2016-09-15 07:52:54 +03:00
Kitware Robot 100817dc5d CMake Nightly Date Stamp 2016-09-15 00:01:07 -04:00
Brad King 7a2e114dd8 cmTarget: Inline SetType method at only remaining call site 2016-09-14 14:50:40 -04:00
Brad King 00e78c1990 cmTarget: Construct with basic information up front
Avoid having partially constructed cmTarget instances around,
except for the special case of GLOBAL_TARGET construction.
2016-09-14 14:50:39 -04:00
Brad King 9d11bd5066 Avoid requiring default cmTarget constructor for map indexing
The `std::map<>` index operator requires a default constructor on the
value type.  Avoid requiring a default constructor on `cmTarget` just
for this purpose.
2016-09-14 14:50:39 -04:00
Brad King d97513d842 cmTarget: Add method to get a copy adapted for a directory
The "global" targets are built once for the top directory and then
copied into all directories.  Add a helper method to make the copy.
2016-09-14 14:50:39 -04:00
Bill Hoffman 4ebb4ae6cf FindMatlab: Extend matlab_add_unit_test to run arbitrary test code
Allow a custom matlab set of commands to be run as the test instead of
just `runtests('matlab_file_name')`.
2016-09-14 13:08:19 -04:00
Brad King cc770e7670 cmake: Make FindCacheFile a static method
It does not need access to member data.
2016-09-14 11:49:24 -04:00
Brad King d4d0c94226 ccmake: Fix recent compilation regression with GCC on Solaris
The change in commit 32f756c8 (CursesDialog: include what you use,
2016-09-01) revealed that an ancient workaround for compiling with GCC
on Solaris has not had an effect in a long time and is now incorrect.
Drop it.
2016-09-14 10:51:27 -04:00
Brad King 152bbe5068 Modules: Fix typos in name of `CMAKE_COMPILER_IS_GNUCC` variable
It is not called `CMAKE_COMPILER_IS_GNUC` (without last `C`).

Closes: #16297
2016-09-14 10:12:30 -04:00
Brad King a6d3f5418c Help: Clarify documentation of CMAKE_COMPILER_IS_GNU{CC,CXX,G77}
Closes: #16308
2016-09-14 10:09:39 -04:00
Brad King 04d94fbe92 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-09-14 (c4049689)

Issue: #16295
2016-09-14 09:49:37 -04:00
KWSys Upstream d28e4467aa KWSys 2016-09-14 (c4049689)
Code extracted from:

    http://public.kitware.com/KWSys.git

at commit c4049689d1ff6e3b9f59358023aebb1a7e0fd149 (master).

Upstream Shortlog
-----------------

Brad King (2):
      0504dcaf SystemTools: Fix path comparison in test case
      c4049689 SystemTools: Teach GetActualCaseForPath to convert as much as possible
2016-09-14 09:43:31 -04:00
Brad King e4fc770fa3 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-09-14 (e736efa1)
2016-09-14 09:41:55 -04:00
KWSys Upstream b80d613632 KWSys 2016-09-14 (e736efa1)
Code extracted from:

    http://public.kitware.com/KWSys.git

at commit e736efa13ad42a4245b95774d114720ad0877c5b (master).

Upstream Shortlog
-----------------

Brad King (1):
      e736efa1 ConsoleBuf: Always compile test source for host Windows version

Dāvis Mosāns (1):
      669e3a06 ConsoleBuf: Use a custom std::streambuf for console output on Windows
2016-09-14 09:41:49 -04:00
Yen Chi Hsuan c31573b964 FindPython{Interp,Libs}: Add version 3.7 2016-09-14 09:13:15 -04:00
Pierluigi Taddei 884943251b Tests: Add test for our strverscmp implementation
Cover typical examples and the ordering defined by the `strverscmp(3)`
man page.
2016-09-14 09:10:18 -04:00
Brad King ea69e03afa Merge topic 'minor-cleanup'
6a9ed3d4 cmGeneratorTarget: factor out a space
2016-09-14 09:02:29 -04:00
Brad King e9dbb272e0 Merge topic 'cmake-E-help-order'
e952f1bd cmcmd: Fix sort order in help output
2016-09-14 08:56:25 -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 35e3836589 Merge topic 'ctest-subdir-spaces'
1f8613e9 Fix CTest test file generation for spaces in subdirectory names
385e6a27 cmLocalGenerator: Refactor test subdirectory generation loop
2016-09-14 08:56:16 -04:00
Brad King 321c179962 Merge topic 'cmake-gui-open-project'
1ca2d5d1 cmake-gui: Add button to open the generated project
2016-09-14 08:56:12 -04:00
Brad King abeb42f1d9 Help: Add notes for topic 'file-curl-userpw' 2016-09-14 08:48:23 -04:00
Kitware Robot 989ca432e4 CMake Nightly Date Stamp 2016-09-14 00:01:04 -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
Stefano Soffia 1f8613e9ba Fix CTest test file generation for spaces in subdirectory names
Encode the subdirectory names properly for CMake syntax.

Closes: #16299
2016-09-13 13:58:46 -04:00
Stefano Soffia 385e6a274d cmLocalGenerator: Refactor test subdirectory generation loop 2016-09-13 13:57:59 -04:00
Ruslan Baratov e5ba1041be file(DOWNLOAD|UPLOAD): Add 'USERPWD' suboption 2016-09-13 20:24:12 +03: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 07f69bd5cc cmSystemTools: Add strverscmp
Add support for natural string order by comparing non-numerical
character directly and numerical number by firstly collecting contiguous
digits.  The order is defined by the `strverscmp(3)` manual [1].

[1] http://man7.org/linux/man-pages/man3/strverscmp.3.html

Inspired-by: Pierluigi Taddei <pierluigi.taddei@gmail.com>
2016-09-13 11:52:28 -04:00
Brad King 112f758223 Merge topic 'cmake-server-prepare'
3e58b9af cmake: Factor out method to find the CMakeCache.txt file
c73967cb cmake: Introduce ReportCapabilitiesJson
366e3828 Update .gitignore
2016-09-13 11:40:50 -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