Commit Graph

29563 Commits

Author SHA1 Message Date
David Gobbi 2db092b1f6 FindPython{Interp,Libs}: Add versions 3.5 and 3.6 2015-09-16 08:54:04 -04:00
Brad King 46915ab963 Merge topic 'detect-c11-broken-thread-local'
ffa6f057 Avoid using C11 to build CMake if _Thread_local support is broken
2015-09-16 08:47:28 -04:00
Brad King 982850a866 Merge topic 'test-search-ordering'
7a6e5f06 Tests: Cover find_program when the environment duplicate some HINTS
40122975 Merge branch 'fix-bad-search-ordering' into test-search-ordering
02440154 find_*: Fix search order when the environment duplicates some HINTS
2015-09-16 08:47:25 -04:00
Brad King 0ec6201547 Merge topic 'ccmake-portability'
7046eedd ccmake: Use more-portable call to set_field_buffer (#15740)
da1a02f7 ccmake: Avoid using non-portable 'curcol' field (#15739)
6c442e5a ccmake: Pass format string to 'printw' (#15738)
2015-09-16 08:47:21 -04:00
Brad King f3c3b42851 Merge topic 'FindProtobuf-python-extension'
2ec97b13 FindProtobuf: Add protobuf_generate_python function
2015-09-16 08:47:19 -04:00
Thomas Klausner 7046eedd38 ccmake: Use more-portable call to set_field_buffer (#15740)
The set_field_buffer function on NetBSD and Solaris:

  http://netbsd.gw.com/cgi-bin/man-cgi?set_field_buffer++NetBSD-current
  https://docs.oracle.com/cd/E36784_01/html/E36880/set-field-buffer-3curses.html

has as third argument "char *" while ncurses has "const char *".  Cast
the argument type in our call to account for the missing "const".
2015-09-16 08:42:20 -04:00
Joerg Sonnenberger da1a02f77f ccmake: Avoid using non-portable 'curcol' field (#15739)
'curcol' is an implementation detail of ncurses so other implementations
of 'form' may not have it.  The switch-to-previous-field logic only
exists for overloaded requests of REQ_DEL_PREV, so no need to check for
REQ_DEL_CHAR.  For REQ_DEL_PREV, check if the field changed and if it
did, change it back.
2015-09-16 08:42:20 -04:00
Joerg Sonnenberger 6c442e5a89 ccmake: Pass format string to 'printw' (#15738)
printw takes a format string as first argument, so don't pass variable
strings to it directly.
2015-09-16 08:42:20 -04:00
Kitware Robot 443b0fdb3d CMake Nightly Date Stamp 2015-09-16 00:01:07 -04:00
Raphael Kubo da Costa ffa6f057b4 Avoid using C11 to build CMake if _Thread_local support is broken
Support for C11's _Thread_local was introduced in GCC in the 4.9 series,
even though we make the C11 compiler flags available in CMake with GCC
>= 4.6.

FreeBSD's runetype.h uses _Thread_local, which causes CMake's own build
to fail when using GCC < 4.9 and -std=gnu11:

  /usr/include/runetype.h:92:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
   extern _Thread_local const _RuneLocale *_ThreadRuneLocale;

Add a test for _Thread_local support and only build CMake itself with
C11 support if it works.

Bug: http://www.cmake.org/Bug/view.php?id=15741
2015-09-15 10:51:54 -04:00
Brad King cda189356e Merge topic 'jsoncpp-portability'
75644daf jsoncpp: Fix compilation as C99 on Solaris
2015-09-15 09:17:15 -04:00
Brad King be2bac558f Merge topic 'doc-string-REGEX-concat'
3809150a Help: Document string(REGEX) input concatentation (#15742)
5f2c47c4 Help: Organize string command docs into sections
2015-09-15 09:17:12 -04:00
Brad King 4fe1331f84 Merge topic 'update-kwsys'
ef29f5ef Merge branch 'upstream-kwsys' into update-kwsys
7de8f67a KWSys 2015-09-11 (cfeb27cc)
2015-09-15 09:17:10 -04:00
Brad King 7a6e5f06e7 Tests: Cover find_program when the environment duplicate some HINTS
Reported-by: Marc CHEVRIER <marc.chevrier@sap.com>
2015-09-15 08:53:06 -04:00
Brad King 401229759c Merge branch 'fix-bad-search-ordering' into test-search-ordering 2015-09-15 08:52:38 -04:00
Andreas Bergmeier 2ec97b1302 FindProtobuf: Add protobuf_generate_python function 2015-09-15 08:27:55 -04:00
Kitware Robot 075de28b36 CMake Nightly Date Stamp 2015-09-15 00:01:04 -04:00
Brad King 050a14f4a7 Merge topic 'extend-windows-version-detection'
4734df5f Windows: Set CMAKE_HOST_SYSTEM_VERSION with three components
2015-09-14 16:20:28 -04:00
Chuck Atkins 02440154fb find_*: Fix search order when the environment duplicates some HINTS
Refactoring in the topic merged by commit v3.2.0-rc1~400 (Merge topic
'refactor-search-path-construction', 2014-11-13) introduced a bug that
filters out duplicate paths in an incorrect order.  Restore the search
path to its documented order even when duplicate paths are present.

Reported-by: Marc CHEVRIER <marc.chevrier@sap.com>
2015-09-14 14:43:38 -04:00
Brad King 3809150a38 Help: Document string(REGEX) input concatentation (#15742)
These commands concatenate all their input before matching.  Document
this behavior.
2015-09-14 10:37:59 -04:00
Brad King 5f2c47c44c Help: Organize string command docs into sections
Add section headers and titles for each command signature.  Group
related commands into sections.
2015-09-14 10:37:40 -04:00
Joerg Sonnenberger 75644dafe5 jsoncpp: Fix compilation as C99 on Solaris
In C99 mode, Solaris variants may already define isfinite, so check for
the existence first.
2015-09-14 09:40:38 -04:00
Brad King ef29f5ef89 Merge branch 'upstream-kwsys' into update-kwsys 2015-09-14 09:24:05 -04:00
KWSys Robot 7de8f67af3 KWSys 2015-09-11 (cfeb27cc)
Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ cfeb27cc | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' dc3fdd7f..cfeb27cc
Gilles Khouzam (2):
      27714139 SystemTools: Call GetVersionEx more robustly
      cfeb27cc SystemTools: Report Windows 7, 8, 8.1 and 10 by name
2015-09-14 09:24:02 -04:00
Brad King 6dad4c25b0 Merge topic 'fix_64bit_autodef'
db7f069a Windows: Fix 64-bit DLL module definition file generation on VS 2015
2015-09-14 09:21:00 -04:00
Brad King f660a6890c Merge topic 'FindHDF5-updates'
fd26a19a FindHDF5: Add NAMES_PER_DIR and introduce HDF5_PREFER_PARALLEL
2015-09-14 09:20:01 -04:00
Brad King 31117bb17c Merge topic 'fix-buildsystem-property-append'
ed258d60 Tests: Cover set_property for buildsystem directory properties
fb45c371 cmState: Only append non-empty values to buildsystem properties.
158f7e31 cmMakefile: Use appropriate parameter name.
08ce3f48 cmTarget: Only append non-empty values to buildsystem properties.
2015-09-14 09:19:59 -04:00
Brad King 75ad8d3421 Merge topic 'fix-implicit-lib-redhat-hardened-ld'
97ffbcd8 CMakeParseImplicitLinkInfo: Do not match "VAR=..." as link line (#15737)
2015-09-14 09:19:57 -04:00
Brad King e32604d67b Merge topic 'doc-OBJECT_DEPENDS-limitations'
2468eb33 Help: Document limitations of the OBJECT_DEPENDS source file property
2015-09-14 09:19:55 -04:00
Brad King 8af34749fe Merge topic 'fix-makefile-progress'
5d6aa364 cmLocalGenerator: Always return the end snapshot state of a directory.
3f4e5e8c cmState: Return end snapshot for GetBuildsystemDirectoryParent.
2015-09-14 09:19:51 -04:00
Bill Hoffman db7f069a4b Windows: Fix 64-bit DLL module definition file generation on VS 2015
With 64-bit Windows builds, there is no need to remove the leading
underscore from all the symbols.  This is because it does not have one
in the .obj file unless it is really in the name.  This did not cause
any trouble until VS 2015 which has some system functions that have a
leading underscore that end up in the .def file.
2015-09-14 09:16:49 -04:00
Kitware Robot f844993c24 CMake Nightly Date Stamp 2015-09-14 00:01:04 -04:00
Kitware Robot e52aa5619c CMake Nightly Date Stamp 2015-09-13 00:01:04 -04:00
Stephen Kelly 5d6aa3648b cmLocalGenerator: Always return the end snapshot state of a directory.
This is needed for proper makefile progress tracking.

The cmLocalGenerator is constructed at configure-time, but only used
at generate time.  The StateSnapshot member is currently populated
before configuring, so use the Makefile to get the end snapshot.
2015-09-12 14:09:00 +02:00
Kitware Robot 2e11afd2f7 CMake Nightly Date Stamp 2015-09-12 00:01:07 -04:00
Stephen Kelly 3f4e5e8c3d cmState: Return end snapshot for GetBuildsystemDirectoryParent.
This is the appropriate snapshot for future use.  Existing users
of this method are mostly just calling GetDirectory on the result,
but the progress tracking of the Makefile generator needs a consistent
snapshot to be used, so the end snapshot should be consistently used.
2015-09-11 23:17:27 +02:00
Brad King 2468eb33b9 Help: Document limitations of the OBJECT_DEPENDS source file property 2015-09-11 15:13:24 -04:00
Paul Romano fd26a19afc FindHDF5: Add NAMES_PER_DIR and introduce HDF5_PREFER_PARALLEL
The calls to find_program now use NAMES_PER_DIR so that the first executable
(e.g. h5pcc) appearing on their PATH will get chosen. The HDF5_PREFER_PARALLEL
variable swaps the search order when it is set to true in the event that a
directory being search contains both h5cc and h5pcc.
2015-09-11 14:27:08 -04:00
Brad King 97ffbcd8a4 CMakeParseImplicitLinkInfo: Do not match "VAR=..." as link line (#15737)
When compiling with

  LDFLAGS='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld'

the compiler output includes a line like

  COLLECT_GCC_OPTIONS='-specs=/usr/lib/rpm/redhat/redhat-hardened-ld' ...

that our link line regex matches due to an argument ending in "-ld".
Since it is not really the link line no implicit link information is
dectected.  Exclude "VAR=..." lines from consideration as link lines to
fix this.
2015-09-11 13:50:34 -04:00
Brad King ed258d606b Tests: Cover set_property for buildsystem directory properties
Extend the RunCMake.set_property test with cases covering buildsystem
directory properties:

* COMPILE_DEFINITIONS
* COMPILE_OPTIONS
* INCLUDE_DIRECTORIES

Also test a non-buildsystem property to document the equivalence
in behavior.
2015-09-11 19:13:25 +02:00
Stephen Kelly fb45c37160 cmState: Only append non-empty values to buildsystem properties.
This is a change in behavior from CMake 3.3, but there is no semantic meaning
to empty entries in buildsystem properties.  This also restores behavior to
that of CMake 2.8.10.
2015-09-11 19:12:46 +02:00
Stephen Kelly 158f7e31dc cmMakefile: Use appropriate parameter name. 2015-09-11 18:30:47 +02:00
Stephen Kelly 08ce3f486e cmTarget: Only append non-empty values to buildsystem properties.
This is a change in behavior from CMake 3.3, but there is no semantic meaning
to empty entries in buildsystem properties.  This also restores behavior to
that of CMake 2.8.10.
2015-09-11 18:30:46 +02:00
Gilles Khouzam 4734df5f79 Windows: Set CMAKE_HOST_SYSTEM_VERSION with three components
Call GetVersionEx with OSVERSIONINFOEX instead of OSVERSIONINFO so that
we can get the dwBuildNumber as a third version component.
2015-09-11 11:21:53 -04:00
Brad King 8e8824149f Merge topic 'fix-TrimWhitespace'
9c4a500f cmSystemTools: Fix TrimWhitespace for non-ascii strings (#15735)
87a9061d cmSystemTools: Factor out a cm_isspace helper
2015-09-11 11:04:06 -04:00
Brad King 8fb496a6c5 Merge topic 'compiler-features-robustness'
150e1b27 Features: Extract strings from test binary more reliably (#15736)
2015-09-11 11:04:04 -04:00
Brad King 1181375381 Merge topic 'revert-fix-windows-version-detection'
4c7744c8 Revert "Windows: Fix CMAKE_HOST_SYSTEM_VERSION on Windows >= 8.1 (#15674)"
2015-09-11 11:04:01 -04:00
Kitware Robot 24b7e3f8fd CMake Nightly Date Stamp 2015-09-11 00:01:04 -04:00
Brad King 4c7744c891 Revert "Windows: Fix CMAKE_HOST_SYSTEM_VERSION on Windows >= 8.1 (#15674)"
This reverts commit d4736d53cd.
RtlGetVersion is a private API not meant for public use.  Another
solution to detecting the Windows version will be needed.

Reported-by: Gilles Khouzam <Gilles.Khouzam@microsoft.com>
2015-09-10 16:02:09 -04:00
Brad King 150e1b27c5 Features: Extract strings from test binary more reliably (#15736)
Since commit v3.1.0-rc1~635^2~7 (project: Add infrastructure for
recording CXX compiler features, 2013-10-17) we compile a test source to
a binary and then extract "<LANG>_FEATURES:..." strings from the binary
with the file(STRINGS) command.  Add a newline at the beginning of the
string literal to be sure file(STRINGS) can extract the first entry as a
string independent of whatever else the compiler may put before the
storage it allocates for the literal within the binary.
2015-09-10 14:41:05 -04:00