Commit Graph

17051 Commits

Author SHA1 Message Date
Ådne Hovda a234bcafd2 KWSys SystemInformation: Check for _SC_AIX_REALMEM before using it
Add a check for supported flag when querying for system memory on
AIX 5.1.
2014-11-11 09:16:46 -05:00
Brad King 3a6c359906 Suppress deprecation warnings for GetVersionEx
Visual Studio 12 (2013) deprecated GetVersionEx:

  warning C4996: 'GetVersionExW': was declared deprecated

in favor of either "versionhelpers.h" or VerifyVersionInfo, neither of
which exist in some of the older compilers we support.  Rather than
try to port conditionally to VerifyVersionInfo, simply suppress the
warning for now.
2014-11-11 08:55:58 -05:00
Kitware Robot dd563e1eb3 CMake Nightly Date Stamp 2014-11-11 00:01:07 -05:00
Daniele E. Domenichelli 4db31095e5 Fix link line order when shared libraries are de-duplicated
Since commit v3.1.0-rc1~227^2~1 (De-duplicate shared library targets in
generated link lines, 2014-07-30) we de-duplicate shared library targets
on the link line.  However, some toolchains will fail linking if an
executable is linking to a shared library that is not used directly and
a static library that depends on the shared one.  The linker may not
keep the reference to the shared library the first time and then the
symbols needed by the static library may not be found.

Fix this by reversing the direction of the for loop that removes the
duplicate shared libraries, in order to ensure that the last occurrence
of the library is left instead of the first one.

Extend Tests/Dependency with a case covering this behavior.  Create an
executable that links to a shared library and a static library but only
needs the shared library as a dependency of the static library.

Co-Author: Brad King <brad.king@kitware.com>
2014-11-10 14:46:22 -05:00
Brad King a1f964ef68 Merge topic 'make-fortran-preprocessor-assembly-targets'
b6b37e30 Makefile: Add assembly and preprocessed targets for Fortran
0842b084 Makefile: Refactor checks for lang-specific targets and export compile cmds
2014-11-10 10:43:08 -05:00
Brad King 742e6f8f06 Merge topic 'encoding-curl'
e63dcb13 Encoding: Use encoding libcurl expects with file: urls.
2014-11-10 10:43:06 -05:00
Brad King 8532a4f9a0 Merge topic 'file-GENERATE-permissions'
81afbbc0 file(GENERATE): Use permissions of input file if present.
2014-11-10 10:43:04 -05:00
Brad King ee6c79d1a3 Merge topic 'genex-target-objects-ordering'
caa4b7b8 genex: Preserve order while evaluating TARGET_OBJECTS
2014-11-10 10:42:59 -05:00
Tim Gallagher b6b37e3037 Makefile: Add assembly and preprocessed targets for Fortran
Extend the FortranOnly test to cover "make <src>.i" targets.
2014-11-10 10:24:53 -05:00
Kitware Robot a82dde2d3f CMake Nightly Date Stamp 2014-11-10 00:01:07 -05:00
Kitware Robot 13fb4fd167 CMake Nightly Date Stamp 2014-11-09 00:01:08 -05:00
Kitware Robot 5bdb9b6189 CMake Nightly Date Stamp 2014-11-08 00:01:08 -05:00
Clinton Stimpson caa4b7b88b genex: Preserve order while evaluating TARGET_OBJECTS
The logic introduced in commit v3.1.0-rc1~688^2~9 (Genex: Evaluate
TARGET_OBJECTS as a normal expression, 2014-02-26) ordered a map
by pointer value and then constructed a list of object files by
iterating over the map.  This is not deterministic.

Since commit v3.1.0-rc1~688^2~5 (cmTarget: Allow any generator
expression in SOURCES property, 2014-03-18) the order produced by the
above-mentioned logic started being used for the actual list of object
files on the link line.  Since it is not deterministic, spurious
re-links occur after re-running CMake simply because the order of
objects changed on the link line.

