summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake Nightly Date StampKitware Robot2013-03-021-1/+1
|
* CMake Nightly Date StampKitware Robot2013-03-011-1/+1
|
* CMake Nightly Date StampKitware Robot2013-02-281-1/+1
|
* CMake Nightly Date StampKitware Robot2013-02-271-1/+1
|
* CMake Nightly Date StampKitware Robot2013-02-261-1/+1
|
* Merge topic 'memoize-link-iface-includes-defines'Brad King2013-02-251-44/+88
|\ | | | | | | | | 42ebb18 Memoize includes and defines from interface libraries.
| * Memoize includes and defines from interface libraries.Stephen Kelly2013-02-241-44/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | This is similar in spirit to commit e48d8420 (Cache context-independent includes on evaluation., 2013-02-03), but it is needed since commit a1c4905f (Use the link information as a source of compile definitions and includes., 2013-02-12), which changed how includes and defines are determined. As they are now determined through the link interface, we need to cache the result of evaluating them through that. In the case of the includes, the result was already being cached and then immediately disposed. Store the result as a member variable instead to make use of the caching.
* | Merge topic 'interface-property-external-read'Brad King2013-02-255-46/+73
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 8dfdf1c Fix the tests for evaluating includes and defines. 98a6725 Fix constness of accessors. 7e70744 Expand includes and defines transitively in 'external' genexes. d1a2729 Fix DAG checker finding cycling dependencies. e72eaad Workaround broken code where a target has itself in its link iface. ec2c67b Strip stray semicolons when evaluating generator expressions.
| * | Fix the tests for evaluating includes and defines.Stephen Kelly2013-02-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should also check whether the INTERFACE_ variant of a property is being read, and in the case of the compile definitions, we should test the _<CONFIG> suffixed variants. That is already available through the use of the methods. This way, we use the ALREADY_SEEN optimization when evaluating the includes of a target in 'external' generator expressions, ie, those used in a add_custom_command invokation, as opposed to evaluating the INCLUDE_DIRECTORIES of a target itself via GetIncludeDirectories.
| * | Fix constness of accessors.Stephen Kelly2013-02-232-4/+4
| | |
| * | Expand includes and defines transitively in 'external' genexes.Stephen Kelly2013-02-231-36/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This means that we can use expressions of the form $<TARGET_PROPERTY:foo,INTERFACE_INCLUDE_DIRECTORIES> to get a list of the interface include directories of foo, including those coming from dependencies. We can't have a test of a target which has a single include directory in its INCLUDE_DIRECTORIES because the shell on the MSYS platforms transforms a single include directory to include a prefix, which is not what the test expects. We test a target with two directories instead as a means to test a target with no link dependencies.
| * | Fix DAG checker finding cycling dependencies.Stephen Kelly2013-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, the following is reported falsely as a self-reference: target_link_libraries(empty2 LINK_PUBLIC empty3) target_link_libraries(empty3 LINK_PUBLIC empty2) add_custom_target(... -DINCLUDES=$<TARGET_PROPERTY:empty2,INTERFACE_INCLUDE_DIRECTORIES> ) The reason is that the existing code assumed that all reading of include directories would be done through cmTarget::GetIncludeDirectories() and would therefore be initialized with a DagChecker. That is not the case if reading the property with an 'external' generator expression.
| * | Workaround broken code where a target has itself in its link iface.Stephen Kelly2013-02-231-0/+7
| | | | | | | | | | | | | | | | | | | | | There is a test for this since commit 8e756d2b (Tolerate cycles in shared library link interfaces (#12647), 2012-01-12), so make sure it continues to pass, even as we require no self-references in new INTERFACE_ property generator expressions.
| * | Strip stray semicolons when evaluating generator expressions.Stephen Kelly2013-02-183-3/+8
| | |
* | | Merge topic 'ide-compiler-vars-Fortran'Brad King2013-02-251-0/+1
|\ \ \ | | | | | | | | | | | | | | | | 9f94181 VS: Restore CMAKE_GENERATOR_FC variable
| * | | VS: Restore CMAKE_GENERATOR_FC variableBrad King2013-02-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit bed6c388 (VS,Xcode: Remove unused CMAKE_GENERATOR_* variables, 2013-02-19) we removed this variable among others from the VS generator claiming they were all not used. In fact the Fortran compiler detection module CMakeDetermineFortranCompiler.cmake uses CMAKE_GENERATOR_FC even for the Visual Studio IDE generators because it does not use the full IDE compiler id detection like the C and C++ language files do.
* | | | Merge topic 'try_compile-targets'Brad King2013-02-2510-15/+293
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 236133e Handle targets in the LINK_LIBRARIES of try_compile. 1c0597c Add a new Export generator for IMPORTED targets. f2ab17d Keep track of all targets seen while evaluating a genex.
| * | | | Handle targets in the LINK_LIBRARIES of try_compile.Stephen Kelly2013-02-222-10/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Imported targets are re-exported so that they can be used by the try_compile generated code with target_link_libraries. This makes the use of the cmake_expand_imported_targets macro obsolete. The macro is not able to expand the generator expressions which may appear in the IMPORTED_LINK_INTERFACE_LIBRARIES content. Instead it just sees them as 'not a target'.
| * | | | Add a new Export generator for IMPORTED targets.Stephen Kelly2013-02-224-0/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is to be used during try_compile using LINK_LIBRARIES in the srcfile signature and, in the future, TARGETS in the binary dir signature.
| * | | | Keep track of all targets seen while evaluating a genex.Stephen Kelly2013-02-224-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | As dependencies of the generator expression, these will re-exported in try_compile generated code.
* | | | | Merge topic 'fix-automoc-linker-language'Brad King2013-02-253-12/+26
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 79568f9 automoc: Add source file to target early to set the linker language
| * | | | | automoc: Add source file to target early to set the linker languageStephen Kelly2013-02-223-12/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, GetIncludeDirectories was called before calling target->AddSourceFile(mocCppSource). Since commit a1c4905f (Use the link information as a source of compile definitions and includes., 2013-02-12), the include directories are determined by the link information. Valid link information requires that the linker language can be determined, which depends on the source files languages and the dependent targets languages. In the case of the no_link_languages target in the unit test, there are no dependencies and the additional source file no_link_languages_automoc.cpp is added to the target at generate-time. That file can be used to determine the linker language, but it must be added to the target before calling GetIncludeDirectories.
* | | | | | Merge topic 'ExportFileGenerator_GenerateNicerErrorCheckingCode'Brad King2013-02-251-13/+30
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 11d0c66 export files: rewrite the code for checking required targets
| * | | | | | export files: rewrite the code for checking required targetsAlex Neundorf2013-02-201-13/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of generating a whole bunch of repeated if-statements now a foreach()-loop is generated in the targets-file. Also now a comment is inserted in the generated file if no targets from other export sets are used, so if somebody looks at the file he can see whether the information about missing imported targets has been generated or not. Alex
* | | | | | | Merge topic 'cmLocalGenerator_RemoveVirtuals'Brad King2013-02-251-5/+5
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f497dbc cmLocalGenerator: remove "virtual" where not used
| * | | | | | | cmLocalGenerator: remove "virtual" where not usedAlex Neundorf2013-02-201-5/+5
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes several functions of cmLocalGenerator which are marked as virtual non-virtual, since they are not reimplemented anywhere. Alex
* | | | | | | CMake Nightly Date StampKitware Robot2013-02-251-1/+1
| | | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2013-02-241-1/+1
| | | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2013-02-231-1/+1
| | | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2013-02-221-1/+1
| |_|_|_|_|/ |/| | | | |
* | | | | | CMake Nightly Date StampKitware Robot2013-02-211-1/+1
|/ / / / /
* | | | | Merge topic 'xcode-target-depends'Brad King2013-02-203-51/+19
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b005140 Xcode: Each target dependency edge needs a unique object (#13935) 781ea6d Xcode: Drop check for circular target dependencies
| * | | | | Xcode: Each target dependency edge needs a unique object (#13935)Brad King2013-02-193-33/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generate a unique PBXTargetDependency and PBXContainerItemProxy for every edge in the dependency graph as required by the Xcode format. Xcode only accidentally loads project files that re-use the same PBXTargetDependency for every edge leading to a single target. If one is removed by hand in the IDE then Xcode may crash due to dangling references from the others. Since cmGlobalXCodeGenerator::AddDependTarget is called exactly once for every edge in the target dependency graph we do not need to keep track of which edges have been visited to avoid generating duplicates.
| * | | | | Xcode: Drop check for circular target dependenciesBrad King2013-02-191-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The modern cmComputeTargetDepends guarantees there will by no cycles. Drop the Xcode generator's check which only handled length 1 and 2 cycles anyway.
* | | | | | Merge topic 'compiler-change-cleanup'Brad King2013-02-201-16/+8
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e83e6a1 Test Unix Makefiles generator support for changing compilers c307e1c Tests/RunCMake: Allow tests to control build tree behavior 2963c98 Merge branch 'empty-compiler-crash' into compiler-change-cleanup 1df09e5 Delete entire CMakeFiles directory when deleting CMakeCache.txt (#13756)
| * \ \ \ \ \ Merge branch 'empty-compiler-crash' into compiler-change-cleanupBrad King2013-02-18220-4904/+10334
| |\ \ \ \ \ \
| * | | | | | | Delete entire CMakeFiles directory when deleting CMakeCache.txt (#13756)Brad King2013-02-181-16/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit e015df7d (...delete CMakeFiles directory when cache is deleted, 2006-02-20) we deleted the files in the CMakeFiles directory when deleting CMakeCache.txt in order to reset the build tree to a fresh state. This allowed commit fd33bf93 (fix for bug 6102, allow users to change the compiler, 2007-12-13) to delete CMakeCache.txt when the user changes the compiler and CMakeFiles/CMake<lang>Compiler.cmake and other platform information files would go with it to allow a fresh start. Then commit 7195aca5 (Make platform information files specific to the CMake version, 2012-08-24) moved the platform information files to a subdirectory e.g. CMakeFiles/<version>/CMake<lang>Compiler.cmake where <version> is the current CMake version. This causes the compiler change logic to fail to remove all old compiler information. Then on the next configuration CMake<lang>Compiler.cmake would set CMAKE_<lang>_COMPILER back to the old value and re-trigger the compiler change logic. This causes an infinite loop of cache deletion and compiler reset. Fix this simply by teaching cmCacheManager::DeleteCache to remove the entire CMakeFiles directory recursively whenever it removes an existing CMakeCache.txt. This fully resets the build tree to configure with a fresh compiler.
* | | | | | | | Merge topic 'ide-compiler-vars-cleanup'Brad King2013-02-203-8/+0
|\ \ \ \ \ \ \ \ | | |_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | bed6c38 VS,Xcode: Remove unused CMAKE_GENERATOR_* variables
| * | | | | | | VS,Xcode: Remove unused CMAKE_GENERATOR_* variablesBrad King2013-02-193-8/+0
| | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the topic merged to master by commit 34a02846 (Merge topic 'ide-compiler-id', 2012-08-24), these variables are not used by CMakeDetermine*Compiler.cmake for VS and Xcode generators. Drop the code that sets them.
* | | | | | | Merge topic 'xcode-organize-sources'Brad King2013-02-201-2/+13
|\ \ \ \ \ \ \ | |_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | f6a8983 Xcode: Sort source files 0816cae Xcode: Fix nested source group handling (#12943)
| * | | | | | Xcode: Sort source filesAlexander Chehovsky2013-02-181-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Xcode doesn't sort the files on its own, let's sort them in our generator to make navigation easier. Visual Studio, QtCreator, and kdevelop all display files sorted.
| * | | | | | Xcode: Fix nested source group handling (#12943)Alexander Chehovsky2013-02-181-1/+1
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | Teach the code path for nested sources build the group map key in the same way as non-nested code path does.
* | | | | | CMake Nightly Date StampKitware Robot2013-02-201-1/+1
| |_|_|_|/ |/| | | |
* | | | | Merge topic 'ninja-custom-command-implicit'Brad King2013-02-191-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | bbea30e Ninja: remove implicit dependency on custom command outputs
| * | | | | Ninja: remove implicit dependency on custom command outputsPeter Kümmel2013-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert aa2e1e9caef92b10083a03c2ded5c937703e69b8 With this commit all files are rebuild when only one moc file has changed. BUG 0013874
* | | | | | Merge topic 'sublime-text-2-generator'Brad King2013-02-194-0/+598
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f616ff2 Update generator to use new cmGeneratorTarget api. 674bd6e Merge branch 'master' into sublime-text-2-generator 4760ead Remove ability to generate sublime clang files. da0898e Correct missing parameter to CMP0018Flags call. badb40d Merge branch 'master' into sublime-text-2-generator b3ae61f Merge branch 'master' into sublime-text-2-generator 089d9cc SublimeText 2 Gen: Set the sublimeclang_options_script property. 44c2eee Merge branch 'master' into sublime-text-2-generator 304b885 Sublime Text 2 Gen: Per-source Compile flags are now saved in a separate file. 5b2aa3d SublimeText2 Gen: Fixed the issue where include directory flags used -D 90bcb77 SublimeText2 Gen: Improved use of define, include flags from CMAKE_C(XX)_FLAGS cc84072 Merge branch 'master' into sublime-text-2-generator 8670cbe Define flags in CMAKE_C(XX)_FLAGS are now included in SublimeClang settings. d022d4e Merge branch 'master' into sublime-text-2-generator 9cd3e70 Fixed Sublime Text project generation for in-source builds 44f35f7 Added a CMAKE_SUBLIMECLANG_DISABLED variable that disables SublimeClang. ...
| * | | | | | Update generator to use new cmGeneratorTarget api.Robert Maynard2013-02-191-11/+14
| | | | | | |
| * | | | | | Merge branch 'master' into sublime-text-2-generatorRobert Maynard2013-02-1947-438/+1577
| |\ \ \ \ \ \
| * | | | | | | Remove ability to generate sublime clang files.Robert Maynard2013-02-193-109/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SublimeClang is a optional plugin to SublimeText and I felt it shouldn't be part of the generator for the following reasons: 1. Reduces the amount of sublime and sublimeClang specific code we have to maintain inside CMake. 2. In testing the SublimeClang commands generated did not work for the VTK project. For people that do want this feature I recommend that they looking into https://gist.github.com/robertmaynard/4724705 for a way to use CMAKE_EXPORT_COMPILE_COMMANDS to generate JSON files that can be used by SublimeClang.
| * | | | | | | Correct missing parameter to CMP0018Flags call.Robert Maynard2013-02-191-1/+1
| | | | | | | |