Commit Graph

5381 Commits

Author SHA1 Message Date
Brad King db3cfc3376 Merge topic 'ExternalProject_independent-step-targets'
468fb734 Help: Add notes for topic 'ExternalProject_independent-step-targets'
67cfbf8e ExternalProject: Add unit tests
f598f1aa ExternalProject: Add ExternalProject_Add_StepDependencies function
4ae133e0 ExternalProject: Add independent step targets
2014-11-04 15:09:51 -05:00
Brad King eb505ef32b Merge topic 'FindIce-no-envvar-markup'
01fb3190 FindIce: Drop use of :envvar: Sphinx markup
2014-11-04 15:09:47 -05:00
Brad King 190fdec857 Merge topic 'extra-generators-std-flags'
eaf6f67f Code Blocks/Eclipse: Add -std= flag matching.
45a25d63 Code Blocks/Eclipse: Use non-default stdlib includes when specified.
2014-11-04 15:09:45 -05:00
Brad King 5204329315 Merge topic 'watcom-drop-symfile-option'
6b63942e Watcom: Drop symfile linker option
2014-11-04 15:09:43 -05:00
Brad King 01fb3190f2 FindIce: Drop use of :envvar: Sphinx markup
We do not use it elsewhere yet, and do not want to index environment
variables inconsistently.
2014-11-03 10:53:47 -05:00
Daniele E. Domenichelli f598f1aa83 ExternalProject: Add ExternalProject_Add_StepDependencies function
The ExternalProject_Add_StepDependencies function add some dependencies
for some external project step.

The syntax is:
 ExternalProject_Add_Step_Dependencies(<name> <step> [target1 [target2 [...]]])

This function takes care to set both target and file level dependencies,
and will ensure that parallel builds will not break.

It should be used instead of add_dependencies() when adding a dependency
for some of the step targets generated by ExternalProject. See also:
http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/8680/focus=8926
2014-11-03 16:15:14 +01:00
Daniele E. Domenichelli 4ae133e09c ExternalProject: Add independent step targets
When adding step targets using ExternalProject_Add_StepTargets, the
STEP_TARGETS argument or the EP_STEP_TARGETS property, ExternalProject
sets all the dependencies for the main project to that target.  Due to
this, the update target cannot be used without downloading and building
all the dependencies.

In order to be able to add step targets that do not depend on other
external projects, this patch adds:

* An optional "NO_DEPENDS" argument to the
  ExternalProject_Add_StepTargets function. If this argument is set,
  then no dependencies are set for the target (file dependencies will
  still be set).

* A new argument INDEPENDENT_STEP_TARGETS to the ExternalProject_Add
  function and a new directory property EP_INDEPENDENT_STEP_TARGETS that
  behave like STEP_TARGETS and EP_STEP_TARGETS, but cause the
  ExternalProject_Add_StepTargets to be called with the NO_DEPENDS
  argument.
2014-11-03 16:15:14 +01:00
Christian Manning eaf6f67f67 Code Blocks/Eclipse: Add -std= flag matching.
When -std=x is specified in CMAKE_CXX_FLAGS this passes it along.
2014-11-03 09:19:18 -05:00
Christian Manning 45a25d63ba Code Blocks/Eclipse: Use non-default stdlib includes when specified.
When -stdlib=x is specified in CMAKE_CXX_FLAGS this passes it along so
that the correct include dirs are detected.
2014-11-03 09:18:44 -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
J Decker 6b63942e45 Watcom: Drop symfile linker option
Cleanup of Windows-wcl386.cmake in commit v3.1.0-rc1~693^2 (Watcom:
Cleanup Windows-wcl386 configuration, 2014-04-01) also introduced use of
the 'symfile' link option but did not mention it in the commit message.

