Commit Graph

29584 Commits

Author SHA1 Message Date
Brad King 4da3315db3 Merge topic 'find_program-NAMES_PER_DIR'
8ea7611b find_program: Optionally consider all names in each directory
fc1990c9 cmFindProgramCommand: Re-implement search using more flexible approach
fdbfc9f6 Tests: Add explicit testing for find_program
907a919b cmSystemTools: Drop unused StringEndsWith method
ed4de3c9 cmFindProgramCommand: Use Names member instead of passing it
bf32b95e cmFindLibraryCommand: Avoid repeating search for the same name
2015-09-08 10:24:36 -04:00
Brad King 20b7e79d21 Merge topic 'FindOpenSSL-static-libs'
369a8cde FindOpenSSL: Optionally search only for static libraries
2015-09-08 10:24:34 -04:00
Brad King 92901684d4 Merge topic 'FindZLIB-per-config'
11097f52 FindZLIB: Find debug and release variants separately
2015-09-08 10:24:32 -04:00
Brad King 7f1e896d8e Merge topic 'update-kwsys'
d2b8229d Tests: Fix Plugin test on Watcom compiler
89958fd0 bootstrap: Remove unused KWSys configuration
c5cc3441 Merge branch 'upstream-kwsys' into update-kwsys
1b79433a KWSys 2015-08-28 (dc3fdd7f)
2015-09-08 10:24:30 -04:00
Kitware Robot a897f136c8 CMake Nightly Date Stamp 2015-09-08 00:01:03 -04:00
Kitware Robot d17ecf1164 CMake Nightly Date Stamp 2015-09-07 00:01:04 -04:00
Gregor Jasny 3b906c8003 GTK2: Add --build-project to all GTK2 tests
Otherwise xcodebuild invocation will fail.
2015-09-06 20:41:41 +02:00
Gregor Jasny 9cdf6ef48d Swift: Add proper Swift compiler test
This catches for example the unavailability of Swift with
Xcode Beta6 and macosx10.10 SDK.
2015-09-06 18:19:18 +02:00
Gregor Jasny 1aa29f0db6 Swift: Remove positive Swift language tests
It's relatively complex to determine in advance if a Xcode, SDK,
and Deployment Target configuration is capable of running Swift.

For example the following combinations do not work:
 * deployment target < OS X 10.9
 * Xcode 6.2 and macosx10.9 SDK
 * Xcode 7 Beta 6 and macosx10.10 SDK

Until we found out how to query Xcode for Swift support in a reliable
way, the RunCMake.Swift test cases will be restricted to negative ones.
2015-09-06 18:14:35 +02:00
Kitware Robot 9e64fda6a7 CMake Nightly Date Stamp 2015-09-06 00:01:04 -04:00
Gregor Jasny d778a1c2ff Swift: Require Xcode 6.1 and for MacOS X at least SDK 10.10 2015-09-05 23:39:27 +02:00
Kitware Robot 2a8813d62c CMake Nightly Date Stamp 2015-09-05 00:01:04 -04:00
Rolf Eike Beer ea080e3eb3 write_basic_package_version_file: remove variable dereferences in templates
Fixes some minor whitespace issues in the if()s.
2015-09-04 20:44:24 +02:00
Kitware Robot 20f6007053 CMake Nightly Date Stamp 2015-09-04 00:01:05 -04:00
Gregor Jasny 4da60024ad Swift: Fix Compiler-Id detection for Swift 2 2015-09-03 20:30:45 +02:00
Gregor Jasny 874a265c94 Swift: Make SwiftMix compatible with Swift 2 2015-09-03 20:30:32 +02:00
Brad King d2b8229d02 Tests: Fix Plugin test on Watcom compiler
The Watcom compiler does not have stream operators for std::string.
Since KWSys no longer provides the operators for us, just use c_str()
to avoid the problem and allow the test to compile on Watcom.
2015-09-03 09:34:47 -04:00
Brad King b9856862fe Tests: Cover set_property for buildsystem target properties
Extend the RunCMake.set_property test with cases covering buildsystem
target properties:

* COMPILE_DEFINITIONS
* COMPILE_FEATURES
* COMPILE_OPTIONS
* INCLUDE_DIRECTORIES
* LINK_LIBRARIES
* SOURCES