Fix this by iterating over the original vector of source files instead
of the map.  This has a deterministic order.
2014-11-07 09:38:00 -05:00
Kitware Robot c60a5f83ce CMake Nightly Date Stamp 2014-11-07 00:01:08 -05:00
Kitware Robot 917da5d027 CMake Nightly Date Stamp 2014-11-06 00:01:08 -05:00
Tim Gallagher 0842b08463 Makefile: Refactor checks for lang-specific targets and export compile cmds
The checks are now split into languages that are able to generate
assembly listings, languages that are able to generate preprocessed
listings, and languages that are able to export the compile commands.
2014-11-05 14:50:16 -05:00
Clinton Stimpson e63dcb1378 Encoding: Use encoding libcurl expects with file: urls.
For unescaped file: URLs on Windows, libcurl expects
the ANSI code page.

This fixes the CMake.FileUpload test when CMake is configured
to use UTF-8 internally with a non-ascii build directory name.
2014-11-05 07:20:21 -07:00
Kitware Robot d5a373a10d CMake Nightly Date Stamp 2014-11-05 00:01:08 -05:00
Stephen Kelly 81afbbc09b file(GENERATE): Use permissions of input file if present. 2014-11-04 22:38:22 +01:00
Brad King 34c16c5558 Merge topic 'update-kwsys'
5868b4e2 Merge branch 'upstream-kwsys' into update-kwsys
72b5b480 KWSys 2014-10-31 (88c8cc7f)
2014-11-04 15:09:41 -05:00
Kitware Robot 38be87caa4 CMake Nightly Date Stamp 2014-11-04 00:01:09 -05:00
Brad King a72ff020db Merge branch 'fix-configure_file-COPYONLY' into release 2014-11-03 09:35:34 -05:00
Brad King 6aa2d47737 Merge topic 'fix-configure_file-COPYONLY'
1531df2b configure_file: Warn about unknown arguments
4abbb140 Qt4: Fix configure_file call to use COPYONLY, not COPY_ONLY
bd7ba8e2 KWSys: Fix configure_file call to use COPYONLY, not COPY_ONLY
e9282782 Help: Fix configure_file call to use COPYONLY, not COPY_ONLY
2014-11-03 09:08:35 -05:00
Kitware Robot 44853be608 CMake Nightly Date Stamp 2014-11-03 00:01:07 -05:00
Kitware Robot 5755d0059a CMake Nightly Date Stamp 2014-11-02 00:01:07 -04:00
Kitware Robot b25a200204 CMake Nightly Date Stamp 2014-11-01 00:01:14 -04:00
Brad King 1531df2b86 configure_file: Warn about unknown arguments
Extend the RunCMake.configure_file test with a case covering possible
common typos of the COPYONLY option.

