Commit Graph

14450 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
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 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 1576592d02 Merge topic 'openbsd-elf-parsing'
480e924 OpenBSD: Enable ELF parsing and editing (#14241)
2013-06-24 08:38:02 -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 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
Stephen Kelly 2331b57bec Add whitespace after colons in error messages. 2013-06-21 16:21:44 +02: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
Kitware Robot 7c61c73fbc CMake Nightly Date Stamp 2013-06-20 00:01:05 -04:00
Brad King ae06f80716 cmake: Document "-E tar" support for .zip (#14225)
Through use of libarchive internally we support .zip files as well as
.tar format.  The ExternalProject module makes use of this feature.
Document support officially.
2013-06-19 10:05:44 -04:00
Nils Gladitz bb71a3a0df Add cmake_host_system_information command
Expose the internal system information API to the CMake language.  For
example, it is useful to see how much memory the system has available to
estimate an upper limit of tests that can run in parallel.
2013-06-19 08:46:37 -04:00
Kitware Robot ee59089803 CMake Nightly Date Stamp 2013-06-19 00:01:05 -04:00
Kitware Robot 381c76da07 CMake Nightly Date Stamp 2013-06-18 00:01:04 -04:00
Brad King a0b37d7e3b Document CMAKE_INSTALL_PREFIX in CMAKE_SYSTEM_PREFIX_PATH
Add documentation to both variables to indicate that the install prefix
is also searched.
2013-06-17 08:40:44 -04:00
Kitware Robot dc43f7755d CMake Nightly Date Stamp 2013-06-17 00:01:04 -04:00
Kitware Robot 30d029ddd1 CMake Nightly Date Stamp 2013-06-16 00:01:03 -04:00
Kitware Robot 19df4595e2 CMake Nightly Date Stamp 2013-06-15 00:01:03 -04:00
Brad King dea8271840 Merge topic 'doc-enable_language-scope'
b3b57e7 enable_language: Clarify documentation
2013-06-14 09:01:39 -04:00
Brad King d556631079 Merge topic 'sha2-alignment'
75994d9 cmCryptoHash: Increase alignment of HashFile buffer
2013-06-14 09:01:22 -04:00
Brad King 1f8733a0c2 Merge topic 'FixEclipseCorruptProjects'
22f7934 Eclipse: fix #14204 and #14205: no file links to directories
2013-06-14 09:01:17 -04:00
Brad King bbaae3e421 Merge topic 'minor-cleanup'
e3b7eac Style: Don't put an else after a return.
ad304a2 cmSystemTools: Fix typo in comment.
08319e0 Genex: Fix indentation in docs.
2013-06-14 09:00:26 -04:00