Commit Graph

23264 Commits

Author SHA1 Message Date
Brad King 82d4317503 Allow projects to specify extra inputs to CMake
Define a new 'CMAKE_CONFIGURE_DEPENDS' directory property that projects
can use to specify input files to the CMake configuration process.
Extend the RunCMake.Configure test to verify that the build system
re-runs CMake when this input changes.
2014-01-21 14:14:49 -05:00
Brad King 1ef444d678 Add test case to verify CMake does not re-run on first build
Extend the RunCMake.Configure with a case to verify that the CMake
configuration process does not immediately re-run the first time that
the generated build system is invoked.
2014-01-21 13:57:15 -05:00
Brad King 94389f6388 cmake: Add '-E sleep' command
Add a cmake command-line interface to provide a cross-platform 'sleep'.
2014-01-21 13:50:49 -05:00
Brad King a86865e96c Merge topic 'cmake-E-symlink-replace-dangling'
e0228e2b cmake: Improve '-E create_symlink' edge case handling (#14713)
2014-01-21 08:51:39 -05:00
Brad King ce906497c0 Merge topic 'improve-Tests-RunCMake'
d4ca30ae Tests/RunCMake: Add function to run a specified command-line
392a6553 Tests/RunCMake: Move documentation to a README.rst
2014-01-21 08:51:37 -05:00
Brad King ceecda1253 Merge topic 'osx-host-arch'
9d2a0900 OS X: Use 'uname -m' for processor (#14712)
2014-01-21 08:51:36 -05:00
Kitware Robot 1eb4d035c0 CMake Nightly Date Stamp 2014-01-21 00:01:06 -05:00
Brad King e0228e2b04 cmake: Improve '-E create_symlink' edge case handling (#14713)
The logic added by commit ffc0b5e4 (Overwrite the symlink if it already
exists, 2007-02-15) does not recognize and remove existing broken links
before replacing them.  Improve the logic to remove any existing
destination file or link (but not directory).  On failure, report an
error message explaining why the existing path could not be removed or
the new one could not be created.

Add a RunCMake.CommandLine test to cover 'cmake -E' cases.  Start with
test cases covering 'cmake -E create_symlink' behavior on UNIX platforms.
2014-01-20 14:02:21 -05:00
Brad King d4ca30ae15 Tests/RunCMake: Add function to run a specified command-line
Add a 'run_cmake_command' function that can be used by tests to run a
given command-line and check the results rather than always running a
CMake configuration process.  This can be used in the future to test
'cmake -E' for example.
2014-01-20 13:46:51 -05:00
Brad King 392a6553f9 Tests/RunCMake: Move documentation to a README.rst 2014-01-20 13:46:24 -05:00
Brad King 325f851403 Merge topic 'KateDontRequireVariable'
e02cdba0 Kate: use cmMakefile::GetSafeDefinition() for a not-required variable
2014-01-20 10:59:21 -05:00
Brad King 25d414625a Merge topic 'update-qt4-docs'
f81e67c6 Help: Update Qt4 documentation.
2014-01-20 10:59:19 -05:00
Brad King 9d2a0900ed OS X: Use 'uname -m' for processor (#14712)
In commit 2412d9bc (Use 'uname -m' for processor on Cygwin, 2010-09-21)
it was pointed out that POSIX requires 'uname -m' but not 'uname -p':

  http://www.opengroup.org/onlinepubs/9699919799/utilities/uname.html

On OS X x86_64, 'uname -p' returns i386 while 'uname -m' returns x86_64.
Since the latter is the POSIX-compliant option trust its value.
However, on OS X ppc, 'uname -m' returns 'Power Macintosh' so add a
special-case to convert that to 'powerpc'.
2014-01-20 10:55:19 -05:00
Kitware Robot 1b3958130e CMake Nightly Date Stamp 2014-01-20 00:01:05 -05:00
Kitware Robot dfec274bdf CMake Nightly Date Stamp 2014-01-19 00:01:04 -05:00
Kitware Robot 434fe2baa2 CMake Nightly Date Stamp 2014-01-18 00:01:06 -05:00
Brad King 5348338c2d Merge topic 'hppa-binutils-flag'
8f2c2ccb Improve ld flags for CMake itself on Linux/HPPA
2014-01-17 09:24:59 -05:00
Brad King e046e2c67d Merge topic 'xcode-storyboard-view'
1ce02ebf Xcode: Fix storyboard view
d9f1f917 Xcode: Remove dead code
2014-01-17 09:24:57 -05:00
Brad King f5909ffca7 Merge topic 'doc-osx-vars'
45056264 Help: Document CMAKE_OSX_* variables
2014-01-17 09:24:55 -05:00
Brad King 62ebff26a7 Merge topic 'cmmakefile-const'
c768e398 cmMakefile: make some methods take const std::string& instead of const char*
2014-01-17 09:24:54 -05:00
Guy Martin 8f2c2ccb0b Improve ld flags for CMake itself on Linux/HPPA
Workaround binutils bug by only marking unique section starting by
".text._".

This adds the HPPA workaround improved in commit b22a0f15 (bootstrap:
improve ld flag for Linux/HPPA builds, 2014-01-14) not only to the
bootstrap, but also to the normal build.
2014-01-17 09:23:31 -05:00
Alex Neundorf e02cdba054 Kate: use cmMakefile::GetSafeDefinition() for a not-required variable
...otherwise the generator failed in embedded projects via
externalproject(), since there CMAKE_KATE_MAKE_ARGUMENT is not set.
Using GetSafeDefinition() is good enough to protect against
NULL-pointers.

Alex
2014-01-17 14:04:33 +01:00
Kitware Robot 9f0270aaae CMake Nightly Date Stamp 2014-01-17 00:01:08 -05:00
Ruslan Baratov 1ce02ebfd5 Xcode: Fix storyboard view
Images and xib files must have 'lastKnownFileType' attribute to be
displayed correctly. If xib file has attribute 'explicitFileType' it is
displayed as raw xml. If static image has attribute 'explicitFileType'
it is displayed as question mark on storyboard.
2014-01-16 13:46:21 -05:00
Ruslan Baratov d9f1f917c4 Xcode: Remove dead code
Variable 'ext' already checked for equality to "xib" so remove the
branch that will never be executed.
2014-01-16 13:43:47 -05:00
Brad King 45056264bb Help: Document CMAKE_OSX_* variables
Add documentation entries for variables

 CMAKE_OSX_ARCHITECTURES
 CMAKE_OSX_DEPLOYMENT_TARGET
 CMAKE_OSX_SYSROOT

Explain what each does and when/how they should be set.
2014-01-16 10:21:47 -05:00
Brad King 0b3781e4c4 CMake 2.8.12.2 2014-01-16 09:31:28 -05:00
Rolf Eike Beer c768e398f9 cmMakefile: make some methods take const std::string& instead of const char*
Most callers already have a std::string, on which they called c_str() to pass it
into these methods, which internally converted it back to std::string. Pass a
std::string directly to these methods now, avoiding all these conversions.
Those methods that only pass in a const char* will get the conversion to
std::string now only once.
2014-01-16 09:28:29 -05:00
Brad King 0d2318dedd Merge topic 'GNUInstallDirs_debian-multiarch-fix'
620939e4 GNUInstallDirs: Fix CMAKE_INSTALL_LIBDIR on Debian
2014-01-16 09:24:19 -05:00
Brad King c700a623c1 Merge topic 'fix-help-if-typo'
5968b6e0 Help: Fix typo in 'if()' command documentation
2014-01-16 09:24:17 -05:00
Brad King 9465242d01 Merge topic 'ninja_fix_rerun'
20e595ab Revert "Ninja: Track configured files so we can regenerate them."
2014-01-16 09:24:15 -05:00
Brad King ce362f27d6 Merge topic 'revert-ninja_fix_rerun'
79859689 Revert "Ninja: Avoid re-running CMake on next build after regeneration"
2014-01-16 09:24:13 -05:00
Brad King 2d5d690ea6 Merge topic 'var-type-autofill'
cfec180d cmake-gui: Remember variable type in Add Entry
2014-01-16 09:24:11 -05:00
Sergey Zolotarev cfec180d66 cmake-gui: Remember variable type in Add Entry
Store variable types together with their names in the variable completion
list so that the type is automatically recovered when you select a variable.

Keep variable names and types in separate lists.  This removes the :TYPE
string from completion list and the Name field and makes variable search
easier.  The variable names and types are now kept in two different
settings - AddVariableNames and AddVariableTypes.  Drop the old
AddVariableCompletionEntries setting.
2014-01-16 09:23:36 -05:00
Kitware Robot 4e4951c9fc CMake Nightly Date Stamp 2014-01-16 00:01:08 -05:00
Matt McCormick a432b93b79 file DOWNLOAD: Display the curl result status when a hash mismatch occurs. 2014-01-15 20:08:44 -05:00
Matt McCormick 1cb9ef8173 file DOWNLOAD: Test non-zero return status. 2014-01-15 19:43:25 -05:00
Matt McCormick f73f0fb357 file DOWNLOAD: Add test for bad hash. 2014-01-15 19:43:23 -05:00
Brad King 80e40485b7 Merge branch 'ninja_fix_rerun' into release 2014-01-15 16:39:42 -05:00
Brad King 20e595aba8 Revert "Ninja: Track configured files so we can regenerate them."
Revert commit 4a6397a7 (Ninja: Track configured files so we can
regenerate them, 2013-06-17).  The files reported by the method
cmMakefile::GetOutputFiles() must cause CMake to re-run only if they are
missing and without considering a timestamp.  This is not the meaning of
the implicit dependencies field so Ninja re-runs CMake too often.

Another solution will have to be found to the original problem.
2014-01-15 16:37:25 -05:00
Brad King 7985968900 Revert "Ninja: Avoid re-running CMake on next build after regeneration"
Revert commit 6fac24d7 (Ninja: Avoid re-running CMake on next build
after regeneration, 2014-01-09).  The files reported by the method
cmMakefile::GetOutputFiles() must cause CMake to re-run only if they are
missing and without considering a timestamp.  Therefore they cannot be
listed as outputs of the re-run rule or Ninja will re-run CMake every
time because the timestamp of configure_file outputs does not change.

Another solution will have to be found to the original problem.
2014-01-15 16:33:22 -05:00
Matt McCormick b5e2265fc3 ExternalProject: Reattempt download when verification fails.
When downloading an URL with ExternalProject, reattempt the download three
times if the file hash verification fails.

The re-attempt is limited to non-local URL's.  The same download CMake script
is re-used after removing any file that resulted from the previous download
attempt.  Up to three re-attempts are performed.
2014-01-15 16:31:23 -05:00
Raphael Kubo da Costa 5968b6e030 Help: Fix typo in 'if()' command documentation
s/argumemnts/arguments/
2014-01-15 15:47:59 -05:00
Daniele E. Domenichelli 620939e4e6 GNUInstallDirs: Fix CMAKE_INSTALL_LIBDIR on Debian
When not installing in /usr (i.e. /usr/local) on Debian/Ubuntu, the
multiarch path is not in ldconfig path, and therefore libraries cannot
be found, unless the user manually modifies the files in
/etc/ld.so.conf.d, in order to include /usr/local/lib/<arch>.

This patch fixes this issue by using "lib/<arch>" only if the user is
installing the software in /usr, and uses "lib" in all the other cases.
2014-01-15 18:02:21 +01:00
Stephen Kelly f81e67c616 Help: Update Qt4 documentation.
Remove independent doc listing for Qt4ConfigurationSettings, Qt4Macros
and UseQt4. These are implementation details.

Recommend the use of IMPORTED targets.

Remove references to the UseQt4 file, which is obsolete in light of
the IMPORTED targets.

Add documentation for automatic tool invocation and options.

Remove reference to variables which should not be needed in modern
implementations.
2014-01-15 16:23:51 +01:00
Brad King c4e5e17f38 Merge topic 'skip-return-code'
3a0d164b allow to mark a test as "Not Run" with a specific return code (#8466)
2014-01-15 10:12:04 -05:00
Brad King 4c7bac45ae Merge topic 'hppa-bootstrap'
b22a0f15 bootstrap: improve ld flag for Linux/HPPA builds
2014-01-15 10:12:02 -05:00
Brad King 050c02849e Merge topic 'doc-Qt-macro-TARGET-arg'
4608a260 Document the TARGET options in Qt4 macros.
2014-01-15 10:12:00 -05:00
Rolf Eike Beer b22a0f15de bootstrap: improve ld flag for Linux/HPPA builds
Follow up commit ca63bb10 (bootstrap: try better workaround for builds
on Linux/HPPA, 2013-09-12) with an improved ld flag.

Suggested-by: Guy Martin
2014-01-15 10:06:07 -05:00
Kitware Robot 556b16db9c CMake Nightly Date Stamp 2014-01-15 00:01:05 -05:00