summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'GNUInstallDirs-special-prefixes'Brad King2015-06-191-3/+70
|\ | | | | | | | | | | | | 8bcec4d2 Help: Add notes for topic 'GNUInstallDirs-special-prefixes' c8bd37ec GNUInstallDirs: Add special cases for certain prefixes 5f30f175 GNUInstallDirs: Add test cases
| * GNUInstallDirs: Add special cases for certain prefixesAlex Turbov2015-06-181-3/+70
| | | | | | | | | | | | | | | | | | Teach the module to handle SYSCONFDIR and LOCALSTATEDIR properly if CMAKE_INSTALL_PREFIX is set to `/` or `/usr` -- i.e. as expected by GNU Coding Standard (i.e. set SYSCONFDIR to `/etc` and `LOCALSTATEDIR` to `/var`). Also if CMAKE_INSTALL_PREFIX is set to /opt/pkg, `SYSCONFDIR` must be set to `/etc/opt/pkg` and `LOCALSTATEDIR` to `/var/opt/pkg` according to FHS.
* | Merge topic 'ConcurrentFortran-compiler-id'Brad King2015-06-196-6/+40
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 54676a0e Help: Add notes for topic 'ConcurrentFortran-compiler-id' 7cd539b1 Add support for Concurrent Fortran 77 Compiler 0d204c1c CMakeDetermineCompilerId: Try matching compiler output to detect id 5f0dad75 CMakeDetermineCompilerId: Refactor id build/check loop logic c65a060e CMakeDetermineCompilerId: Optionally try some flags before no flags
| * | Add support for Concurrent Fortran 77 CompilerBrad King2015-06-183-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | The Concurrent Fortran compiler (ccur.com) is available on Linux and can be used much like the GNU Fortran compiler. Currently it has no preprocessor symbols to identify it so we need to detect it by matching compiler output. Suggested-by: Anthony Ette <Anthony.R.Ette@controlsdata.com>
| * | CMakeDetermineCompilerId: Try matching compiler output to detect idBrad King2015-06-181-0/+19
| | | | | | | | | | | | | | | | | | Some compilers can only be distinguished by their compilation output rather than preprocessor symbols or special flags. Add infrastructure to determine the compiler id by matching output.
| * | CMakeDetermineCompilerId: Refactor id build/check loop logicBrad King2015-06-181-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | Callers of CMAKE_DETERMINE_COMPILER_ID initialize the CMAKE_${lang}_COMPILER_ID to unset so we can check it at the end of each loop iteration instead of the beginning. This approach allows us to break out of the loop as soon as we succeed. It will also allow checks to be added in more places within the loop later.
| * | CMakeDetermineCompilerId: Optionally try some flags before no flagsBrad King2015-06-184-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | Teach CMAKE_DETERMINE_COMPILER_ID to optionally try detecting the compiler id using some given flags before trying to detect it with no special flags. This will be useful for Fortran detection to distinguish some compilers that use the preprocessors of others but have no macro of their own by getting verbose output.
* | | Embarcadero: Run at most one linker invocation at a time (#15620)James Johnston2015-06-181-0/+6
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At least some versions (e.g. C++ Builder 5) of the bcc32 linker are known to write temporary files with a constant name to the current directory (e.g. "turboc.$ln"). (This can be verified by using Process Monitor to watch the file writes that bcc32 / ilink32 / implib make). This causes problems with some generators that keep a constant current directory and run concurrent linkers. For example, the Ninja generator, by default, always has the current directory set to the top of the build tree - resulting in conflicts between the linkers that are simultaneously trying to write to "turboc.$ln". Symptoms include direct errors regarding the "turboc.$ln" file, or later build steps failing due to corrupted output from previous links that happened to link "successfully." This is not a problem for the Borland Makefiles generator which does not run jobs in parallel. For the Ninja generator, work around this problem by using a link job pool of size 1.
* | Merge topic 'linux-GNU-Fortran-no-rdynamic'Brad King2015-06-181-0/+1
|\ \ | | | | | | | | | | | | f43defae GNU: Drop -rdynamic flag from Fortran
| * | GNU: Drop -rdynamic flag from FortranBrad King2015-06-161-0/+1
| | | | | | | | | | | | | | | The GNU Fortran compiler does not document support for this flag as the GNU C and C++ compilers do.
* | | Merge topic 'GNUInstallDirs-doc-format'Brad King2015-06-181-27/+32
|\ \ \ | |/ / |/| / | |/ | | 1199ebf1 GNUInstallDirs: Improve documentation formatting
| * GNUInstallDirs: Improve documentation formattingBrad King2015-06-161-27/+32
| | | | | | | | Also consolidate the description of each variable.
* | FindCUDA: Resolve a host compiler symlink only if it is Apple cc -> clangBill Hoffman2015-06-151-9/+23
|/ | | | | | | | Otherwise using a "cc -> ccache" or similar symlink as the compiler causes FindCUDA to select ccache as the host compiler. Update the logic added by commit v3.1.0-rc1~354^2 (FindCUDA: Fix OSX Clang & no C language enabled, 2014-06-12) to apply only in the specific case it is needed.
* FindBISON: Add DEFINES_FILE option to pass --defines=FILEEon Jeong2015-06-091-8/+26
|
* FindBISON: Use CMAKE_PARSE_ARGUMENTS to parse argumentsEon Jeong2015-06-091-18/+23
|
* FindBISON: Use BISON_TARGET macro argument names internallyEon Jeong2015-06-091-5/+5
| | | | The macro argument names are much clearer than ${ARGV#} references.
* FindBISON: Improve documentation formattingBrad King2015-06-091-33/+43
|
* Merge topic 'revert-mingw-no-find_library-dll'Brad King2015-06-091-1/+1
|\ | | | | | | | | f5dbf00d Windows-GNU: Restore find_library treatment of '.dll' as linkable (#15409)
| * Windows-GNU: Restore find_library treatment of '.dll' as linkable (#15409)Brad King2015-06-081-1/+1
| | | | | | | | | | | | | | Revert commit v3.3.0-rc1~435^2 (Windows-GNU: Do not tell find_library to treat '.dll' as linkable, 2015-02-18). MinGW tools support linking to '.dll' files directly and many non-CMake build systems still do not provide a separate '.dll.a' file.
* | Merge topic 'FindwxWidgets-versioned-executable'Brad King2015-06-091-1/+2
|\ \ | | | | | | | | | | | | 2c969743 FindwxWidgets: Fix find_program call for versioned names
| * | FindwxWidgets: Fix find_program call for versioned namesBrad King2015-06-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | In commit v3.3.0-rc1~132^2 (FindwxWidgets: Search for wx-config-3.0 in addition to wx-config, 2015-04-29) we added a second (versioned) name to the find_program call. Specifying multiple names requires use of the NAMES option. Add it now. While at it, also add versioned names for 2.9 and 2.8.
* | | Merge topic 'ExternalProject_init_selected_submodules'Brad King2015-06-081-1/+1
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | 77ee6db5 Help: Add notes for topic 'ExternalProject_init_selected_submodules' 124243c0 ExternalProject: Add unit tests for GIT_SUBMODULES argument 14e2c3ad ExternalProject: Initialize only selected git submodules (#15590)
| * | ExternalProject: Initialize only selected git submodules (#15590)Silvio Traversaro2015-06-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Honor the GIT_SUBMODULES option added by commit v3.0.0-rc1~92^2 (ExternalProject: Add option GIT_SUBMODULES, 2014-01-09) during the 'git submodule init' step to avoid initalizing all modules since we are only going to update the specified subset anyway. This will be useful for project repositories that have many submodules (e.g. https://github.com/boostorg/boost). Reviewed-by: Daniele E. Domenichelli <daniele.domenichelli@iit.it>
* | | CPackDeb: Check dpkg-shlibdeps --ignore-missing-info flagBrad King2015-06-031-3/+6
| | | | | | | | | | | | | | | | | | Check for this flag explicitly in the --help output before using it. It turns out there are some versions of the tool that support --version but not --ignore-missing-info.
* | | CPackDeb: Check dpkg-shlibdeps version more robustlyBrad King2015-06-031-4/+5
|/ / | | | | | | | | Use if(MATCHES) to verify that a match exists before using the match group variable.
* | Merge topic 'FindPostgreSQL-updates'Brad King2015-06-021-19/+25
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | d4fd30d8 FindPostgreSQL: Search some more common packaging locations 8bd95059 FindPostgreSQL: Add help text for PostgreSQL_LIBRARY cache entry a68e9b7c FindPostgreSQL: Document PostgreSQL_LIBRARY_DIRS result variable cc3aee04 FindPostgreSQL: Search for versions 9.2, 9.3, and 9.4 6a2851a1 FindPostgreSQL: Remove extra whitespace after command open parens b7ca6f90 FindPostgreSQL: Remove unused lines
| * | FindPostgreSQL: Search some more common packaging locationsTamar Kranenburg2015-06-011-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use PATH_SUFFIXES to search more common packaging locations. On Windows, we can use suffixes to search in the standard Program Files locations without hard-coding the C:/ path. On Ubuntu/Debian, starting with PostgreSQL 9.3 the header file pg_type.h is moved to a separate package (from libpq-dev to postgresql-server-dev) and consequently the file pg_type.h is moved to a new location: /usr/include/postgresql/<version>/server/catalog/pg_type.h While at it, use separate PATH_SUFFIXES variables for library, type and include (this is merely an optimization).
| * | FindPostgreSQL: Add help text for PostgreSQL_LIBRARY cache entryTamar Kranenburg2015-06-011-0/+2
| | | | | | | | | | | | | | | The PostgreSQL_LIBRARY_DIR_MESSAGE variable was set with the needed text but never referenced.
| * | FindPostgreSQL: Document PostgreSQL_LIBRARY_DIRS result variableTamar Kranenburg2015-06-011-0/+1
| | |
| * | FindPostgreSQL: Search for versions 9.2, 9.3, and 9.4Tamar Kranenburg2015-06-011-2/+2
| | |
| * | FindPostgreSQL: Remove extra whitespace after command open parensTamar Kranenburg2015-06-011-3/+3
| | |
| * | FindPostgreSQL: Remove unused linesTamar Kranenburg2015-06-011-5/+0
| | |
* | | Merge topic 'FindBoost-per-config-libraries'Brad King2015-06-021-0/+2
|\ \ \ | |/ / |/| | | | | | | | b3df1e9f FindBoost: Fix Boost_LIBRARY_DIR_{RELEASE,DEBUG} cache entry configuration
| * | FindBoost: Fix Boost_LIBRARY_DIR_{RELEASE,DEBUG} cache entry configurationBrad King2015-06-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These cache entries introduced by commit 892b854f (FindBoost: Search for debug and release libraries separately, 2015-01-26) should be marked as advanced just as Boost_LIBRARY_DIR was. Also their _LAST values should be tracked so changes can be detected reliably. Both of these are handled by code looking in _Boost_VARS_LIB for a list of relevant variables. Fix construction of this list that was broken by the above commit. Reported-by: Sylvain Joubert <joubert.sy@gmail.com>
* | | Merge topic 'FindPkgConfig_fix_extra_path'Brad King2015-06-011-1/+1
|\ \ \ | | | | | | | | | | | | | | | | d4c6531a FindPkgConfig: Fix extra paths for CMAKE_{FRAMEWORK,APPBUNDLE}_PATH vars
| * | | FindPkgConfig: Fix extra paths for CMAKE_{FRAMEWORK,APPBUNDLE}_PATH varsDaniele E. Domenichelli2015-05-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CMAKE_FRAMEWORK_PATH and CMAKE_APPBUNDLE_PATH cache variables are supposed to be used to generate the extra paths passed to pkg-config, but instead the CMAKE_PREFIX_PATH variable is used. This bug was introduced by the refactor in commit v3.1.0-rc1~747^2~1.
* | | | FindMatlab: fix reconfiguration of Matlab_ROOT_DIRRaffi Enficiaud2015-06-011-2/+3
| | | |
* | | | FindMatlab: fix header visibility of the generated mex filesRaffi Enficiaud2015-06-011-1/+1
| | | |
* | | | FindMatlab: Drop incorrect usage option from test helper scriptRaffi Enficiaud2015-06-011-1/+0
|/ / / | | | | | | | | | There is no 'working_directory' option.
* | | Intel: Disable Fortran optimizations for Debug config on Windows (#15583)Brad King2015-05-261-1/+1
| | | | | | | | | | | | | | | | | | | | | The "/Od" flag is used for C and C++ languages in this configuration so we should use it for Fortran too. Suggested-by: Oleg V. Zhylin <ovz@yahoo.com>
* | | ExternalData: Add option to disable use of symlinksBrad King2015-05-222-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add an ExternalData_NO_SYMLINKS to enable use of copies instead of symlinks to populate the real data files behind a DATA{} reference. This will be useful on UNIX-like systems when the underlying filesystem does not actually support symbolic links. Suggested-by: Matt McCormick <matt.mccormick@kitware.com>
* | | Merge topic 'ExternalProject_FixLog'Brad King2015-05-211-2/+4
|\ \ \ | | | | | | | | | | | | | | | | a0d620de ExternalProject: Fix log when the first arg of commands is "COMMAND" (#15567)
| * | | ExternalProject: Fix log when the first arg of commands is "COMMAND" (#15567)Daniele E. Domenichelli2015-05-201-2/+4
| | | |
* | | | Merge topic 'cleanup-module-policies'Brad King2015-05-212-3/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | b3795df2 FortranCInterface: Do not use cmake_policy(VERSION) a4596f20 CheckTypeSize: Do not use cmake_policy(VERSION)
| * | | | FortranCInterface: Do not use cmake_policy(VERSION)Brad King2015-05-191-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not force a specific policy version in the module because it prevents projects from setting newer policies to NEW. In particular, projects may want to set CMP0056 to NEW to affect any try_compile calls in this module. Use of this was added in commit v2.8.2~714 (FortranCInterface: Use CMake 2.8.0 behavior, 2009-11-17) in order to set CMP0007 to NEW. Simply set this policy explicitly instead.
| * | | | CheckTypeSize: Do not use cmake_policy(VERSION)Brad King2015-05-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not force a specific policy version in the module because it prevents projects from setting newer policies to NEW. In particular, projects may want to set CMP0056 to NEW to affect any try_compile calls in this module. Use of this was added in commit v2.8.2~539 (New CheckTypeSize for OS X Universal Binaries, 2009-12-17) and updated in commit v3.1.0-rc1~511^2~1 (Do not change minimum required version in modules, 2014-05-07). The history does not clearly explain why a specific policy version was introduced. If specific policies need to be NEW then we can add explicit settings for them.
* | | | | Merge topic 'CheckTypeSyze-CMP0054'Brad King2015-05-211-4/+5
|\ \ \ \ \ | |/ / / / | | / / / | |/ / / |/| | | 6784f0a6 CheckTypeSize: Avoid if() auto-dereferene in quoted arguments (#15571)
| * | | CheckTypeSize: Avoid if() auto-dereferene in quoted arguments (#15571)Rolf Eike Beer2015-05-191-4/+5
| | | | | | | | | | | | | | | | | | | | Exposed by a CMP0054 warning. Set CMP0054 to NEW since no code in this module depends on the old behavior.
* | | | Merge topic 'cpack-ifw-updates'Brad King2015-05-181-9/+106
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | 342d15cb Update packaging of CMake for QtIFW 2.0 9a0ba4d2 CPackIFW: Add QtIFW 2.0 support
| * | | | CPackIFW: Add QtIFW 2.0 supportKonstantin Podsvirov2015-05-151-9/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add variables: - CPACK_IFW_FRAMEWORK_VERSION - CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS - CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH - CPACK_IFW_PACKAGE_CONTROL_SCRIPT - CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE - CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME - CPACK_IFW_PACKAGE_START_MENU_DIRECTORY - CPACK_IFW_VERBOSE