summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add target_compile_options command.Stephen Kelly2013-06-029-0/+242
| | | | This command populates the COMPILE_OPTIONS target property.
* Add COMPILE_OPTIONS target property.Stephen Kelly2013-06-0210-1/+286
| | | | | | This method reads generator expressions from the COMPILE_OPTIONS target property, as well as INTERFACE_COMPILE_OPTIONS from linked dependents.
* cmTarget: Rename LinkInterfaceIncludeDirectoriesEntriesStephen Kelly2013-06-021-6/+6
| | | | This can be used for COMPILE_OPTIONS too.
* cmTarget: Rename struct to be more re-usable.Stephen Kelly2013-06-021-21/+21
| | | | The same struct can be used to represent COMPILE_OPTIONS content.
* Add <LANG>_COMPILER_ID generator expressions.Stephen Kelly2013-06-022-0/+110
| | | | | | These expressions evaluate to the id of the compiler used to build the target, or can be used to test if the compiler id matches a specified value.
* Add cmLocalGenerator::GetCompileOptions.Stephen Kelly2013-06-029-25/+77
| | | | | | Currently it only adds the contents of the COMPILE_FLAGS target property, but it can be extended to handle a new COMPILE_OPTIONS generator expression enabled property.
* VS6: Rename some variables to correspond to config values.Stephen Kelly2013-06-021-10/+10
| | | | This simplifies population of the compile flags.
* CMake Nightly Date StampKitware Robot2013-06-021-1/+1
|
* CMake Nightly Date StampKitware Robot2013-06-011-1/+1
|
* Merge topic 'fix-try_compile-library-spaces'Brad King2013-05-311-1/+1
|\ | | | | | | | | e537544 try_compile: Trim whitespace from LINK_LIBRARIES entries
| * try_compile: Trim whitespace from LINK_LIBRARIES entriesStephen Kelly2013-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit e65ef08b (try_compile: Fix quoting of libraries in generated CMakeLists.txt, 2013-05-24) added quoting to entries specified in the LINK_LIBRARIES. However, if the input entries contain whitespace padding, that quoted whitespace causes an error in the generated CMakeLists.txt at target_link_libraries. Strictly, it is an error to have space separated entries in the CMAKE_REQUIRED_LIBRARIES, as it was never properly handled by CMakeExpandImportedTargets even prior to commit 236133e7 (Handle targets in the LINK_LIBRARIES of try_compile., 2013-02-09). However, it is causing a regression in KDE code which tests the next branch.
* | Merge topic 'FindBoost-normalize-slashes'Brad King2013-05-311-2/+10
|\ \ | | | | | | | | | | | | 363825c FindBoost: Fix handling of \ in input paths (#14179)
| * | FindBoost: Fix handling of \ in input paths (#14179)Brad King2013-05-301-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 5b9149e0 (FindBoost: Overhaul caching and search repeat behavior, 2012-09-24) we refactored the internal library search to use a _Boost_FIND_LIBRARY macro to wrap around find_library calls. However, CMake macros re-process escape sequences when evaluating calls inside the macro after substituting placeholders (a historical bug). In order to avoid escape sequences, convert backslashes to forward slashes before passing arguments to the _Boost_FIND_LIBRARY macro.
* | | Merge topic 'test-INCLUDE_DIRECTORIES-genex-read'Brad King2013-05-313-0/+33
|\ \ \ | | | | | | | | | | | | | | | | 07f9e15 GenexEval: Test evaluation of INCLUDE_DIRECTORIES target property.
| * | | GenexEval: Test evaluation of INCLUDE_DIRECTORIES target property.Stephen Kelly2013-05-303-0/+33
| | | |
* | | | Merge topic 'fix-INCLUDE_DIRECTORIES-genex-read'Brad King2013-05-311-37/+77
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | 3aa9ce4 GenexEval: Fix evaluation of INCLUDE_DIRECTORIES target property. 0b39fef GenexEval: Extract a getLinkedTargetsContent from TargetPropertyNode. 53164ac cmTarget: Remove some hardcoding of transitive property names.
| * | | GenexEval: Fix evaluation of INCLUDE_DIRECTORIES target property.Stephen Kelly2013-05-301-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This property should come from the content of the property itself, plus the INTERFACE_INCLUDE_DIRECTORIES of the link *implementation*. In contrast, when the INTERFACE_INCLUDE_DIRECTORIES is evaluated for a target, the INTERFACE_INCLUDE_DIRECTORIES of the link *interface* is used. Similar logic applies for the COMPILE_DEFINITIONS target properties. If the propertyName is already an INTERFACE_ variant of the property, ie, the expression is similar to $<TARGET_PROPERTY:foo,INTERFACE_INCLUDE_DIRECTORIES> then the INTERFACE_INCLUDE_DIRECTORIES of the link *interface* of foo is used. However, if the propertyName is not an INTERFACE_ variant, and the interfacePropertyName is, ie, the expression is similar to: $<TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES> then the INTERFACE_INCLUDE_DIRECTORIES of the link *implementation* of foo is used.
| * | | GenexEval: Extract a getLinkedTargetsContent from TargetPropertyNode.Stephen Kelly2013-05-301-35/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will be used to process transitive components of properties which depend on linked targets. Currently only the link interface of the target can be used as the source of the linked targets, but in the next commit it will be possible to use the link implementation as the source of link targets. This commit does not change the semantics of the code.
| * | | cmTarget: Remove some hardcoding of transitive property names.Stephen Kelly2013-05-301-2/+17
| |/ /
* | | CMake Nightly Date StampKitware Robot2013-05-311-1/+1
| | |
* | | Merge topic 'fix-FileIsDirectory-SEGV'Brad King2013-05-307-0/+25
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 7378792 if: Add test for IS_DIRECTORY 4ab10e0 Merge branch 'master' into fix-FileIsDirectory-SEGV 045d6ae KWSys: Fix SystemTools::FileIsDirectory with long paths (#14176)
| * | | if: Add test for IS_DIRECTORYBrad King2013-05-287-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | Add a RunCMake.if test to cover if() command behavior. Start with a test for IS_DIRECTORY cases with an existing directory and a long path, both with a trailing slash.
| * | | Merge branch 'master' into fix-FileIsDirectory-SEGVBrad King2013-05-28118-463/+3411
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Resolve conflict in Source/kwsys/SystemTools.cxx by combining the two changes.
| * | | | KWSys: Fix SystemTools::FileIsDirectory with long paths (#14176)Brad King2013-05-281-4/+13
| | |/ / | |/| | | | | | | | | | | | | | | | | | Allocate a buffer large enough to hold the input path when removing a trailing slash. Use a local stack buffer when it is large enough and fall back to heap allocation otherwise.
* | | | Merge topic 'update-kwsys'Brad King2013-05-304-9/+18
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | 2c0c59a Merge branch 'upstream-kwsys' into update-kwsys 9270129 KWSys 2013-05-29 (725e541e)
| * \ \ \ Merge branch 'upstream-kwsys' into update-kwsysBrad King2013-05-294-9/+18
| |\ \ \ \
| | * | | | KWSys 2013-05-29 (725e541e)KWSys Robot2013-05-294-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extract upstream KWSys using the following shell commands. $ git archive --prefix=upstream-kwsys/ 725e541e | tar x $ git shortlog --no-merges --abbrev=8 --format='%h %s' f4928d44..725e541e Brad King (1): 9fd64779 SystemTools: Fix FileIsDirectory with long paths Rolf Eike Beer (3): e8269442 Tests: fix a warning with acc 87abd647 SystemInformation: fix truncation warnings 039d9598 fix warnings about sizeof() return value truncation Change-Id: I1c459346a622610eac62dfcd3abd0e73c5a83494
* | | | | | CMake Nightly Date StampKitware Robot2013-05-301-1/+1
|/ / / / /
* | | | | CMake Nightly Date StampKitware Robot2013-05-291-1/+1
| | | | |
* | | | | Merge topic 'fix-try_compile-library-spaces'Brad King2013-05-281-1/+1
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | e65ef08 try_compile: Fix quoting of libraries in generated CMakeLists.txt
| * | | | try_compile: Fix quoting of libraries in generated CMakeLists.txtBrad King2013-05-241-1/+1
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 236133e7 (Handle targets in the LINK_LIBRARIES of try_compile, 2013-02-09) libraries passed to the new LINK_LIBRARIES option of try_compile are not quoted inside the generated CMakeLists.txt file. Quote the library names so they re-parse correctly when loaded by CMake to configure and generate the test project. Reported-by: Bogdan Cristea <cristeab@gmail.com>
* | | | Merge topic 'ExternalData-no-re-stage'Brad King2013-05-284-1/+47
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | c35961b ExternalData: Do not re-stage staged object files
| * | | | ExternalData: Do not re-stage staged object filesBrad King2013-05-244-1/+47
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ExternalData_LINK_CONTENT option tells ExternalData to convert real data files it finds into content links and to "stage" the original content in a ".ExternalData_<algo>_<hash>" file. However, after a data object has been staged it is possible that a user-provided pattern in the "REGEX:" option will later match the staged object file. We must not process staged object files even when a user pattern matches them. Fix the implementation to not match a staged object file as a normal data file for conversion. Extend the RunCMake.ExternalData test to cover this case.
* | | | Merge topic 'fix-protobuf-threads'Brad King2013-05-281-0/+13
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 8961c4b FindProtobuf: also find pthread
| * | | | FindProtobuf: also find pthreadMatthew Woehlke2013-05-241-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify FindProtobuf.cmake to find the pthread library on UNIX platforms, and to add the same to PROTOBUF_LIBRARIES, as this is a link dependency of libraries using the protobuf headers.
* | | | | Merge topic 'silence-vs6-warnings'Brad King2013-05-284-4/+18
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 015309f Tests/CompileDefinitions: Avoid spaces in defines on VS 6
| * | | | | Tests/CompileDefinitions: Avoid spaces in defines on VS 6Stephen Kelly2013-05-244-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The VS 6 IDE does not like spaces in definition values so CMake drops them and warns. The Tests/CompileDefinitions test C code that looks for the dropped definitions already knows to skip them, but CMake still warns. Silence the warnings by avoiding such values in the first place on VS 6.
* | | | | | Merge topic 'genex-generate-file'Brad King2013-05-2827-0/+430
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | b983a58 file: Add GENERATE command to produce files at generate time
| * | | | | | file: Add GENERATE command to produce files at generate timeStephen Kelly2013-05-2427-0/+430
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea is to write to a temp file which contains generator expressions, and at generate time, evaluate the generator expressions, and write the result to a file. Because executables on Windows are limited in the length of command line it is possible to use, it is common to write command line arguments to a file instead and specify the file as a source of arguments. This new FILE(GENERATE) subcommand allows the use of generator expressions to create such files so that they can be used with add_custom_command for example.
* | | | | | | Merge topic 'use-java-use-parse-arguments'Brad King2013-05-281-35/+58
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 81b5fb5 UseJava.cmake: fully use cmake_parse_arguments in add_jar
| * | | | | | | UseJava.cmake: fully use cmake_parse_arguments in add_jarMatthew Woehlke2013-03-281-35/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify add_jar to fully use named arguments, rather than cmake variables, for specifying output names/directories, etc. For backward compatibility, the old variables are still honored if set, although named arguments will override them.
* | | | | | | | CMake Nightly Date StampKitware Robot2013-05-281-1/+1
| | | | | | | |
* | | | | | | | CMake Nightly Date StampKitware Robot2013-05-271-1/+1
| | | | | | | |
* | | | | | | | CMake Nightly Date StampKitware Robot2013-05-261-1/+1
| | | | | | | |
* | | | | | | | CMake Nightly Date StampKitware Robot2013-05-251-1/+1
| | | | | | | |
* | | | | | | | Merge topic 'fix-include_directories-whitespace-handling'Brad King2013-05-240-0/+0
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | b8cc6f4 include_directories: Fix handling of empty or space-only entries
| * | | | | | | include_directories: Fix handling of empty or space-only entriesStephen Kelly2013-05-243-2/+28
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 0d46e9a0 (Store includes from the same include_directories call together., 2013-01-20) we accidentally use such entries. Fix the code to drop them instead. Update the IncludeDirectories test to cover this case. Reported-by: Christophe Giboudeaux <cgiboudeaux@gmx.com>
* | | | | | | Merge topic 'geh-cleanup-identifiers'Brad King2013-05-246-0/+50
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7e24997 GenerateExportHeader: Generate only C identifiers as defines
| * | | | | | | GenerateExportHeader: Generate only C identifiers as definesStephen Kelly2013-05-246-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The variables in this module are used to configure a header file with defines whose name depends on the name of the target. As valid names of targets may be invalid for use as defines, convert the names of the defines used to C identifiers first. This is already done in C++ code for the DEFINE_SYMBOL property. This is not as simple as ensuring that the BASE_NAME is a C identifier, because most of the define names are configurable, and because use of a BASE_NAME which is not a C identifier, such as 4square can become a C identifier by specifying a prefix in the generate_export_header macro.
* | | | | | | | Merge topic 'geh-MODULE-export'Brad King2013-05-241-5/+3
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7ffef50 GenerateExportHeader: Allow use of of this macro with MODULEs.