summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'minor-fixes'Brad King2013-02-111-6/+18
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ba48e63 Generate config-specific interface link libraries propeties. deb51a7 Remove unused forward declarations. 9712362 Don't allow utility or global targets in the LINKED expression. faa927e Make sure INTERFACE properties work with OBJECT libraries. 510fdcb Whitelist target types in target_{include_directories,compile_definitions} 4de7178 Ensure that the build interface includes have been added. df74bc3 Only append build interface include dirs to particular targets. d4e5c67 Don't keep track of content determined by target property values. 1fb545a Move a special case for PIC from the genex to the cmTarget code. 57175d5 Only use early evaluation termination for transitive properties. 4cf161a Fix determination of evaluating link libraries. 3a298c0 Fix generation of COMPILE_DEFINITIONS in DependInfo.cmake. 655e98b Ensure type specific compatible interface properties do not intersect. 46e2896 The COMPATIBLE_INTERFACE does not affect the target it is set on. 5f926a5 Test printing origin of include dirs from tll(). 7c0ec75 De-duplicate validation of genex target names. ...
| * Generate config-specific interface link libraries propeties.Stephen Kelly2013-02-091-6/+18
| | | | | | | | | | All other properties we generate are config-specific, so it makes sense to do so here too.
* | Merge topic 'generator-toolset'Brad King2013-02-083-4/+22
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 56ca8d4 Tests: Add generator toolset support f36c665 Tests: Consolidate ctest --build-and-test generator options c0debb1 Merge branch 'master' into generator-toolset daae0d2 ExternalProject: Propagate the generator toolset e3841cf CTest: Add options to set generator toolset f980a80 Xcode: Implement generator toolset selection (#9831, #13802) 650c647 VS: Implement generator toolset selection (#10722, #13774) 4fd5342 CMake: Add -T option to choose a generator toolset 118c32f Merge branch 'xcode-duplicate-flags-13354' into generator-toolset cf8645e Tests: Run ctest custom commands with VERBATIM 5b2fba5 ExternalProject: Simplify CMake command line generation
| * \ Merge branch 'master' into generator-toolsetBrad King2013-02-077-43/+864
| |\ \ | | |/ | | | | | | We need the latest Tests/CMakeLists.txt so we can refactor all tests.
| * | ExternalProject: Propagate the generator toolsetBrad King2013-02-071-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | When the CMAKE_GENERATOR option is given to ExternalProject_Add, look also for option CMAKE_GENERATOR_TOOLSET to select the value of the cmake "-T" command-line flag. When no CMAKE_GENERATOR option is given explicitly then use the current project's CMAKE_GENERATOR_TOOLSET (since we already use its CMAKE_GENERATOR).
| * | Xcode: Implement generator toolset selection (#9831, #13802)Brad King2013-02-072-0/+6
| | | | | | | | | | | | | | | Implement generator toolset selection (cmake -T) for Xcode > 2.0 by adding the GCC_VERSION build setting to project files.
| * | Merge branch 'xcode-duplicate-flags-13354' into generator-toolsetBrad King2013-01-3125-66/+288
| |\ \
| * | | ExternalProject: Simplify CMake command line generationBrad King2013-01-311-4/+5
| | | | | | | | | | | | | | | | | | | | Append the source directory to the command line option in a separate step instead of duplicating it with each possible generator.
* | | | Merge topic 'CMAKE_CL_64-CXX'Brad King2013-02-081-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | fe664b5 MSVC: Fix CMAKE_CL_64 in CXX-only projects (#13896)
| * | | | MSVC: Fix CMAKE_CL_64 in CXX-only projects (#13896)Brad King2013-02-071-1/+1
| | |_|/ | |/| | | | | | | | | | | | | | When CXX is enabled without C then MSVC_CXX_ARCHITECTURE_ID is set instead but not MSVC_C_ARCHITECTURE_ID. Test both.
* | | | Merge topic 'implicit-lib-canonical-path'Brad King2013-02-081-0/+6
|\ \ \ \ | |/ / / |/| | | | | | | | | | | 10e8b2d Normalize full paths in implicit link library list
| * | | Normalize full paths in implicit link library listBrad King2013-02-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach CMakeParseImplicitLinkInfo to convert implicit link library full paths to a canonical form. This makes them more reproducible in case different language compiler front-ends add the same library by different paths e.g. ".../libA.a" and "...//libA.a". Add a case to the CMake.ImplicitLinkInfo test to cover removal of extra slashes from both library and directory paths.
* | | | Merge topic 'add-ExternalData-module'Brad King2013-02-052-0/+765
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5484c60 Merge branch 'vs6-rule-files' into add-ExternalData-module 1fd8d01 ExternalData: Attach download rules to content links in IDEs a6d3ffc Fix Module.ExternalData test on VS 6 aed590a Fix Module.ExternalData test on Cygwin 06e8ded Merge branch 'fix-atomic-rename-on-Windows' into add-ExternalData-module e2e0d2e ExternalData: Collapse ../ components in DATA{} paths ee2abfd ExternalData: Add support for SHA 1 and 2 hash algorithms aa8b228 ExternalData: Generalize hash algo/ext handling 9e518a8 ExternalData: Allow DATA{} syntax to reference directories 175ed02 ExternalData: Allow ()-groups in series match regex 4befecc ExternalData: Add tests covering interfaces and errors bcd2580 ExternalData: Improve series matching using an explicit syntax c0cebcb ExternalData: Remove unused private interface 5275993 ExternalData: Cleanup stray TODO and typo in comments 7bb8344 ExternalData: Do not match directory names when resolving DATA{} 00d801f ExternalData: Remove compatibility with CMake < 2.8.5 ...
| * | | | ExternalData: Attach download rules to content links in IDEsBrad King2013-02-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each data file to be created in the build tree corresponds one-to-one with a raw file or content link in the source tree. Use the MAIN_DEPENDENCY of add_custom_command to attach the build rule to the source tree file. This looks much nicer in the IDE project file browser and avoids ".rule" files.
| * | | | ExternalData: Collapse ../ components in DATA{} pathsBrad King2013-01-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Relative path components need to be normalized out even if they appear in the middle of a caller-supplied string.
| * | | | ExternalData: Add support for SHA 1 and 2 hash algorithmsBrad King2013-01-301-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Update the Module.ExternalData and RunCMake.ExternalData tests to cover some of them.
| * | | | ExternalData: Generalize hash algo/ext handlingBrad King2013-01-301-11/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use private global variables _ExternalData_REGEX_(ALGO|EXT) to match the possible hash algorithm names and extensions in regular expressions. Use "file(<algo>)" instead of "cmake -E md5sum" to compute hashes without a child process and to support more hash algorithms.
| * | | | ExternalData: Allow DATA{} syntax to reference directoriesBrad King2013-01-301-7/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a trailing slash to reference a directory. Require that a list of associated files be specified to select from within the directory. One may simply use DATA{Dir/,REGEX:.*} to reference all files but get a directory passed on the command line.
| * | | | ExternalData: Allow ()-groups in series match regexBrad King2013-01-301-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor use of the ExternalData_SERIES_MATCH value to avoid assuming that it has no ()-groups that interfere with group indexing. Extend the Module.ExternalData test to cover this case.
| * | | | ExternalData: Improve series matching using an explicit syntaxBrad King2013-01-291-27/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Automatic series recognition can generate false positives too easily when the default series configuration is flexible enough to handle common cases. Avoid false positives by requiring an explicit syntax to activate series recognition. Choose the syntax DATA{<name>,:} to be short, simple, and look like a vertical ellipsis. This allows us to improve the default series match configuration. Allow series references to contain one of the numbered file names. Allow '-' as a separator in addition to '.' and '_'. Document what the default configuration matches. Also provide more options to configure series <name> parsing.
| * | | | ExternalData: Remove unused private interfaceBrad King2013-01-281-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | The 'store' action was part of an older design and is no longer needed. Remove it.
| * | | | ExternalData: Cleanup stray TODO and typo in commentsBrad King2013-01-281-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Remove an outdated TODO line left from earlier designs. Also fix a typo.
| * | | | ExternalData: Do not match directory names when resolving DATA{}Brad King2013-01-281-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our content link and object download infrastructure supports only blobs (files), not trees (directories). Do not allow references to end in a slash.
| * | | | ExternalData: Remove compatibility with CMake < 2.8.5Brad King2013-01-241-17/+6
| | | | | | | | | | | | | | | | | | | | | | | | | Now that the module comes in a sufficiently new CMake it does not need to support older versions.
| * | | | Add ExternalData moduleBrad King2013-01-242-0/+714
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Take files we previously distributed in ITK 4.3.1: CMake/ExternalData.cmake CMake/ExternalData_config.cmake.in and add them for distribution in upstream CMake. Update the copyright notice block format to follow CMake conventions.
* | | | | Set WINCE to 1 when building for WindowsCEPatrick Gansterer2013-02-011-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Introduce a new variable WINCE to make the WindowsCE system more easy to use in if statements.
* | | | | Merge topic 'FindGTK2-lib-order'Brad King2013-01-291-35/+41
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 399c3b8 FindGTK2: Fix GTK2_LIBRARIES order for static gtk libraries
| * | | | | FindGTK2: Fix GTK2_LIBRARIES order for static gtk librariesRodolfo Schulz de Lima2013-01-281-35/+41
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this, when creating GTK2_LIBRARIES, FindGTK2 added the GTK dependencies in wrong order into GTK2_LIBRARIES. With dynamic libraries this is not a major problem, but when linking to static gtk libraries, the linker outputs a lot of undefined symbols. Reorder the calls that append libraries to GTK2_LIBRARIES to respect dependency order.
* | | | | configure_package_config_file(): extend documentationAlex Neundorf2013-01-241-0/+2
| | | | | | | | | | | | | | | | | | | | Alex
* | | | | configure_package_config_file(): fix indentationAlex Neundorf2013-01-241-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a separate commit, so that the previous commit is smaller. Alex
* | | | | configure_package_config_file: force absolute paths for usr-moveAlex Neundorf2013-01-241-0/+16
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The configure_package_config()_file() macro will now use absolute paths for the PATH_VARS if the Config.cmake file will be installed into /lib(64) or /usr/lib(64), since due to the usr-move filesystem changes Config.cmake files installed there may be found via two paths (once per symlink via /lib(64) and once via /usr/lib ), and in this case relative paths break. Alex
* | | | Merge topic 'qt4-autolink-qtmain'Brad King2013-01-231-0/+28
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | e3b5eb6 Automatically link to the qtmain library when linking to QtCore. 6c8d8af Add the $<TARGET_POLICY> expression
| * | | | Automatically link to the qtmain library when linking to QtCore.Stephen Kelly2013-01-231-0/+28
| | |_|/ | |/| | | | | | | | | | | | | | When using QAxServer, ensure that the qtmain library is excluded by reporting an error at CMake time if it is not.
* | | | ExternalProject: Allow DEPENDS on normal targets (#13849)Brad King2013-01-161-2/+5
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ExternalProject_Add DEPENDS option adds two types of dependencies. It adds a target-level build order dependency between the external project target and the named targets. It also adds a file-level dependency on the "done" stamp file of the named external project targets. Targets not created by ExternalProject_Add have no such stamp file and no _EP_STAMP_DIR property. Prior to commit d14c0243 (Refactor repeated code into function, 2012-04-26) we unconditionally accepted an empty stamp dir and generated a dependency on a non-existent file. After that commit we generate an error that no stamp dir is set. Skip the file-level dependency when the named dependency is not an external project target in order to allow this use case. Teach the ExternalProject test to cover the case.
* | | Merge topic 'qt4-target-depends'Brad King2013-01-101-0/+26
|\ \ \ | | | | | | | | | | | | | | | | c8ee07d FindQt4: Add INTERFACE includes and defines to Qt4 targets
| * | | FindQt4: Add INTERFACE includes and defines to Qt4 targetsStephen Kelly2013-01-101-0/+26
| | | |
* | | | Merge topic 'Haiku'Brad King2013-01-106-27/+46
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0380f36 FindOpenGL: add Haiku paths 8e9630c FindGLUT: BeOS does not have libXi and libXmu 50bfedf FindLua51: do not try to link libm on BeOS 3d2e6a0 check for Haiku only with __HAIKU__ 7a1b961 Haiku no longer defines __BEOS__ ed96d9a bootstrap: use better defaults for Haiku
| * | | | FindOpenGL: add Haiku pathsRolf Eike Beer2013-01-071-9/+21
| | | | | | | | | | | | | | | | | | | | Also check the HP-UX specific paths only when on HP-UX.
| * | | | FindGLUT: BeOS does not have libXi and libXmuRolf Eike Beer2013-01-071-7/+21
| | | | |
| * | | | FindLua51: do not try to link libm on BeOSRolf Eike Beer2013-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This includes Haiku, which currently is treated as BeOS. The ComplexOneConfig test already knew about this.
| * | | | check for Haiku only with __HAIKU__Rolf Eike Beer2013-01-072-9/+2
| | | | |
| * | | | Haiku no longer defines __BEOS__Rolf Eike Beer2013-01-071-1/+1
| |/ / /
* | | | Merge topic 'qt4-version-openssl'Brad King2013-01-081-5/+5
|\ \ \ \ | |/ / / |/| | | | | | | | | | | 4b9ec00 FindQt4: set QT_VERSION_* variables sooner.
| * | | FindQt4: set QT_VERSION_* variables sooner.Clinton Stimpson2013-01-071-5/+5
| | | | | | | | | | | | | | | | | | | | Set QT_VERSION_* variables sooner so they can be set before Qt4ConfigDependentSettings.cmake uses them.
* | | | Merge topic 'osx-implicit-link-dirs'Brad King2013-01-078-21/+78
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cc676c3 OS X: Detect implicit linker framework search paths 2dd67c7 OS X: Detect implicit link directories on modern toolchains ba58d0c OS X: Link with all framework search paths, not just the last
| * | | | OS X: Detect implicit linker framework search pathsBrad King2012-12-116-15/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we hard-coded a list of implicit framework directories but did not account for CMAKE_OSX_SYSROOT or for changes to the list across OS X versions. Instead we should automatically detect the framework directories for the active toolchain. The parent commit added the "-Wl,-v" option to ask "ld" to print its implicit directories. It displays a block such as: Framework search paths: /... Parse this block to extract the list of framework directories. Detection may fail on toolchains that do not list their framework directories, such as older OS X linkers. Always treat the paths <sdk>/Library/Frameworks <sdk>/System/Library/Frameworks <sdk>/Network/Library/Frameworks # Older OS X only /System/Library/Frameworks as implicit. Note that /System/Library/Frameworks should always be considered implicit so that frameworks CMake finds there will not override the SDK copies.
| * | | | OS X: Detect implicit link directories on modern toolchainsBrad King2012-12-114-15/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We detect the implicit link directories for the toolchain by adding a flag to get verbose output from the compiler front-end while linking the ABI detection binary. Newer OS X toolchains based on Clang do not add the implicit link directories with -L options to their internal invocation of "ld". Instead they use a linker that comes with the toolchain and is already configured with the proper directories. Add the "-Wl,-v" option to ask "ld" to print its implicit directories. It displays them in a block such as: Library search paths: /... Parse this block to extract the implicit link directories. While at it, remove the checks introduced by commit efaf335b (Skip implicit link information on Xcode, 2009-07-23) and commit 5195a664 (Skip implicit link info for multiple OS X archs, 2009-09-22). Discard the non-system link directories added by Xcode. Discard all detected implicit libraries in the multi-architecture case but keep the directories. The directories are still useful without the libraries just to suppress addition of explicit -L options for them.
* | | | | Merge topic 'qt4-target-depends'Brad King2013-01-071-0/+55
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | 57a67bf Qt4: Add module dependencies to the IMPORTED targets
| * | | | Qt4: Add module dependencies to the IMPORTED targetsStephen Kelly2013-01-071-0/+55
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This means for example, that consumers can use: target_link_libraries(foo ${QT_QTGUI_LIBRARIES}) instead of also needing to specify all 'public' dependencies: target_link_libraries(foo ${QT_QTGUI_LIBRARIES} ${QT_QTCORE_LIBRARIES} ) when using the IMPORTED targets. Also populate the IMPORTED_LINK_DEPENDENT_LIBRARIES property so CMake can help the linker find shared library dependencies.
* | | | Merge topic 'FixSDLSearchPaths'Brad King2013-01-035-5/+10
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | fb864d6 FindSDL_...: Restore dropped search paths (#13819)