Commit Graph

21524 Commits

Author SHA1 Message Date
Ben Boeckel 5837f19690 export: Error when exporting a target without a language
First, it prevents a NULL dereference and second it reiterates that
targets without languages are not supported by CMake.

Add a RunCMake.ExportWithoutLanguage test exporting a library without a
languages.
2013-07-25 08:44:57 -04:00
Ben Boeckel c80a4f92ce Tests/RunCMake: Document stripping of expected output
Document that trailing newlines are stripped from the -stdout.txt
and -stderr.txt content before using as a regular expression.
2013-07-25 08:38:53 -04:00
Brad King 2f8dace125 Merge topic 'tll-new-signatures'
b655865 target_link_libraries: Add PUBLIC/PRIVATE/INTERFACE keyword signature
2013-07-25 08:37:16 -04:00
Brad King 9f8fcdd2d8 Merge topic 'compile-defs-debugging'
a43e5e0 Test COMPILE_DEFINITIONS target property get/set/get round-trip
2013-07-25 08:37:13 -04:00
Brad King 86f2d83de3 Merge topic 'fix-FindQt4-available-modules'
d57c1c1 FindQt4: Re-add QAxServer to the QT_MODULES.
2013-07-25 08:37:01 -04:00
Brad King 6b92e93b6d Merge topic 'doc-CMAKE_lang_FLAGS'
41bb95f Document CMAKE_<LANG>_FLAGS variable (#14305)
2013-07-25 08:36:55 -04:00
Stephen Kelly d777b8e716 Genex: Allow relative paths in INSTALL_INTERFACE.
These paths can be prepended with the ${_IMPORT_PREFIX} generated
in the export file.

Such relative paths were previously an error.
2013-07-25 14:31:22 +02:00
Brad King 3e79d656da Check*CompilerFlag: Document use of CMAKE_REQUIRED_DEFINITIONS (#14309)
Explain how CMAKE_REQUIRED_DEFINITIONS is set before calling the
check_*_source_compiles macros.
2013-07-25 08:25:15 -04:00
Stephen Kelly 0f267c012b FindQt4: Populate the INTERFACE_LINK_LIBRARIES of IMPORTED targets.
This makes the IMPORTED_LINK_INTERFACE_LIBRARIES_<CONFIG> properties
obsolete.
2013-07-25 13:55:42 +02:00
Kitware Robot 6b184d1607 CMake Nightly Date Stamp 2013-07-25 00:01:05 -04:00
Brad King a43e5e0ad5 Test COMPILE_DEFINITIONS target property get/set/get round-trip
Teach the Preprocess test to get, set, and then get the same value for
the COMPILE_DEFINITIONS target property and verify that the value is not
changed.  This ensures the internal structured storage of the property
value can reproduce the original string value.
2013-07-24 13:25:47 -04:00
Stephen Kelly d57c1c1b9e FindQt4: Re-add QAxServer to the QT_MODULES.
This was removed instead of moved in commit b8af46cb (FindQt4: Don't
fail if certain Qt modules are unavailable.).
2013-07-24 17:59:13 +02:00
Stephen Kelly b655865bbf target_link_libraries: Add PUBLIC/PRIVATE/INTERFACE keyword signature
Add a new signature to help populate INTERFACE_LINK_LIBRARIES and
LINK_LIBRARIES cleanly in a single call.  Add policy CMP0023 to control
whether the keyword signatures can be mixed with uses of the plain
signatures on the same target.
2013-07-24 11:52:44 -04:00
Brad King 828ddb6813 Merge topic 'framework-interface-includes'
f5ca872 Use linked frameworks as a source of include directories.
2013-07-24 11:50:49 -04:00
Stephen Kelly f5ca872e8b Use linked frameworks as a source of include directories. 2013-07-24 11:49:06 -04:00
Stephen Kelly 650e61f833 Add a convenient way to add the includes install dir to the INTERFACE.
Export the INCLUDES DESTINATION without appending to the
INTERFACE_INCLUDE_DIRECTORIES of the target itself. That way, a target
can be exported multiple times with different INCLUDES DESTINATION
without unintended cross-pollution of export sets.
2013-07-24 17:32:58 +02:00
Brad King e31c4bd9a6 Merge topic 'dev/property-append-with-empty-string'
31bd83e set_property: Do not remove a property when APPENDing nothing
2013-07-24 11:02:44 -04:00
Brad King fdbf952684 Merge topic 'FindCuda_more_search_paths'
09f00a6 FindCUDA: Search for libraries in <prefix>/lib/<arch>/nvidida-current.
2013-07-24 11:02:37 -04:00
Brad King e6f93dc560 Merge topic 'windows_ninja_duplicate_paths'
a11da72 Ninja: Properly convert all paths to unix style before we do set intersection.
2013-07-24 11:02:33 -04:00
Brad King 49e8c65b92 Merge topic 'fix-FindQt4-available-modules'
969e7ee FindQt4: Don't use Qt component _FOUND vars before they're defined (#14286)
2013-07-24 11:02:29 -04:00
Brad King a52f00e07c Merge topic 'minor-cleanups'
8f5b402 Remove TODO to uniq COMPILE_OPTIONS
5fb58b8 Don't add trailing whitespace to error message.
2013-07-24 11:02:24 -04:00
Brad King 571d050415 Merge topic 'fix-mapped-config-genex'
10a069b Genex: Fix $<CONFIG> with IMPORTED targets and multiple locations.
2013-07-24 11:02:19 -04:00
Brad King 6077847edc Merge topic 'remove-LINK_LANGUAGE-genex'
4f6bd70 Remove the LINK_LANGUAGE generator expression.
2013-07-24 11:02:14 -04:00
Ben Boeckel 31bd83e9fc set_property: Do not remove a property when APPENDing nothing 2013-07-24 10:50:15 -04:00
Stephen Kelly 969e7ee5df FindQt4: Don't use Qt component _FOUND vars before they're defined (#14286)
This fixes a regression introduced by commit b8af46cb (FindQt4: Don't
fail if certain Qt modules are unavailable., 2013-05-23)

The _FOUND variable is set by the _QT4_ADJUST_LIB_VARS macro, so
invoke that unconditionally, and guard only the set_property calls,
as described in the original bug report (#14165).
2013-07-24 10:46:00 -04:00
Stephen Kelly 10a069b504 Genex: Fix $<CONFIG> with IMPORTED targets and multiple locations.
The old code checked only that there was a LOCATION for the
specified config, but did not check whether the config actually
mapped.

Task-number: 14292
2013-07-24 10:43:02 -04:00
Stephen Kelly 4f6bd7022b Remove the LINK_LANGUAGE generator expression.
It accepted an optional argument to test for equality, but no way
to get the linker language of a particular target.

TARGET_PROPERTY provides this flexibility and STREQUAL provides
the necessary API for equality test.

Extend the CompileDefinitions test to cover accessing the
property of another target.
2013-07-24 10:40:00 -04:00
Sebastian Leske 41bb95fc67 Document CMAKE_<LANG>_FLAGS variable (#14305)
We already document the variables CMAKE_<LANG>_FLAGS_{DEBUG, MINSIZEREL,
RELEASE, RELWITHDEBINFO}. However, CMAKE_<LANG>_FLAGS is not documented,
even though it's available (and useful).
2013-07-24 10:30:34 -04:00
Kitware Robot 52daa0ea34 CMake Nightly Date Stamp 2013-07-24 00:01:04 -04:00
Kitware Robot ffe79b582f CMake Nightly Date Stamp 2013-07-23 00:01:09 -04:00
Robert Maynard a11da72e7b Ninja: Properly convert all paths to unix style before we do set intersection.
On windows we had a subset of the paths as unix style and a subset as windows
so when doing the set intersection it resulted in the same file being
found twice.
2013-07-22 10:42:37 -04:00
Brad King cb57ce249e Merge topic 'AddCommentsToExportsFile'
4b1919f ExportTargets: add one more comment to the generated file.
2013-07-22 09:48:51 -04:00
Brad King 8521a909ba Merge topic 'rpath-on-mac'
603bc59 OS X: Fix regression handling frameworks for Ninja
e645ff0 OS X: Enable rpath support on Mac OS X when find_library() is used.
2013-07-22 09:48:44 -04:00
Brad King fd8746d038 Merge topic 'SelectLibraryConfigurations'
04d4dc3 SelectLibraryConfigurations: Use -NOTFOUND instead of copying the vars
07b44e7 SelectLibraryConfigurations: Do not cache the _LIBRARY variable
2013-07-22 09:48:39 -04:00
Brad King 29859c09af Merge topic 'cpack-wix'
bf23891 CPackWIX: Add support for custom WiX templates
155bb01 CMakeCPack: Provide an upgrade guid for WiX
bfa2e29 CPackWIX: Add option to specify the language(s) of the installer
6e51ea9 CPackWIX: Handle multiple shortcuts in the start menu
6d77e1a CPackWIX: Fix MSI package layout regression from parent
8c0e325 CPackWIX: Handle CPACK_PACKAGE_EXECUTABLES (#13967)
2013-07-22 09:48:32 -04:00
Brad King f53ce89d6a Merge topic 'mingw-in-codeblocks'
9cdc5e6 MinGW: Find mingw32-make included with Code::Blocks IDE (#14302)
2013-07-22 09:48:17 -04:00
Clinton Stimpson 603bc5998f OS X: Fix regression handling frameworks for Ninja
Fix a regression created by commit 373faae5 (Refactor how bundles and
frameworks are supported, 2013-05-05).

Since the ninja file isn't aware of how framework symlinks work, we
suppress symlink creation and let cmOSXBundleGenerator handle it.  Also,
use the real name of framework library in build rules as was done
before, instead of the symlink.
2013-07-22 09:40:11 -04:00
Daniele E. Domenichelli 04d4dc3374 SelectLibraryConfigurations: Use -NOTFOUND instead of copying the vars
If one of the libraries (_DEBUG or _RELEASE) is not set, the value is
set to the value of the other one.  FindQt4, from which the macro is
extracted, sets the values to XXX_LIBRARY_{DEBUG,RELEASE}-NOTFOUND
instead.  In both cases the XXX_LIBRARY is correct, but using NOTFOUND
makes it easier to understand which one is missing.

Update Tests/CMakeOnly/SelectLibraryConfigurations with the new logic.
2013-07-22 09:37:33 -04:00
Robert Maynard 09f00a6371 FindCUDA: Search for libraries in <prefix>/lib/<arch>/nvidida-current.
Ubuntu install the CUDA libraries into a location that is different
than the default location provided by the NVidia installer. So we
teach the FindCUDA package to also find the Ubuntu install location.
2013-07-22 09:16:11 -04:00
Kitware Robot 7dcf63e8a5 CMake Nightly Date Stamp 2013-07-22 00:01:03 -04:00
Kitware Robot 56e6538400 CMake Nightly Date Stamp 2013-07-21 00:01:03 -04:00
Kitware Robot 5f4daff8f5 CMake Nightly Date Stamp 2013-07-20 00:01:04 -04:00
Alex Neundorf 4b1919f73e ExportTargets: add one more comment to the generated file.
This patch adds a comment above the block which protects
the exported targets file against multiple inclusion, to make
the file easier to understand for readers.

Alex
2013-07-19 22:57:33 +02:00
Adam J. Weigold bf23891942 CPackWIX: Add support for custom WiX templates
WiX provides a lot of functionality for installers that cannot be
supported (easily) in the default WIX.template.in file.

For most users, the default template should be fine.  However if users
want to produce merge modules, include custom actions, etc, this new
option allows for a hook into how the wxs is produced.
2013-07-19 14:50:43 -04:00
Richard Ulrich 155bb01bd5 CMakeCPack: Provide an upgrade guid for WiX
Set CPACK_WIX_UPGRADE_GUID.  Without this upgrade GUID, you end up with
multiple instances of the same installation when installing cmake from a
WIX generated installer.
2013-07-19 14:50:43 -04:00
Richard Ulrich bfa2e299ae CPackWIX: Add option to specify the language(s) of the installer
Add option "CPACK_WIX_CULTURES".
2013-07-19 14:50:43 -04:00
Richard Ulrich 6e51ea9870 CPackWIX: Handle multiple shortcuts in the start menu 2013-07-19 14:50:42 -04:00
Ian Monroe 6d77e1ab3f CPackWIX: Fix MSI package layout regression from parent
The parent commit added a regression where if the install directory had:

  parent
    child A
    child B

the produced MSI would install:

  parent
    child A
       child B
2013-07-19 10:49:20 -04:00
Fredrik Axelsson 8c0e32550c CPackWIX: Handle CPACK_PACKAGE_EXECUTABLES (#13967)
Add start menu items including an uninstall shortcut.  Add variable
CPACK_WIX_PROGRAM_MENU_FOLDER to configure folder name.
2013-07-19 10:49:00 -04:00
Jason Spiro 9cdc5e6bc7 MinGW: Find mingw32-make included with Code::Blocks IDE (#14302)
If one installs MinGW using the Code::Blocks IDE installer it goes to a
path like "c:\Program Files\CodeBlocks\MinGW", not "c:\MinGW".  Use the
CodeBlocks registry entry to get the location.

Signed-off-by: Jason Spiro <jasonspiro4@gmail.com>
2013-07-19 07:56:37 -04:00