summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'FixAutomocRegression3'Brad King2012-11-201-0/+59
|\ | | | | | | | | d253657 Automoc: fix regression #13667, broken build in phonon
| * Automoc: fix regression #13667, broken build in phononAlex Neundorf2012-11-201-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some systems, ${QT_INCLUDE_DIR} is reported by gcc as a builtin include search dir. Some projects use this information to extend CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES. In cmake 2.8.10 now the targets are queried for the include directories they use. When they return the result, the include dirs contained in CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES have been removed. In cmake 2.8.9 and below the INCLUDE_DIRECTORIES directory property was queried, where this had not been stripped. So, in those projects which modify the implicit include dirs variable, on systems where ${QT_INCLUDE_DIR} is reported by gcc, this directory, e.g. /usr/lib/include/qt/, was not given anymore to moc. This made moc not find required headers, so the build broke. Simply giving the full CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES to moc is no solution either, since moc can't handle some of the headers it finds then (https://bugreports.qt-project.org/browse/QTBUG-28045). So now cmake checks CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES, and if this contains ${QT_INCLUDE_DIR}, and the target reports that it uses ${QT_QTCORE_INCLUDE_DIR} but not ${QT_INCLUDE_DIR}, ${QT_INCLUDE_DIR} is added to the include dirs given to moc. Alex
* | Merge topic 'generator-factory'Brad King2012-11-2054-814/+495
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 75ebebc VS: Remove platform specific generator files 8b62080 VS: Remove EnableLanguage from platform-specific generators 5bdf011 VS: Remove GetPlatformName from platform-specific generators 8d42ab4 VS: Fix ArchitectureId of Visual Studio 10 IA64 generator 6f439b3 VS: Remove AddPlatformDefinitions from platform-specific generators 5170a88 Make cmGlobalGenerator::GetDocumentation() a static function 04ff866 Allow a GeneratorFactory handling of more than one generator 984ebc3 Search generator in cmake::ExtraGenerators before in cmake::Generators 30a6950 Add cmGlobalGeneratorFactory::GetGenerators() e8f8414 Introduce the abstract class cmGlobalGeneratorFactory
| * | VS: Remove platform specific generator filesPatrick Gansterer2012-11-1924-576/+238
| | | | | | | | | | | | Move the whole logic into the base class and the factory.
| * | VS: Remove EnableLanguage from platform-specific generatorsPatrick Gansterer2012-11-195-32/+8
| | | | | | | | | | | | Move the logic into the base class to remove duplicated code.
| * | VS: Remove GetPlatformName from platform-specific generatorsPatrick Gansterer2012-11-199-15/+11
| | | | | | | | | | | | | | | Use the existing ArchitectureId to generate the PlatformName to reduce duplicated information in the classes.
| * | VS: Fix ArchitectureId of Visual Studio 10 IA64 generatorPatrick Gansterer2012-11-191-1/+1
| | | | | | | | | | | | Replace "x64" with "Itanium" like at the VS 9 IA64 generator.
| * | VS: Remove AddPlatformDefinitions from platform-specific generatorsPatrick Gansterer2012-11-1914-72/+13
| | | | | | | | | | | | | | | Move the logic for handling platform specific defines from the subclasses into the cmGlobalVisualStudioGenerator base class.
| * | Make cmGlobalGenerator::GetDocumentation() a static functionPatrick Gansterer2012-11-1949-82/+70
| | | | | | | | | | | | | | | Making the function static allows us to call it directly, without creating and removing an instance of the generator.
| * | Allow a GeneratorFactory handling of more than one generatorPatrick Gansterer2012-11-194-65/+71
| | | | | | | | | | | | | | | | | | | | | | | | Pass the name of the requested generator to the generator factory, which is now responsible to check if it can create a matching generator for the name. This allows us to add more logic to the factory in a next step, so that not every possible generator needs to get registered explicit in cmake::AddDefaultGenerators().
| * | Search generator in cmake::ExtraGenerators before in cmake::GeneratorsPatrick Gansterer2012-11-191-19/+22
| | | | | | | | | | | | | | | | | | Since ExtraGenerators does not contain items, which are in Generators too, there is not change in behaviour. The benefit of this change is, that the lookup in the Generators map is now only done once.
| * | Add cmGlobalGeneratorFactory::GetGenerators()Patrick Gansterer2012-11-193-1/+11
| | | | | | | | | | | | | | | This allows cmGlobalGeneratorFactory to create more than one type of cmGlobalGenerator in a next step.
| * | Introduce the abstract class cmGlobalGeneratorFactoryPatrick Gansterer2012-11-1928-75/+174
| | | | | | | | | | | | | | | This new abstract class allows us move some logic from the cmGlobalGenerator into its own layer in a next step.
* | | Merge topic 'fix-IMPORTED-GLOBAL-reconfigure'Brad King2012-11-201-0/+1
|\ \ \ | | | | | | | | | | | | | | | | 5ff7587 Initialize IMPORTED GLOBAL targets on reconfigure (#13702)
| * | | Initialize IMPORTED GLOBAL targets on reconfigure (#13702)Brad King2012-11-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit ca39c5cd (Optionally allow IMPORTED targets to be globally visible, 2012-01-25) cmGlobalGenerator has a second member that tracks targets with global scope. We must initialize the new 'ImportedTargets' member wherever the old 'TotalTargets' member is initialized. Without this initialization the ImportedTargets member is left with dangling pointers during a same-process re-configuration.
* | | | Merge topic 'AutomocInheritFOLDERTargetProperty'Brad King2012-11-201-1/+17
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 3efe1d3 Automoc: "inherit" FOLDER target property from target (#13688)
| * | | | Automoc: "inherit" FOLDER target property from target (#13688)Alex Neundorf2012-11-171-1/+17
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch sets the FOLDER target property for the automoc target to the same value as of the actual target. This organizes the targets in IDEs with folders better. Inspired-by: Mike Gelfand Alex
* | | | Merge topic 'vs-drop-Zm'Brad King2012-11-201-1/+6
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | cd73979 MSVC: Drop default use of /Zm1000 for VS >= 7.1
| * | | | MSVC: Drop default use of /Zm1000 for VS >= 7.1Brad King2012-11-161-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From the option documentation of VS >= 7.1: "In earlier versions of Visual C++, the compiler used several discrete heaps, and each had a finite limit. Currently, the compiler dynamically grows the heaps as necessary up to a total heap size limit, and requires a fixed-size buffer only to construct precompiled headers. Consequently, the /Zm compiler option is rarely necessary." http://msdn.microsoft.com/en-us/library/bdscwf1c.aspx Suggested-by: Adam Moss <adam@broadcom.com>
* | | | | Merge topic 'vs-global-sections'Brad King2012-11-2023-17/+232
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 45d4f81 Merge topic 'per-config-EXCLUDE_FROM_DEFAULT_BUILD' into vs-global-sections 694322e Define properties VS_GLOBAL_SECTION_* 2c91962 Implement properties VS_GLOBAL_SECTION_* 57cadc1 Add tests for VS_SOLUTION_GLOBAL_SECTIONS
| * \ \ \ \ Merge topic 'per-config-EXCLUDE_FROM_DEFAULT_BUILD' into vs-global-sectionsBrad King2012-11-1613-42/+172
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Source/cmGlobalVisualStudio7Generator.h
| * | | | | | Define properties VS_GLOBAL_SECTION_*Petr Kmoch2012-11-161-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add definition and documentation of properties VS_GLOBAL_SECTION_PRE_<section> and VS_GLOBAL_SECTION_POST_<section>.
| * | | | | | Implement properties VS_GLOBAL_SECTION_*Petr Kmoch2012-11-164-17/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add properties VS_GLOBAL_SECTION_PRE_<name> and VS_GLOBAL_SECTION_POST_<name>, which can be used to generate custom GlobalSection-s in the .sln file.
| * | | | | | Add tests for VS_SOLUTION_GLOBAL_SECTIONSPetr Kmoch2012-11-1618-0/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add tests for correct appliation of directory properties VS_SOLUTION_GLOBAL_SECTIONS_*
* | | | | | | Merge topic 'per-config-EXCLUDE_FROM_DEFAULT_BUILD'Brad King2012-11-2013-42/+172
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 739f166 Serialize tests for EXCLUDE_FROM_DEFAULT_BUILD e31d83b Define property EXCLUDE_FROM_DEFAULT_BUILD d1f8828 Add property EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG> b777272 Add tests for EXCLUDE_FROM_DEFAULT_BUILD
| * | | | | | Serialize tests for EXCLUDE_FROM_DEFAULT_BUILDBrad King2012-11-131-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tests share a single build directory and so should not run in parallel. While at it, add the build dir to the test_clean target.
| * | | | | | Define property EXCLUDE_FROM_DEFAULT_BUILDPetr Kmoch2012-11-131-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add definition and documentation of properties EXLCUDE_FROM_DEFAULT_BUILD and EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG>.
| * | | | | | Add property EXCLUDE_FROM_DEFAULT_BUILD_<CONFIG>Petr Kmoch2012-11-137-42/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow EXCLUDE_FROM_DEFAULT_BUILD to be specified per configuration.
| * | | | | | Add tests for EXCLUDE_FROM_DEFAULT_BUILDPetr Kmoch2012-11-135-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add tests for EXCLUDE_FROM_DEFAULT_BUILD and its per-configuration variants.
* | | | | | | CMake Nightly Date StampKitware Robot2012-11-201-1/+1
| | | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2012-11-191-1/+1
| | | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2012-11-181-1/+1
| |_|_|/ / / |/| | | | |
* | | | | | CMake Nightly Date StampKitware Robot2012-11-171-1/+1
| |_|/ / / |/| | | |
* | | | | CMake Nightly Date StampKitware Robot2012-11-161-1/+1
| |/ / / |/| | |
* | | | CMake Nightly Date StampKitware Robot2012-11-151-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2012-11-141-1/+1
| | | |
* | | | Merge topic 'CPack-BugFixesSet'Brad King2012-11-131-1/+0
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | b6f7881 Remove seemingly bogus duplicate CPACK_PACKAGE_FILE_NAME call.
| * | | | Remove seemingly bogus duplicate CPACK_PACKAGE_FILE_NAME call.Andreas Mohr2012-11-111-1/+0
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
* | | | | Merge topic 'CPack-fixTypoInErrorMsg'Brad King2012-11-131-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 572d9e1 Correct string literal typo (have "(NULL)" like all other cases).
| * | | | | Correct string literal typo (have "(NULL)" like all other cases).Andreas Mohr2012-11-101-1/+1
| |/ / / / | | | | | | | | | | | | | | | Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
* | | | | Merge topic 'only-git-fetch-when-necessary'Brad King2012-11-136-5/+307
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a41d3a4 ExternalProjectUpdateTest: Only support Git 1.6.5 and greater. de760c1 ExternalProject: Verify when a fetch occurs during update test. 0a34433 ExternalProject: Make sure the ExternalProjectUpdate setup is available. 9b66c8f ExternalProject: Always do a git fetch for a remote ref. 2619f4d ExternalProject: Add tests for UPDATE_COMMAND. 378aa12 ExternalProject: Do smoke tests for Git Tutorial builds. d075829 ExternalProject: Only run 'git fetch' when required.
| * | | | | ExternalProjectUpdateTest: Only support Git 1.6.5 and greater.Matt McCormick2012-11-131-0/+18
| | | | | |
| * | | | | ExternalProject: Verify when a fetch occurs during update test.Matt McCormick2012-11-131-10/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The performance feature of only performing a git fetch when needed during the ExternalProject update step is verified during the test. A fetch is identified by removing the FETCH_HEAD file and checking for its reincarnation.
| * | | | | ExternalProject: Make sure the ExternalProjectUpdate setup is available.Matt McCormick2012-11-132-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This prepares the numberous tests that occur in the ExternalProjectUpdate test. The tests were passing previously because a fresh build was not performed.
| * | | | | ExternalProject: Always do a git fetch for a remote ref.Matt McCormick2012-11-132-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remote git refs always require a git fetch, because the remote may move around where the ref points.
| * | | | | ExternalProject: Add tests for UPDATE_COMMAND.Matt McCormick2012-11-134-0/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tests are added for UPDATE_COMMAND to ensure it is working properly. Testing infrastructure is added along with tests for Git, but tests for other version control systems could easily be added in the future.
| * | | | | ExternalProject: Do smoke tests for Git Tutorial builds.Matt McCormick2012-11-031-0/+11
| | | | | |
| * | | | | ExternalProject: Only run 'git fetch' when required.Matt McCormick2012-11-031-5/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the current default update step for Git under the ExternalProject_Add command, a 'git fetch' is always performed, followed by a 'git checkout' and 'git submodule update --recursive'. However, a 'git fetch' can be time consuming and requires a network connection. To save time, we look at the current checked out hash, and only perform the fetch if required. This is performed in a CMake script so we can handle the conditional logic in a cross platform manner.
* | | | | | Merge topic 'link-depends-no-shared'Brad King2012-11-139-1/+109
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 306796e Teach BuildDepends test to cover LINK_DEPENDS_NO_SHARED ed97631 Optionally skip link dependencies on shared library files
| * | | | | | Teach BuildDepends test to cover LINK_DEPENDS_NO_SHAREDBrad King2012-11-095-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Build a shared library and an executable linking to it inside the inner test. Set LINK_DEPENDS_NO_SHARED on the executable. Add a custom target to compare the output file times. Verify that on the first build the executable is newer than the library. Then modify a library source file. Verify that on the second build the library is newer because the executable did not have a dependency to re-link.