Reported-by: Iosif Neitzke <iosif.neitzke@gmail.com>
2014-10-31 13:21:21 -04:00
Brad King bd7ba8e25f KWSys: Fix configure_file call to use COPYONLY, not COPY_ONLY 2014-10-31 13:20:19 -04:00
Brad King 5868b4e2fb Merge branch 'upstream-kwsys' into update-kwsys 2014-10-31 13:11:58 -04:00
Brad King f2805bd01b Merge topic 'VERSION_no_sscanf'
ef09df64 cmSystemTools: reimplement verson comparison without sscanf()
667560c8 extend the testing for version comparison
2014-10-31 11:35:06 -04:00
Brad King 163868b311 Merge topic 'xcode-inherit-warning-flags'
820e95d0 Xcode: Inherit global settings in per-target WARNING_CFLAGS (#15224)
2014-10-31 11:34:58 -04:00
Rolf Eike Beer ef09df646a cmSystemTools: reimplement verson comparison without sscanf()
This now has the advantage that it works with version strings with any number
of components.
2014-10-31 11:31:31 -04:00
Brad King 820e95d000 Xcode: Inherit global settings in per-target WARNING_CFLAGS (#15224)
Allow projects to use CMAKE_CODE_ATTRIBUTE_WARNING_CFLAGS to add their
own warning flags and have them used by the targets.
2014-10-31 11:29:53 -04:00
Kitware Robot f274597abb CMake Nightly Date Stamp 2014-10-31 00:01:08 -04:00
Brad King b233a09f6e Merge topic 'unix-icon-install'
fb13502f QtDialog: install the 128x128 icon
fcb4541a QtDialog: don't install desktop file bits on Apple
2014-10-30 14:11:56 -04:00
Brad King 89fd4b82d1 Merge topic 'cpack-bundle-codesign'
bd3fbf36 CPack: Add support for code signing of bundles on MacOS
2014-10-30 14:11:50 -04:00
Brad King 2e953c7657 Merge topic 'fix--D-command-line-parsing'
aee7e4a0 cmCacheManager: parse -D flags more strictly
368e8de4 Tests: test -D parsing on the command line
2014-10-30 14:11:48 -04:00
Kitware Robot 5c5c1e3c7d CMake Nightly Date Stamp 2014-10-30 00:01:08 -04:00
Ben Boeckel fb13502fca QtDialog: install the 128x128 icon
Also only install the icons to the icons directory.
2014-10-29 11:47:29 -04:00
Ben Boeckel fcb4541a05 QtDialog: don't install desktop file bits on Apple
Apple uses the dmg file which doesn't have .desktop support.
2014-10-29 11:38:48 -04:00
Brad King e51cd32de3 Merge topic 'add_javascript_coverage_parser'
220e8134 CTest: Add Javascript coverage parser
2014-10-29 11:31:10 -04:00
Joseph Snyder 220e81345b CTest: Add Javascript coverage parser
Add a coverage parser for the Blanket.js library using the JSON output of
the mocha.js test runner.

Add a test for the new parser.
2014-10-29 11:27:11 -04:00
Kitware Robot 8451f12350 CMake Nightly Date Stamp 2014-10-29 00:01:14 -04:00
André Klitzing bd3fbf36b4 CPack: Add support for code signing of bundles on MacOS 2014-10-28 12:20:05 -06:00
Kitware Robot f1ac5ba5e8 CMake Nightly Date Stamp 2014-10-28 00:01:10 -04:00
Brad King a2456e1572 Merge topic 'autorcc-depends'
6e1c359f QtAutogen: Regenerate qrc files if their input changes (#15074)
a2995318 QtAutogen: Expand rccfiles into a vector early in the autogen process.
506151af QtAutogen: Extract a GetRccExecutable method.
2014-10-27 11:29:17 -04:00
Brad King 8eb64831be Merge topic 'revert-definition-map-lookup'
d1b62185 Merge branch 'parent-scope-tests' into variable-pull-failure
5f414cef Revert "cmDefinitions: Don't store parent lookups"
e0c0b1ac test: add a test for PARENT_SCOPE with multiple scopes
064c415d test: add test for PARENT_SCOPE behavior
2014-10-27 08:32:26 -04:00
Kitware Robot 21cf9364f0 CMake Nightly Date Stamp 2014-10-27 00:01:08 -04:00
Kitware Robot 373b625e4f CMake Nightly Date Stamp 2014-10-26 00:01:07 -04:00
Kitware Robot 97eb511672 CMake Nightly Date Stamp 2014-10-25 00:01:10 -04:00
Stephen Kelly 6e1c359fe9 QtAutogen: Regenerate qrc files if their input changes (#15074)
Get dependencies from the output of ``rcc --list`` if using
Qt 5.  Otherwise process the file in the same way as the
qt4_add_resources macro.

This does not work for RCC files which are generated.

The cmake_autogen build step is implemented as a PRE_BUILD step
of the target currently if possible, rather than a standalone
custom target.  This is to keep the number of (synthesized)
custom targets that appear in the UI low, but in some cases
it is necessary to fall back to a full custom target.

Fall back to a full custom target for the VS builds if autorcc
is used.
2014-10-24 19:45:27 +02:00
Brad King 0c3ddf8b65 Merge branch 'revert-definition-map-lookup' into release 2014-10-24 13:38:32 -04:00
Ben Boeckel 5f414cefb6 Revert "cmDefinitions: Don't store parent lookups"
This reverts commit 5abfde6cb8.

The behaviors associated with implicit pulldown on variable lookup
seriously conflict with the optimizations made in these commits.
Basically, since values were copied upon variable lookup, not just on
PARENT_SCOPE, coupled with PARENT_SCOPE's behavior based on whether the
variable is in the current scope or not causes serious problems with not
storing a value for every variable at every scope.

The commit changed behavior of the following example, among other cases:

  function(test_set)
    set(blah "value2")
    message("before PARENT_SCOPE blah=${blah}")
    set(blah ${blah} PARENT_SCOPE)
    message("after PARENT_SCOPE blah=${blah}")
  endfunction()
  set(blah value1)
  test_set()
  message("in parent scope, blah=${blah}")

Reported-by: Alex Merry <alex.merry@kde.org>
Reported-by: Ben Cooksley <bcooksley@kde.org>
2014-10-24 13:31:21 -04:00
Kitware Robot fbc2a384d8 CMake Nightly Date Stamp 2014-10-24 00:01:08 -04:00
Stephen Kelly a29953180c QtAutogen: Expand rccfiles into a vector early in the autogen process.
This can be re-used as a vector.
2014-10-23 20:35:26 +02:00
Stephen Kelly 506151af51 QtAutogen: Extract a GetRccExecutable method. 2014-10-23 20:35:25 +02:00
Kitware Robot 0213e6944e CMake Nightly Date Stamp 2014-10-23 00:01:13 -04:00
Kitware Robot fc9041d024 CMake Nightly Date Stamp 2014-10-22 00:01:10 -04:00
Brad King 210230e216 Merge topic 'remove-borland-build'
2db55ffa Remove borland workarounds.
2014-10-21 15:08:03 -04:00
Brad King ae5686f8d0 Merge topic 'remove-redundant-c_str'
cc1139cc strings: Remove redundant calls to std::string::c_str()
2014-10-21 15:08:01 -04:00
Brad King 4f9fcd356b Merge topic 'ctest-delphi-coverage'
5c31c3e4 CTest: Add code coverage parser for Pascal/Delphi
2014-10-21 15:07:58 -04:00
Joseph Snyder 5c31c3e4eb CTest: Add code coverage parser for Pascal/Delphi
Add a class to parse the HTML output of the Delphi-code-coverage tool

 http://code.google.com/p/delphi-code-coverage/

Add a test for the new parser.
2014-10-21 15:02:20 -04:00
Kitware Robot ef6ce1f87e CMake Nightly Date Stamp 2014-10-21 00:01:09 -04:00
Ben Boeckel aee7e4a03b cmCacheManager: parse -D flags more strictly
In the case of:

    -DCACHE_VARS=-DEXTERNAL_PROJECT_CMAKE_ARG:BOOL=TRUE

the variable is parsed out as:

    CACHE_VARS=-DEXTERNAL_PROJECT_CMAKE_ARG

because the parser allows '=' in the variable name. Disallow such a name
on the command line.
2014-10-20 12:17:19 -04:00
Kitware Robot a3eeaa63ae CMake Nightly Date Stamp 2014-10-20 00:01:07 -04:00
Kitware Robot a14c449a90 CMake Nightly Date Stamp 2014-10-19 00:01:07 -04:00
Kitware Robot d4525d7288 CMake Nightly Date Stamp 2014-10-18 00:01:07 -04:00
Kitware Robot 6b698bd29f CMake Nightly Date Stamp 2014-10-17 00:01:11 -04:00
Kitware Robot 1d86036df8 CMake Nightly Date Stamp 2014-10-16 00:01:12 -04:00
Stephen Kelly 2db55ffa56 Remove borland workarounds.
CMake 3.0 is the last release to require to be able to build with
Borland.
2014-10-15 23:16:44 +02:00
Nils Gladitz cc1139cc30 strings: Remove redundant calls to std::string::c_str()
Replacements were detected and performed by the clang tool
remove-cstr-calls on a linux build.
2014-10-15 14:54:05 +02:00
Kitware Robot 1b3495d32e CMake Nightly Date Stamp 2014-10-15 00:01:14 -04:00
Brad King a7596fef6e Begin post-3.1 development 2014-10-14 09:29:53 -04:00
Brad King 517e3cd157 CMake 3.1.0-rc1 version update 2014-10-14 09:22:34 -04:00
Brad King 19f87a73bd Merge topic 'fix-comment-typos'
bef23e81 Fix some spelling errors in comments
2014-10-14 09:20:11 -04:00
Kitware Robot 54ff77dc62 CMake Nightly Date Stamp 2014-10-14 00:01:08 -04:00
Geoff Viola bef23e8181 Fix some spelling errors in comments 2014-10-13 10:00:53 -04:00
Brad King cea13d5536 Merge topic 'fix-ninja-rc-include-flags'
f4c5eade Ninja: Fix RC include directories regression
2014-10-13 08:21:04 -04:00
Brad King f4c5eade78 Ninja: Fix RC include directories regression
Changes in commit b9aa5041 (cmLocalGenerator: Simplify GetIncludeFlags
output formatting, 2014-03-04) caused Windows Resource Compiler include
directories to be computed as relative paths in the Ninja generator.
This breaks the cmcldeps handling of include paths.  The reason for the
regression is that several cmLocalGenerator::GetIncludeFlags callers
treated the fourth "bool forResponseFile" argument as if it controlled
whether include directories were a full path.  It actually did control
that by accident until the above commit.

Add an explicit "bool forceFullPaths" argument to GetIncludeFlags
and thread the value through ConvertToIncludeReference as needed.
Update GetIncludeFlags call sites that really wanted to control the
forResponseFile setting to be aware of the new argument.  Extend the
VSResource test to cover this case.
2014-10-13 08:20:05 -04:00
Kitware Robot c11a342e65 CMake Nightly Date Stamp 2014-10-13 00:01:07 -04:00
Kitware Robot 96579778d1 CMake Nightly Date Stamp 2014-10-12 00:01:07 -04:00
Kitware Robot 8189d53127 CMake Nightly Date Stamp 2014-10-11 00:01:15 -04:00
Brad King 26bffa6e74 Merge topic 'fix-OSX-bundle-rpaths-and-Qt5'
631fadea Help: Add notes for topic 'fix-OSX-bundle-rpaths-and-Qt5'
50e261dd OSX: Warn when attempting to change runtime paths on OS X 10.5
9b98fd52 cmake-gui: Make sure we bundle Qt5 Cocoa platform plugin
83a06bb4 BundleUtilities: Framework codesign Resources/Info.plist & Current
f7df82ac BundleUtilities: Resolve & replace @rpath placeholders
14bc686f GetPrerequisites: Make sure dyld placeholders are prefixes
6c313797 BundleUtilities: Use find on UNIX for fast executable lookup
2014-10-10 10:55:44 -04:00
Clinton Stimpson 50e261ddb6 OSX: Warn when attempting to change runtime paths on OS X 10.5
Even though 10.5 supports @rpath, the support is not complete
enough for CMake.  For instance, install_name_tool doesn't support
adding and removing rpaths.

Also modifying BundleUtilities test to remove an undesirable cmake
generated runtime path.  The intent was to build with the install
rpath as is done with the other cases in this test.
2014-10-10 10:17:27 -04:00
Adam Strzelecki 9b98fd528d cmake-gui: Make sure we bundle Qt5 Cocoa platform plugin
Otherwise CMake.app bundle will not run when using Qt5.
2014-10-10 10:17:18 -04:00
Kitware Robot 5ab9aa62fe CMake Nightly Date Stamp 2014-10-10 00:01:09 -04:00
Brad King 4c02746372 Merge topic 'ninja-phony-rules-only-in-build-tree'
de8e534b Ninja: Limit custom command side-effects to build folder
2014-10-09 16:12:01 -04:00
Kitware Robot a358448d3e CMake Nightly Date Stamp 2014-10-09 00:01:08 -04:00
Brad King ec941fc04b Merge topic 'ctest-memcheck-sanitizers'
e0e75a72 Help: Add notes for topic 'ctest-memcheck-sanitizers'
7345a1f7 tests: Add a test for ctest_memcheck MemorySanitizer
0c6330da ctest_memcheck: Add support for MemorySanitizer msan
9ba8bf12 tests: add a test for ctest_memcheck UndefinedBehaviorSanitizer
816c100a ctest_memcheck: Add support for UndefinedBehaviorSanitizer ubsan
b67ef537 ctest_memcheck: Order sanitizer type code consistently
f48a2968 Tests: Organize CTestTestMemcheck inner test code
2014-10-08 10:48:12 -04:00
Brad King de8e534b41 Ninja: Limit custom command side-effects to build folder
Revert commit 7243c951 (Ninja: Don't limit custom cmd side-effects to
build folder, 2014-06-27) because it causes every custom command
dependency in the source tree to get a phony rule.  For large projects
these rules get too big for Ninja to handle efficiently.  While the
original change addressed a valid concern, it did not seem to occur
regularly in practice because well-behaved projects generate their
side-effects only in the build tree.  Until we support explicit
specification of side-effects (CMake issue #14963), we will have to use
this as a middle-ground.
2014-10-08 08:50:15 -04:00
Kitware Robot 734580a8db CMake Nightly Date Stamp 2014-10-08 00:01:08 -04:00
Bill Hoffman 0c6330da38 ctest_memcheck: Add support for MemorySanitizer msan 2014-10-07 15:27:34 -04:00
Ben Boeckel 816c100ae2 ctest_memcheck: Add support for UndefinedBehaviorSanitizer ubsan
UBSan instruments a build and logs messages on any undefined behavior
instances.
2014-10-07 15:27:34 -04:00
Brad King b67ef537d4 ctest_memcheck: Order sanitizer type code consistently
Use alphabetic order everywhere we enumerate the sanitizer types.
2014-10-07 15:27:33 -04:00
Brad King fa56eb56b9 Merge topic 'ctest-memcheck-sanitizers'
f25e431d tests: set sanitizer options properly
f0661bf3 tests: fix copy/paste from tsan -> asan comments
ca9cc25c ctest: add support for additional sanitizer options
0b9ffffc ctest: update documentation for CTEST_MEMORYCHECK_TYPE
2014-10-07 14:45:26 -04:00
Brad King 36c7f66206 Merge topic 'fix-ninja-rsp-var-duplication'
71da30ca Ninja: Fix variable duplication in RSP rules
2014-10-07 14:12:20 -04:00
Brad King 1ed0379f79 Merge topic 'cpack-ifw-updates'
ed9684a2 CPackIFW: Added support for multiple repositories
f9f74874 CPackIFW: Search algorithm update
2014-10-07 14:12:16 -04:00
Brad King a7a80da0a0 Merge topic 'encoding-fstream'
42e39bb3 Fix a few more places to use cmsys::[io]fstream instead of std::fstream.
2014-10-07 14:12:14 -04:00
Kitware Robot b8f194732f CMake Nightly Date Stamp 2014-10-07 00:01:08 -04:00
Nils Gladitz 71da30cae0 Ninja: Fix variable duplication in RSP rules
Stream clear() resets stream state but does not actually clear its content.
2014-10-06 22:29:09 +02:00