Also test a non-buildsystem property to document the current difference
in behavior.  Refactor the existing LINK_LIBRARIES case to the same
more-extensive test as the rest.  Use the output generated by CMake 3.3
as the expected output for each test case.
2015-09-03 06:52:36 -04:00
Brad King 407ff47eca cmTarget: Fix memory leak when SOURCES property is cleared 2015-09-03 06:52:36 -04:00
Brad King cf74fc24d4 cmTarget: Fix buildsystem property empty value set and append operations
Refactoring in commit 1f54bc1c (cmTarget: Split storage of include
directories from genexes, 2015-08-04), commit 772ecef4 (cmTarget: Split
storage of compile options from genexes, 2015-08-04), commit 44e071ae
(cmTarget: Split storage of compile features from genexes, 2015-08-04),
and commit 197f4de1 (cmTarget: Split storage of compile definitions from
genexes, 2015-08-04) failed to account for value==NULL in SetProperty
and AppendProperty methods.
2015-09-03 06:52:36 -04:00
Brad King e7777cc563 Merge topic 'release-scripts-doc-dir'
6f7edb87 Utilities/Release: Install docs in unversioned directory (#15692)
7d891cde Utilities/Release: Refactor bootstrap argument construction
2015-09-03 06:50:20 -04:00
Brad King d38794996f Merge topic 'add-link-search-static-properties-defaults'
18d7f8fb Tests: Move LINK_SEARCH_{START,END}_STATIC case to dedicated test
2015-09-03 06:50:05 -04:00
Brad King 18252b5887 Merge topic 'vs-store-phone-cert-thumbs'
7c33b0f9 cmSystemTools: Skip ComputeCertificateThumbprint during bootstrap
2015-09-03 06:49:55 -04:00
Kitware Robot d1dc344cf1 CMake Nightly Date Stamp 2015-09-03 00:01:04 -04:00
Brad King 18d7f8fbfb Tests: Move LINK_SEARCH_{START,END}_STATIC case to dedicated test
The test case added to RunCMake.set_property by commit 675ef165 (Allow
LINK_SEARCH_{START,END}_STATIC props to have default values, 2015-08-07)
is not a test of the set_property command and so belongs in its own test
case.  Create a new RunCMake.LinkStatic test to cover cases related to
static linking.

While at it, simplify the LINK_SEARCH_STATIC test case to enable only C.
2015-09-02 16:11:29 -04:00
Brad King 6f7edb87ea Utilities/Release: Install docs in unversioned directory (#15692)
Our upstream-built release tarballs already contain many unversioned
paths and so will never overlap with another version of CMake in the
same installation prefix.  Therefore we do not need a versioned name for
the documentation directory.  Configure our release binaries to place
the documentation in an unversioned directory so that one can use the
same path to refer to the documentation locally even after updating
CMake.  For example, on OS X one may see the documentation in
`/Applications/CMake.app/Contents/doc/cmake/html/index.html`.
2015-09-02 14:15:59 -04:00
Brad King 7d891cde02 Utilities/Release: Refactor bootstrap argument construction
Pass needed bootstrap arguments directly instead of constructing them
from various conditions.
2015-09-02 14:11:57 -04:00
Thijs Wenker 369a8cde37 FindOpenSSL: Optionally search only for static libraries
Add an OPENSSL_USE_STATIC_LIBS option to enable it.  Adjust
CMAKE_FIND_LIBRARY_SUFFIXES to only look for .a and .lib files.  Also
adjust the search paths on Windows for installer locations of static
libraries.
2015-09-02 13:47:57 -04:00
Michael Scott 11097f5231 FindZLIB: Find debug and release variants separately
Provide each variant in ZLIB_LIBRARIES and ZLIB::ZLIB imported location
properties when one is found, while maintaining support for manually
setting the library via ZLIB_LIBRARY.
2015-09-02 11:35:43 -04:00
Brad King 89958fd06e bootstrap: Remove unused KWSys configuration
KWSys has removed support for kwsys_ios, kwsys_stl, and pre-c++98
template compatibility layers.  Drop the bootstrap script checks for
these and configuration of the compatibility headers we no longer use.
2015-09-02 10:31:13 -04:00
Brad King c5cc3441b3 Merge branch 'upstream-kwsys' into update-kwsys 2015-09-02 10:23:17 -04:00
KWSys Robot 1b79433a6d KWSys 2015-08-28 (dc3fdd7f)
Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ dc3fdd7f | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' cdaf522c..dc3fdd7f
Brad King (9):
      15a16826 Remove include <kwsys/ios/*> and kwsys_ios:: compatibility layer
      a5799c17 Remove unused KWSYS_IOS_USE_{SSTREAM,STRSTREAM_H,STRSTREA_H} checks
      198957cf Remove unused KWSYS_IOS_USE_SSTREAM check
      24d2b60e Remove support for pre-C++98 streams
      2a581c30 Remove support for pre-C++98 std::string missing operators
      5f3fd465 Remove support for pre-C++98 STL
      cded1574 Remove support for pre-C++98 STL from hash_map and hash_set
      f130a3ab Remove kwsys/cstddef compatibility header
      dc3fdd7f Remove support for pre-C++98 template capabilities
2015-09-02 10:23:14 -04:00
Brad King 8ea7611bc3 find_program: Optionally consider all names in each directory
When more than one value is given to the NAMES option this command by
default will consider one name at a time and search every directory for
it.  Add a NAMES_PER_DIR option to tell this command to consider one
directory at a time and search for all names in it.
2015-09-02 10:17:22 -04:00
Brad King fc1990c933 cmFindProgramCommand: Re-implement search using more flexible approach
Avoid using KWSys SystemTools::FindProgram because it does much more
than we actually need for find_program and does not allow us to control
the order of preference between directories and names.  Create our own
cmFindProgramHelper much like cmFindLibraryHelper but without all the
find_library-specific parts.
2015-09-02 10:17:22 -04:00
Brad King fdbfc9f677 Tests: Add explicit testing for find_program
Previously this command was tested only implicitly as part of larger
tests.  Add a RunCMake.find_program test to cover find_program cases
specifically and independently.
2015-09-02 10:17:22 -04:00
Brad King 907a919be1 cmSystemTools: Drop unused StringEndsWith method
It has no callers and we can inherit one from KWSys SystemTools anyway.
2015-09-02 10:17:21 -04:00
Brad King ed4de3c984 cmFindProgramCommand: Use Names member instead of passing it 2015-09-02 10:17:21 -04:00
Brad King bf32b95efe cmFindLibraryCommand: Avoid repeating search for the same name
In FindNormalLibraryDirsPerName we consider one name at a time and
search the entire path.  Avoid repeated consideration of names by
removing each one from the list of candidates before considering the
next one.  This will not change behavior because we already know the
earlier candidates were not found on repeated considering anyway.
2015-09-02 10:17:21 -04:00
Gilles Khouzam 4b8b91688f VS: Find Desktop SDK for current VS version (#15662)
Determine the Desktop SDK for Windows Phone and Windows Store from the
generator instead of the version of the targeted app.  This allows to
build a Windows Phone 8.1 app on VS 2015 for example.
2015-09-02 10:11:36 -04:00
Brad King 72c11e5902 Merge topic 'FindHDF5-updates'
f7f73df1 FindHDF5: Add hdf5_hl to list of libraries to search for Fortran_HL
19e7db07 FindHDF5: Fix support for HL and Fortran_HL components
2015-09-02 09:58:37 -04:00
Brad King ea1e57169c Merge topic 'swift2-compatibility'
61b6d52a Swift: Use dump instead of println
2015-09-02 09:58:35 -04:00
Brad King e1c58e0bfa Merge topic 'modules-no-soname'
21d99aa3 Tests: Use a less strict regular expression to look for "SONAME"
2015-09-02 09:58:28 -04:00
Brad King 7c33b0f9a6 cmSystemTools: Skip ComputeCertificateThumbprint during bootstrap
The implementation of this method requires linking to some extra system
libraries.  Simply leave it out of the bootstrap-built CMake.
2015-09-02 09:23:45 -04:00
Kitware Robot 29eed26aa6 CMake Nightly Date Stamp 2015-09-02 00:01:04 -04:00
Brad King b4338c88df Merge topic 'drop-cmsys-std-layer'
76fa8596 Tests: Remove use of include <kwsys/{ios,stl}> and kwsys_{ios,stl}::
2015-09-01 16:47:29 -04:00
Gregor Jasny 61b6d52ad0 Swift: Use dump instead of println
With Swift 2.0 in Xcode7 the println function was renamed into
print. Use dump function instead which adds newlines like println.
2015-09-01 20:32:38 +02:00
Paul Romano f7f73df1b3 FindHDF5: Add hdf5_hl to list of libraries to search for Fortran_HL
When the Fortran_HL component is specified, the hdf5_hl library is not included
in HDF5_LIBRARIES which causes a bunch of undefined references at link
time. This commit adds hdf5_hl to the list of libraries to search for when the
Fortran_HL component is specified.
2015-09-01 10:56:51 -04:00
Paul Romano 19e7db07e3 FindHDF5: Fix support for HL and Fortran_HL components
Define HDF5_{Fortran_,}HL_COMPILE_LINE so that HDF5_{Fortran_,}HL_INCLUDE_DIR
and HDF5_{Fortran_,}HL_LIBRARIES are found when the macro is invoked for HL and
Fortran_HL components.  (Use patch from debian cmake-data package.)
2015-09-01 10:56:40 -04:00
Raphael Kubo da Costa 21d99aa345 Tests: Use a less strict regular expression to look for "SONAME"
Commit 899458ab (Tests: Cover NO_SONAME property for SHARED libraries,
2015-08-20) introduced a few new ExportImport tests, and the
check_lib_{no}soname.cmake scripts that parse readelf(1)'s output.

Make the regular expression matching the SONAME line output by readelf
less strict, as the output format varies across implementations: GNU
binutils' readelf is the only one to write each ELF header within
parentheses (which the previous regular expression expected).  The new
tests were thus failing when either Fedora's elfutils (eu-readelf) or
elftoolchain's readelf (present on recent FreeBSD versions) were being
used, as they both list the headers without parentheses.

The same issue also affected Tests/Plugin's check_mod_soname.cmake, so
fix that one as well -- the only reason the test was not failing is that
it tested that the regular expression did not match, which was always
the case with a non-binutils readelf.
2015-09-01 10:30:09 -04:00
Brad King 7b33d4efe1 Merge topic 'jacoco_find_files'
e92c59e7 ctest_coverage: Make Jacoco parser better at finding source files
2015-09-01 09:53:32 -04:00