There is no way to set the symbol file name of a target, so it is better
to revert that change.  It is easy to run 'wstrip *' if the symbols need
to be stripped, but it is very difficult to get the right names for the
.sym files to install with debug/rel_with_deb_info configurations.
2014-11-03 08:46:48 -05:00
Brad King 4abbb1400d Qt4: Fix configure_file call to use COPYONLY, not COPY_ONLY 2014-10-31 13:20:19 -04:00
Brad King 0b8db9ced1 Merge topic 'ExternalProject_CMAKE_CACHE_DEFAULT_ARGS'
609037f4 ExternalProject: Add unit tests for CMAKE_CACHE_DEFAULT_ARGS
98cdb658 ExternalProject: Add CMAKE_CACHE_DEFAULT_ARGS arguments
36cf8a1e Tests/Tutorial: Fix when USE_MYMATH is OFF
2014-10-31 11:35:07 -04:00
Brad King 14a983cce6 Merge topic 'CheckStructHasMember-avoid-breakage-on-Wall'
8d6ba358 CheckStructHasMember: Avoid clang -Wall breakage (#15203)
2014-10-31 11:35:04 -04:00
Daniele E. Domenichelli 98cdb658e4 ExternalProject: Add CMAKE_CACHE_DEFAULT_ARGS arguments
This argument allows to set default arguments that are written in the
initial cache file, but that are not forced, and therefore allows the
user to change these values later (CMAKE_ARGS and CMAKE_CACHE_ARGS
always overwrite the values).

Also add some documentation to explain the differences between these 3
arguments.

Extend ExternalProjectLocal test to cover CMAKE_CACHE_DEFAULT_ARGS.
2014-10-31 11:34:04 -04:00
Peter Wu 8d6ba35827 CheckStructHasMember: Avoid clang -Wall breakage (#15203)
With CMAKE_C_COMPILER=clang and CMAKE_C_FLAGS='-Wall -Werror', this test
breaks with -Werror,-Wuninitialized.  Fix this by getting rid of the
temporary variable.
2014-10-30 14:16:06 -04:00
Brad King f2746f2ebe Merge topic 'dev/alternate-generator-binaries'
f04e0a2b ninja: Find alternate Ninja-compatible binaries
2014-10-30 14:11:59 -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
Ben Boeckel f04e0a2b17 ninja: Find alternate Ninja-compatible binaries
On Red Hat distros, Ninja is /usr/bin/ninja-build because /usr/bin/ninja
is an IRC bot.
2014-10-29 13:03:43 -04:00
Brad King 3942cf68b2 Merge topic 'ExternalProject-format-docs'
d9c2c17b ExternalProject: Use explicit markup and definition lists in docs
98936ae3 ExternalProject: Convert docs to a bracket comment
2014-10-29 11:31:13 -04:00
Brad King 0d6cdce5b5 Merge topic 'FindCurses-include-CheckLibraryExists'
f11f9579 FindCurses: Include CheckLibraryExists before using it (#15220)
2014-10-29 11:31:08 -04:00
André Klitzing bd3fbf36b4 CPack: Add support for code signing of bundles on MacOS 2014-10-28 12:20:05 -06:00
Brad King d9c2c17b29 ExternalProject: Use explicit markup and definition lists in docs
Convert ExternalProject module documentation to use explicit markup
blocks for each command.  Enumerate command options with definition
lists instead of a literal block.  This will allow more detail to be
added later.  Also fix the logic that parses options out of the
documentation to be aware of the new layout.
2014-10-28 12:46:17 -04:00
Brad King 98936ae3e0 ExternalProject: Convert docs to a bracket comment
Use a bracket comment to hold the documentation instead of a block of
line comments.  This will make further updates easier.  Also fix the
logic that parses options out of the documentation to be aware of the
new layout.
2014-10-28 12:41:00 -04:00
Brad King 9eb385edd9 Merge topic 'osx-gnu-fortran-deployment'
4fc3367f OS X: Detect deployment target flags from GNU Fortran compilers
2014-10-28 10:26:04 -04:00
Brad King 78c0f514be Merge topic 'cpack-rpm-pre-post-install'
9ed546ff CPackRPM: Support PREUN and POSTUN requirements
add4e50d CPackRPM: Support pre(post) install script requirements
2014-10-28 10:26:02 -04:00
Brad King c752f8f165 Merge topic 'find-boost-no-reroot'
43b8bfb2 FindBoost: fix find_library call when using "re-rooting"
2014-10-28 10:26:00 -04:00
Brad King f11f957949 FindCurses: Include CheckLibraryExists before using it (#15220)
Include the module at the top unconditionally so that all code paths can
use it.
2014-10-28 08:53:28 -04:00
Evgeny Kalishenko 9ed546ff49 CPackRPM: Support PREUN and POSTUN requirements 2014-10-27 12:36:20 -04:00
Evgeny Kalishenko add4e50dea CPackRPM: Support pre(post) install script requirements 2014-10-27 12:36:03 -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 4fc3367fcd OS X: Detect deployment target flags from GNU Fortran compilers
Reported-by: Bill Somerville <bill@classdesign.com>
2014-10-27 08:40:55 -04:00
Guillaume Papin 43b8bfb213 FindBoost: fix find_library call when using "re-rooting"
When using CMAKE_FIND_ROOT_PATH, FindBoost is able to find the first
component and cache the full path of the directory in Boost_LIBRARY_DIR
so that all components are looked for in same directory. The issue was
that, when looking for the other components, Boost_LIBRARY_DIR was
re-rooted against CMAKE_FIND_ROOT_PATH even though it was already a path
on the host. This change fixes this by disabling the re-rooting in the
find_library call when using Boost_LIBRARY_DIR as a hint.

See http://www.cmake.org/pipermail/cmake-developers/2014-October/011670.html
2014-10-26 00:03:39 -04:00
Rolf Eike Beer 22362c65e1 FPHSA: remove unneeded variable dereferencing
These variables can be dereferenced by if() alone so do not do it here, avoiding
the risk of their content being treated as a variable name and dereferenced
again.
2014-10-25 19:33:38 +02: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 b2a7f60a46 Merge topic 'xcode-ios-compiler-id'
b91020f6 Xcode: Fix compiler id detection when code signing is required
c48f6e12 Xcode: Fix compiler id detection for iOS tools (#15214)
2014-10-23 08:32:32 -04:00
Brad King 2a668e20da Merge topic 'doc-line-lengths'
80b19a71 Help/manual: Avoid long lines in code blocks
4fdacedc Help: Clarify formatting of CPACK_WIX_ACL documentation
35ca4863 Help: Wrap long ctest_submit signature line
58b2d760 Modules: Format documentation to avoid over-long preformatted lines
2014-10-23 08:32:29 -04:00
Brad King 58b2d760ee Modules: Format documentation to avoid over-long preformatted lines
Convert several preformatted code block literals that enumerate lists of
options or variables to use reST definition lists instead.  Manually
wrap other long lines in code blocks.
2014-10-22 15:52:31 -04:00
Brad King 0a5eca07ec Merge topic 'FindHg-no-cygwin-hg-on-windows'
ed997de4 FindHg: Do not use cygwin hg on Windows
2014-10-22 13:37:51 -04:00
Brad King b816563220 Merge topic 'cuda-rpath-osx'
59814cb4 FindCUDA: Remove rpath logic outdated by CMake's own @rpath support
2014-10-22 13:37:47 -04:00
Brad King 1271a93434 Merge topic 'fix-OSX-bundle-rpaths-and-Qt5'
41564ff2 BundleUtilities: Ensure framework symlinks and Info.plist exist
2014-10-22 13:37:46 -04:00
Brad King e5feae9838 Merge topic 'cpack-rpm-component-descriptions'
603ef7fd CPackRPM: Add component based packaging description and summary
2014-10-22 13:37:42 -04:00
Brad King ed997de4f2 FindHg: Do not use cygwin hg on Windows
The cygwin hg client is a text file with a '#!/bin/python" line.
This cannot run on Windows.
2014-10-22 10:52:08 -04:00
Clinton Stimpson 59814cb430 FindCUDA: Remove rpath logic outdated by CMake's own @rpath support
Otherwise binaries end up with two copies of the same value and the OS X
install_name_tool may corrupt them.
2014-10-22 10:50:15 -04:00
Brad King b91020f659 Xcode: Fix compiler id detection when code signing is required
The iOS product type 'com.apple.package-type.bundle.unit-test' requires
code signing on Xcode 6.  Other iOS target types do too.  Until CMake
learns to add the CODE_SIGN_IDENTITY build attribute itself, toolchain
files can set CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY to tell the Xcode
generator to add the attribute.  Teach CMakeDetermineCompilerId to
recognize this variable and add the CODE_SIGN_IDENTITY build attribute
to the compiler id project.
2014-10-22 10:16:07 -04:00
Brad King c48f6e1229 Xcode: Fix compiler id detection for iOS tools (#15214)
Since commit 0cce556b (Xcode: Use sysroot and deployment target to
identify compiler, 2014-04-29) our compiler id detection project uses
the target platform SDK in case Xcode selects a different compiler based
on it.  Now the compiler id project actually compiles with the target
compiler and SDK when cross-compiling.

The iOS tools do not support the 'com.apple.product-type.tool' product
type we use in our compiler id detection project.  When targeting
iPhone, use product type 'com.apple.product-type.bundle.unit-test'
instead.
2014-10-22 10:16:07 -04:00
Brad King 95d84f76d9 Merge topic 'cmake-cmp0054-warnings'
29c3edb8 Avoid if() quoted auto-dereference
2014-10-21 15:08:07 -04:00
Brad King 6dc0bbbd56 Merge topic 'UseJava-classpath-cross-compile'
7a373d5e UseJava: Fix classpath separator on WIN32 cross compilation (#15206)
2014-10-21 15:07:55 -04:00
Brad King 43cb7fadb4 Merge topic 'UseSWIG-r-support'
9de113a9 UseSWIG: Fix R module prefix
2014-10-21 15:07:53 -04:00
Adam Strzelecki 41564ff289 BundleUtilities: Ensure framework symlinks and Info.plist exist
This restores Qt SDK 4.8 and OS X >= 10.6.5 codesign compatibility
improving embedding frameworks using correct bundle layout described at:

https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html

1. If Versions/VERSION/Resources/Info.plist is missing, well known
   incorrect locations are checked for Info.plist and Info.plist is
   copied from there, otherwise codesign will fail.

2. Root framework symlinks to binary and Resources are restored to
   point inside Versions/Current, otherwise Qt 4.8 looking for
   Resources/ in framework root will fail.
2014-10-21 11:42:30 -04:00