Commit Graph

21266 Commits

Author SHA1 Message Date
Brad King d221eac812 Refactor target COMPILE_OPTIONS and COMPILE_FLAGS handling
Replace the cmLocalGenerator GetCompileOptions method with an
AddCompileOptions method since all call sites of the former simply
append the result to a flags string anyway.

Add a "lang" argument to AddCompileOptions and move the
CMAKE_<LANG>_FLAGS_REGEX filter into it.  Move the call sites in each
generator to a location that has both the language and configuration
available.  In the Makefile generator this also moves the flags from
build.make to flags.make where they belong.
2013-06-27 12:57:32 -04:00
Brad King b6385cabec Escape target flags taken from COMPILE_OPTIONS
Factor appending of individual flags out into an AppendFlagEscape method
in cmLocalGenerator and teach it to use EscapeForShell.  Update all
COMPILE_OPTIONS handling to use AppendFlagEscape.

Override the method in the Xcode generator to use its custom escape
implementation.

Teach the CompileOptions test to add an option that requires escaping
everywhere instead of just with the GNU tools.
2013-06-27 12:57:32 -04:00
Brad King 0c9cc9a077 Embarcadero: Use response files only for includes, objects, and libs
Leave other flags directly in the Makefile command lines and outside
any special inline response file syntax.  Otherwise Borland does
not support flags with quotes in response files.
2013-06-27 12:57:31 -04:00
Kitware Robot 297b42b0c4 CMake Nightly Date Stamp 2013-06-27 00:01:06 -04:00
Brad King bef7c0251e Merge topic 'dag-LINKER_LANGUAGE'
ff015ee Genex: Report error if a target file is needed to evaluate link libraries.
b58aff9 Genex: Extend EvaluatingLinkLibraries to also check the top target name.
b1c19ce Genex: Make LINK_LANGUAGE report an error when evaluating link libraries.
0e1cb07 Add missing return after error report.
2013-06-26 09:03:05 -04:00
Brad King 63357bf969 Merge topic 'FindFreetype-gtkmm'
a34839d FindFreetype: Detect Freetype installed by GtkMM installer for win
2013-06-26 09:02:57 -04:00
Brad King c1631efa0e Merge topic 'version-compare-genex'
e605528 Add generator expressions for version comparision.
48bb48e De-duplicate version comparison code.
2013-06-26 09:02:49 -04:00
Brad King 22fbeaa14b Merge topic 'export-COMPILE_OPTIONS-property'
77ff352 Generate INTERFACE_COMPILE_OPTIONS on export.
2013-06-26 09:02:10 -04:00
Brad King 1c51798940 Merge topic 'COMPILER_TARGET'
2d9ec1d Add compiler target compile options.
2013-06-26 09:01:57 -04:00
Kitware Robot fdd558d6a6 CMake Nightly Date Stamp 2013-06-26 00:01:03 -04:00
Brad King aecacd093b Merge topic '13582_configured_file_regeneration'
ad50250 cmMakefile: Track configured files so we can regenerate them (#13582)
4a6397a Ninja: Track configured files so we can regenerate them.
2013-06-25 08:55:02 -04:00
Brad King 493489665e Merge topic 'makefile_AddCMakeOutputFile_signature'
6dbd4a5 cmMakefile: Refactor AddCMakeDependFile  and AddCMakeOutputFile.
2013-06-25 08:54:52 -04:00
Robert Maynard ad502502df cmMakefile: Track configured files so we can regenerate them (#13582)
Currently when a configured file is removed from the build directory,
running the build command will not regenerate the file. Now detect
this and will rerun cmake properly when a user issues the build
command.
2013-06-25 08:51:20 -04:00
Robert Maynard 4a6397a70c Ninja: Track configured files so we can regenerate them.
Unlike the Makefile generator the ninja generator did not tack any of
its output files, so if they are deleted the generator would not run.
2013-06-25 08:51:20 -04:00
Kitware Robot ade22ea7c6 CMake Nightly Date Stamp 2013-06-25 00:01:03 -04:00
Robert Maynard 6dbd4a5f17 cmMakefile: Refactor AddCMakeDependFile and AddCMakeOutputFile.
AddCMakeDependFile and AddCMakeOutputFile both store as std::string
and all calling sites use std::string. So instead of creating more
temporary objects, lets just use std::strings.
2013-06-24 10:43:20 -04:00
Stephen Kelly ff015ee11e Genex: Report error if a target file is needed to evaluate link libraries.
Constructs such as

 target_link_libraries(foo $<$<STREQUAL:$<TARGET_FILE:foo>,foo.so>:bar>)

segfault before this patch.
2013-06-24 16:22:15 +02:00
Stephen Kelly b58aff90c5 Genex: Extend EvaluatingLinkLibraries to also check the top target name.
This will allow testing whether we are evaluating the link libraries
of a particular target.
2013-06-24 16:22:15 +02:00
Stephen Kelly b1c19ce383 Genex: Make LINK_LANGUAGE report an error when evaluating link libraries. 2013-06-24 16:21:53 +02:00
Stephen Kelly 0e1cb07e84 Add missing return after error report. 2013-06-24 16:21:53 +02:00
Brad King 0bd82cb1a7 Merge topic 'config-dependent-CMAKE_AUTOMOC'
ea4d784 QtAutomoc: Use config-dependent compile definitions and includes.
67f6ceb QtAutomoc: Fix handling of list separator for compile definitions.
2013-06-24 08:47:03 -04:00
Brad King 0fd7d47138 Merge topic 'transitive-property-PP-FOR_EACH'
0d8db25 Use a preprocessor loop to manage the valid transitive properties.
2013-06-24 08:46:46 -04:00
Brad King 6d7b124f7b Merge topic 'find-targets-in-INTERFACE_COMPILE_OPTIONS'
8a3b5be Find targets in INTERFACE_COMPILE_OPTIONS when exporting for try_compile.
2013-06-24 08:46:34 -04:00
Brad King 37e34be0f5 Merge topic 'fix-COMPILE_OPTIONS-transitive-performance-regression'
477e413 Add missing 'seen' check for evaluating COMPILE_OPTIONS.
2013-06-24 08:46:22 -04:00
Brad King b2d70c1a20 Merge topic 'set-sysroot'
de4da66 Use --sysroot when cross compiling.
2013-06-24 08:46:12 -04:00
Brad King 059be4ba3b Merge topic 'add-whitespace'
2331b57 Add whitespace after colons in error messages.
2013-06-24 08:38:12 -04:00
Brad King a931970955 Merge topic 'CMakeDetermineVSServicePack-vs11'
2aa62e0 CMakeDetermineVSServicePack: Add VS 11 update 1 and 2 (#14239)
1746a35 CMakeDetermineVSServicePack: Improve documentation
2013-06-24 08:38:08 -04:00
Brad King 1576592d02 Merge topic 'openbsd-elf-parsing'
480e924 OpenBSD: Enable ELF parsing and editing (#14241)
2013-06-24 08:38:02 -04:00
Brad King eadb85ff6c Merge topic 'FindBoost-error-reason-static'
86cbd73 FindBoost: Clarify failure on missing 'static' libs (#14235)
2013-06-24 08:37:58 -04:00
Brad King 1c63a67e56 Merge topic 'FindX11-OSX-10.8'
488d968 FindX11: Search in /opt/X11 for OS X 10.8 (#14232)
2013-06-24 08:37:54 -04:00
Brad King 4a60a7afab Merge topic 'FindGTK2-tweaks'
508e8ca FindGTK2: Detect gthread library
8dca8ce FindGTK2: Move check for pangocairo in gtk module
2013-06-24 08:37:48 -04:00
Brad King c5c94269b6 Merge topic 'doc-E-tar-zip'
ae06f80 cmake: Document "-E tar" support for .zip (#14225)
2013-06-24 08:37:42 -04:00
Brad King bd2e3c7766 Merge topic 'add-cmake_host_system_information-command'
bb71a3a Add cmake_host_system_information command
2013-06-24 08:37:37 -04:00
Brad King 7bf42bf9cc Merge topic 'add-try_compile-options'
482f112 try_compile: Add signature to allow multiple SOURCES
2013-06-24 08:37:30 -04:00
Brad King a0039a00fa Merge topic 'document-add_jar-compat-shims'
b41771d UseJava.cmake: document add_jar compat shim
2013-06-24 08:37:26 -04:00
Brad King 5b9b141ee6 Merge topic 'doc-search-install-prefix'
a0b37d7 Document CMAKE_INSTALL_PREFIX in CMAKE_SYSTEM_PREFIX_PATH
2013-06-24 08:37:22 -04:00
Brad King b1ef36a20a Merge topic 'split-command-sources'
b9f4383 Split cmBootstrapCommands.cxx into two sources
2013-06-24 08:37:18 -04:00
Brad King 64d14d3ddd Merge topic 'vs-TargetFrameworkVersion'
cfe6300 VS: Add support for .NET target framework version
2013-06-24 08:37:14 -04:00
Kitware Robot 299f50de00 CMake Nightly Date Stamp 2013-06-24 00:01:05 -04:00
Kitware Robot c12208fd79 CMake Nightly Date Stamp 2013-06-23 00:01:04 -04:00
Kitware Robot 8573748041 CMake Nightly Date Stamp 2013-06-22 00:01:04 -04:00
Daniele E. Domenichelli a34839d2c9 FindFreetype: Detect Freetype installed by GtkMM installer for win 2013-06-21 17:43:20 +02:00
Stephen Kelly 2331b57bec Add whitespace after colons in error messages. 2013-06-21 16:21:44 +02:00
Brad King 2aa62e0b4b CMakeDetermineVSServicePack: Add VS 11 update 1 and 2 (#14239) 2013-06-21 08:51:13 -04:00
Brad King 1746a35df1 CMakeDetermineVSServicePack: Improve documentation
Refer users to the newer CMAKE_<LANG>_COMPILER_VERSION variables.
Use a more concise summary.  Format the documentation to look
better in the "cmake --help-module" output.
2013-06-21 08:48:58 -04:00
David Coppa 480e924dae OpenBSD: Enable ELF parsing and editing (#14241)
OpenBSD provides ELF ABI declarations in

 #include <stdint.h>
 #include <elf_abi.h>

Teach the platform check and cmELF implementation to use these.
2013-06-21 08:27:40 -04:00
Kitware Robot 9f160c5b0a CMake Nightly Date Stamp 2013-06-21 00:01:04 -04:00
Brad King 86cbd7312a FindBoost: Clarify failure on missing 'static' libs (#14235)
When Boost_USE_STATIC_LIBS is ON we may complain that Boost libraries
cannot be found even when shared libraries are present.  Update the
error message to tell the user explicitly that we want static libraries.

Suggested-by: Laurence R. McGlashan <laurence.mcglashan@gmail.com>
2013-06-20 17:10:13 -04:00
Marius Schamschula 488d9682cc FindX11: Search in /opt/X11 for OS X 10.8 (#14232)
As of Mac OS X 10.8, X11 is no longer installed under /usr/X11, but
under /opt/X11.
2013-06-20 08:47:12 -04:00
Kitware Robot 7c61c73fbc CMake Nightly Date Stamp 2013-06-20 00:01:05 -04:00