Commit Graph

33022 Commits

Author SHA1 Message Date
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
Brad King f51f4ee9a3 Merge topic 'fix-ctest-segfault'
b35311ca CTestSVN: Fix segfault when CTEST_UPDATE_VERSION_ONLY is enabled
2016-09-13 11:40:44 -04:00
Brad King 2fbd309449 Merge topic 'doc-separate_arguments-formatting'
4f349a86 Help: Fix formatting in separate_arguments documentation
2016-09-13 11:40:41 -04:00
Brad King 5b85a3e26c Merge topic 'link-generated-rpaths-first'
9370b697 Re-order link line to place RPATH entries before libraries
2016-09-13 11:40:38 -04:00
Brad King 8a56e311ec Merge topic 'file-download-unexpected-arg'
4dd997da file(DOWNLOAD|UPLOAD): Warn on unexpected arguments
2016-09-13 11:40:35 -04:00
Ben Boeckel 6a9ed3d4ae cmGeneratorTarget: factor out a space 2016-09-13 11:22:42 -04:00
Tobias Hunger e952f1bdc7 cmcmd: Fix sort order in help output
sort "sleep" before "tar", not after
2016-09-13 11:47:03 +02:00
Kitware Robot 1ba87fd174 CMake Nightly Date Stamp 2016-09-13 00:01:06 -04:00
Tobias Hunger 3e58b9af57 cmake: Factor out method to find the CMakeCache.txt file 2016-09-12 22:00:22 +02:00
Brad King 410add4008 Help: Add notes for topic 'timestamp-names' 2016-09-12 15:15:50 -04:00
Nils Gladitz b35311ca44 CTestSVN: Fix segfault when CTEST_UPDATE_VERSION_ONLY is enabled
Before the change the list of externals was queried only
before the svn update.

With the change the list is queried both before and after.
This should also be more accurate since the list of externals might
change during the update.
2016-09-12 19:40:13 +02:00
Ruslan Baratov 751f7b5255 string(TIMESTAMP ...): add '%a' and '%b' format specifiers
%b: Abbreviated month name (e.g. Oct).
%a: Abbreviated weekday name (e.g. Fri).
2016-09-12 19:07:38 +03:00
Brad King a7305ef00a Merge topic 'geh-failure-tests'
612d6f29 Tests: Refactor GenerateExportHeader test code
ce76abb4 Tests: Add data symbols to GenerateExportHeader test
8f95b93b Tests: Add failure test for GenerateExportHeader
2016-09-12 11:57:15 -04:00
James Touton 4f349a8656 Help: Fix formatting in separate_arguments documentation
Make backslashes visible in the text.  Rename VARIABLE to <var> in
second signature for consistency with the first signature.  Add link to
referenced MSDN documentation.
2016-09-12 11:53:21 -04:00
Tobias Hunger c73967cb4a cmake: Introduce ReportCapabilitiesJson
Introduce cmake::ReportCapabilitiesJson which returns a the Json object
that is serialized in cmake::ReportCapabilities.

This allows to re-use the information in cmake-server.
2016-09-12 17:24:06 +02:00
Tobias Hunger 366e38284d Update .gitignore
Ignore *.user* files from QtCreator and *.pyc files.
2016-09-12 17:23:50 +02:00
Dan Kegel 9370b697e9 Re-order link line to place RPATH entries before libraries
Since we support adding arbitrary flags to the link line via
`target_link_libraries` the project/user may add their own RPATH flags
(typically for system library locations).  Re-order the link line to
place our generated RPATH entries before the libraries so that they also
come before flag-specified entries.  Otherwise our in-build-tree RPATH
entries may not be preferred by the dynamic loader and we could collide
with libraries in the system directories.

Closes: #16293
2016-09-12 10:51:18 -04:00
Matthew Woehlke 612d6f29f8 Tests: Refactor GenerateExportHeader test code
Refactor the library code used in the GenerateExportHeader test to use
an improved naming convention that more directly identifies what it
being tested, making use of namespaces to avoid possible symbol
collisions. This also eliminates duplicate cases such as `libshared()`
and `libshared_not_exported()` which had the same decoration, and adds
consistent pairings of <name>_EXPORT and <name>_DEPRECATED_EXPORT which
were missing previously. The data tests from the previous commit are
also added to `libstatic` and `libshared_and_static` for consistency.

Note that there are no exported members of exported classes, as these
are not allowed on Windows.
2016-09-12 10:29:20 -04:00
Matthew Woehlke ce76abb4c4 Tests: Add data symbols to GenerateExportHeader test
Add static data members and global variables to the GenerateExportHeader
shared library, testing that export decoration for these works in
addition to decoration of classes and free functions.
2016-09-12 10:28:59 -04:00
Matthew Woehlke 8f95b93b41 Tests: Add failure test for GenerateExportHeader
Modify notation of statements in the GenerateExportHeader test expected
to result in link errors. Modify script used to build the test to also
generate a suite of modified sources, each having exactly one of the
failing lines enabled, and to generate EXCLUDE_FROM_ALL executables for
the same. Modify RunCMake script used to drive the test to read the list
of such executables and try to build each of them, verifying that they
do in fact fail to build.

This will verify that the _NO_EXPORT macros are working as expected, and
will also catch errors like the one that commit 0cbaaf2d
(GenerateExportHeader: Fix add_compiler_export_flags regression,
2016-09-01) fixed.

When setting up the failure tests for GenerateExportHeader, check if the
compiler actually hides non-exported stuff.  If not, the failure tests
won't fail, and will cause the overall test to fail.  Since this
typically is only the case for very old compilers, simply skipping them
as opposed to trying to do something more fine grained seems reasonably
safe.
2016-09-12 10:27:45 -04:00
Brad King 03bae46865 Merge topic 'clang-tidy'
73128b82 cmDependsFortran: simplify boolean expression
8f324c7c cmSystemTools: simplify boolean expressions
5d3b5bef QCMakeCacheView: simplify boolean expression
ad42eb33 QCMakeCacheView: no else after return
2016-09-12 09:31:45 -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 a3aaf0a181 Merge topic 'drop-cygwin-binary'
db915a37 Utilities/Release: Drop Cygwin binary
2016-09-12 09:31:39 -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 58e56607c1 Merge topic 'vs-default-v100'
861f1b3d VS: Do not default to missing v100 64-bit toolset on VS 2010 Express
2016-09-12 09:31:32 -04:00