summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* fix Windows processor detectionRolf Eike Beer2013-03-061-1/+1
| | | | Thanks to Martin Koller for this.
* properly detect processor architecture on WindowsRolf Eike Beer2013-02-251-1/+5
| | | | | | | | CMake is usually run as a 32 bit process even on 64 bit Windows, so the PROCESSOR_ARCHITECTURE environment variable would always return x86. This post gives a description on how to do it properly: http://blogs.msdn.com/b/david.wang/archive/2006/03/26/howto-detect-process-bitness.aspx
* NAG: Use -PIC for Fortran position-independent code (#13932)Neil Carlson2013-02-181-0/+1
| | | | | The Numerical Algorithms Group (NAG) Fortran compiler documents -PIC for position-independent code.
* Merge topic 'rpath-use-implicit-link-dirs'Brad King2013-02-151-0/+1
|\ | | | | | | | | | | | | 95a9c80 Merge topic 'LINK_LIBRARIES-property' into rpath-use-implicit-link-dirs baa33ac AIX-GNU: Put implicit link directories in runtime libpath (#13909) 171b099 Avoid duplicate RPATH entries
| * Merge topic 'LINK_LIBRARIES-property' into rpath-use-implicit-link-dirsBrad King2013-02-1499-994/+1576
| |\ | | | | | | | | | Resolve a logical conflict in the signature of cmTarget::GetLinkClosure.
| * | AIX-GNU: Put implicit link directories in runtime libpath (#13909)Brad King2013-02-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GNU compiler front-ends on AIX invoke the linker with flags of the form "-L/path/to/gnu/runtime/lib" to tell ld where to find the language runtime libraries. They depend on the default libpath behavior documented in "man ld" to add the -L paths also to the runtime libpath so the dynamic loader can find the language runtime libraries. This differs from platforms whose linkers have distinct -rpath flags that non-system compilers can use to tell the dynamic loader where to find their language runtime libraries. Since commit 96fd5909 (Implement linking with paths to library files, 2008-01-22) CMake always passes "-Wl,-blibpath:" followed by any project-defined RPATH plus "/usr/lib:/lib" in order to explicitly set the runtime libpath and avoid getting all the project -L paths in the runtime libpath. The explicit libpath prevents the GNU compiler runtime library -L paths from being placed in the libpath and then the dynamic loader fails to find the language runtime libraries. CMake already detects the implicit link directories for each language since commit 07ea19ad (Implicit link info for C, CXX, and Fortran, 2009-07-23). Add the implicit link directories to the explicit runtime libpath for GNU compilers on AIX to fix this use case.
* | | Merge topic 'OpenMP-doc'Brad King2013-02-151-1/+3
|\ \ \ | | | | | | | | | | | | | | | | 77fd5e5 FindOpenMP: improve documentation (#13895)
| * | | FindOpenMP: improve documentation (#13895)Rolf Eike Beer2013-02-131-1/+3
| | | |
* | | | Merge topic 'Embarcadero-linker-flags'Brad King2013-02-151-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 188b0e9 Embarcadero: Fix default link stack/heap flags (#13912)
| * | | | Embarcadero: Fix default link stack/heap flags (#13912)Brad King2013-02-131-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit c70beb4b (change the default borland stack size, 2003-05-05), commit 1b572eb9 (remove -H flags, 2003-05-08), and commit 2d411398 (Stack size in generated programs should be 10 meg, 2003-06-12) CMake adds link flags to select a 10MB stack. At the time this was for consistency with our behavior on MS, but that was recently removed by commit 51af1da3 (Remove "/STACK:10000000" from default linker flags, 2012-11-23). Change our Embarcadero link flags to select the default stack and heap settings according to the compiler documentation. This is more reliable than leaving the flags out completely as it has been reported that the linker does not always use its documented defaults. Suggested-by: Mathäus Mendel <contato@mathausmendel.com>
* | | | Merge topic 'linked-usage-cleanup'Brad King2013-02-151-8/+0
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fde949d Don't add target-specific interface includes and defines to Qt 4 targets. 79ae968 Revert "Add a way to exclude INTERFACE properties from exported targets." 71bf96e Revert "find_package: Reword <package>_NO_INTERFACES documentation" 3df36b5 Revert "Add the $<LINKED:...> generator expression." e1f9080 Don't populate INTERFACE includes and defines properties in tll. 567c8d1 Revert "Don't allow utility or global targets in the LINKED expression." a1c4905 Use the link information as a source of compile definitions and includes. 5c9f5e3 Don't use LINKED where not needed. 5b88504 Rename the IncludeDirectoriesEntry to be more generic. b030323 Fix determination of when we're evaluating compile definitions.
| * | | Don't add target-specific interface includes and defines to Qt 4 targets.Stephen Kelly2013-02-131-8/+0
| | | | | | | | | | | | | | | | | | | | This is a partial revert of commit c8ee07d0 (FindQt4: Add INTERFACE includes and defines to Qt4 targets, 2012-12-31).
* | | | Merge topic 'EclipseDetectClangIncludeDirs'Brad King2013-02-121-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | a396b6e Eclipse: also detect include dirs and macro for clang (#13823)
| * | | | Eclipse: also detect include dirs and macro for clang (#13823)Alex Neundorf2013-02-101-2/+2
| | | | | | | | | | | | | | | | | | | | Alex
* | | | | Merge topic 'CPackRPM-fixSomeRPMSpecificVarHandling'Brad King2013-02-121-9/+19
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | 9be3da1 CPackRPM fix #13898 uses IF(DEFINED var) to avoid wrong var value logic
| * | | | CPackRPM fix #13898 uses IF(DEFINED var) to avoid wrong var value logicEric NOULARD2013-02-091-9/+19
| | | | |
* | | | | 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.