summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* Modules: Include builtin FindPackageHandleStandardArgs directlyBrad King2011-01-2088-88/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The FindPackageHandleStandardArgs module was originally created outside of CMake. It was added for CMake 2.6.0 by commit e118a627 (add a macro FIND_PACKAGE_HANDLE_STANDARD_ARGS..., 2007-07-18). However, it also proliferated into a number of other projects that at the time required only CMake 2.4 and thus could not depend on CMake to provide the module. CMake's own find modules started using the module in commit b5f656e0 (use the new FIND_PACKAGE_HANDLE_STANDARD_ARGS in some of the FindXXX modules..., 2007-07-18). Then commit d358cf5c (add 2nd, more powerful mode to find_package_handle_standard_args, 2010-07-29) added a new feature to the interface of the module that was fully optional and backward compatible with all existing users of the module. Later commit 5f183caa (FindZLIB: use the FPHSA version mode, 2010-08-04) and others shortly thereafter started using the new interface in CMake's own find modules. This change was also backward compatible because it was only an implementation detail within each module. Unforutnately these changes introduced a problem for projects that still have an old copy of FindPackageHandleStandardArgs in CMAKE_MODULE_PATH. When any such project uses one of CMake's builtin find modules the line include(FindPackageHandleStandardArgs) loads the copy from the project which does not have the new interface! Then the including find module tries to use the new interface with the old module and fails. Whether this breakage can be considered a backward incompatible change in CMake is debatable. The situation is analagous to copying a standard library header from one version of a compiler into a project and then observing problems when the next version of the compiler reports errors in its other headers that depend on its new version of the original header. Nevertheless it is a change to CMake that causes problems for projects that worked with previous versions. This problem was discovered during the 2.8.3 release candidate cycle. It is an instance of a more general problem with projects that provide their own versions of CMake modules when other CMake modules depend on them. At the time we resolved this instance of the problem with commit b0118402 (Use absolute path to FindPackageHandleStandardArgs.cmake everywhere, 2010-09-28) for the 2.8.3 release. In order to address the more general problem we introduced policy CMP0017 in commit db44848f (Prefer files from CMAKE_ROOT when including from CMAKE_ROOT, 2010-11-17). That change was followed by commit ce28737c (Remove usage of CMAKE_CURRENT_LIST_DIR now that we have CMP0017, 2010-12-20) which reverted the original workaround in favor of using the policy. However, existing project releases do not set the policy behavior to NEW and therefore still exhibit the problem. We introduced in commit a364daf1 (Allow users to specify defaults for unset policies, 2011-01-03) an option for users to build existing projects by adding -DCMAKE_POLICY_DEFAULT_CMP0017=NEW to the command line. Unfortunately this solution still does not allow such projects to build out of the box, and there is no good way to suggest the use of the new option. The only remaining solution to keep existing projects that exhibit this problem building is to restore the change originally made in commit b0118402 (Use absolute path to FindPackageHandleStandardArgs.cmake everywhere, 2010-09-28). This also avoids policy CMP0017 warnings for this particular instance of the problem the policy addresses.
* Merge topic 'fix-find-png-zlib'Brad King2011-01-192-2/+2
|\ | | | | | | | | 30e19b7 Add new names for PNG and ZLIB libraries
| * Add new names for PNG and ZLIB librariesDavid Cole2011-01-142-2/+2
| | | | | | | | | | Thanks to Pau Garcia i Quiles for the patch on the CMake mailing list.
* | Merge topic 'fix-10031-add-freeglut'Brad King2011-01-191-1/+1
|\ \ | | | | | | | | | | | | efd1d9c Add freeglut as library name (#10031)
| * | Add freeglut as library name (#10031)David Cole2011-01-171-1/+1
| |/ | | | | | | Thanks to Thomas Sondergaard for the patch in the bug report.
* | Merge topic 'qt4-query-exec-process'Brad King2011-01-191-1/+4
|\ \ | | | | | | | | | | | | 858fe0e Replace exec_program with execute_process for qmake queries.
| * | Replace exec_program with execute_process for qmake queries.Clinton Stimpson2011-01-181-1/+4
| |/
* | Merge topic 'sco-compiler'Brad King2011-01-196-3/+35
|\ \ | | | | | | | | | | | | | | | e60c8ec Factor SCO compiler info out of platform file (#11700) db05da3 Recognize SCO UnixWare C/C++ compilers (#11700)
| * | Factor SCO compiler info out of platform file (#11700)Brad King2011-01-174-3/+29
| | | | | | | | | | | | | | | Move these flags out of the SCO_SV platform file so that other compilers may be used on that platform without interference.
| * | Recognize SCO UnixWare C/C++ compilers (#11700)Brad King2011-01-172-0/+6
| |/ | | | | | | | | | | | | | | | | | | | | | | These compilers define __SCO_VERSION__ as VvvYYYYMML: V = major version vv = minor version YYYY = release year MM = release month http://osr600doc.sco.com/en/manCP/cc.CP.html http://osr600doc.sco.com/en/manCP/CC.CP.html
* | Merge topic 'fix-install-req-sys-libs'Brad King2011-01-191-23/+35
|\ \ | | | | | | | | | | | | | | | | | | 96cd163 Add CPACK_NSIS_INSTALL_ROOT for CMake's own installer (#9148) fa4a3b0 Add CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS variable fc14492 VS10: Fix problems with InstallRequiredSystemLibraries.
| * | Add CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS variableDavid Cole2011-01-131-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The parent commit added a warning message whenever a required file does not exist. As it turns out, the "required" files never exist when built with Visual Studio Express editions. Add a variable to suppress these warning messages because only packagers or naive includers of this file will care to see such warning messages. We want to warn about this condition by default so that people who are using InstallRequiredSystemLibraries without understanding it fully will have a chance of understanding why it's not working in the event of missing required files. But we also want to give projects the ability to suppress this warning (by "project's choice default") so that they can encourage users who are restricted to using an Express edition to build their project. Packagers should explicitly use... -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS=OFF ...when building releases. That way, their release build process will warn them about any missing files, but only if their project CMakeLists files use a construct similar to CMake's: IF(NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS) SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON) ENDIF()
| * | VS10: Fix problems with InstallRequiredSystemLibraries.David Cole2011-01-131-23/+24
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks to "J Decker" on the CMake mailing list for pointing out that one of the MSVC10_CRT_DIR settings was using "VC90" instead of "VC100". After fixing that, I added the code to generate a CMake warning if one of the files we think is "required" does not exist. Then, with VS10, there were several other problems that the warning revealed: - MSVC10_REDIST_DIR needed more PATHS to be found correctly - the 64-bit directory is named "x64" now, not "amd64" as in previous VS versions - manifest files no longer exist as separate files in the redist subdirectories (they must be built-in as resources to the dlls...?)
* | Merge topic 'python-modules-header'Brad King2011-01-191-0/+1
|\ \ | | | | | | | | | | | | 23635ff Bug #11715 - generate header in the build tree.
| * | Bug #11715 - generate header in the build tree.Marcus D. Hanwell2011-01-171-0/+1
| | | | | | | | | | | | | | | | | | The module header was being placed in the source tree before. Thanks to Marcel Loose for the patch, this ensures the file is written to the build tree.
* | | Merge topic 'doc-CheckSymbolExists-enum'Brad King2011-01-191-6/+13
|\ \ \ | | | | | | | | | | | | | | | | | | | | 4995b26 Update CheckSymbolExists copyright year 840f9c0 Document CheckSymbolExists more clearly (#11685)
| * | | Update CheckSymbolExists copyright yearBrad King2011-01-171-1/+1
| | | | | | | | | | | | | | | | | | | | Reflect that commit 840f9c05 (Document CheckSymbolExists more clearly, 2011-01-12) changed the file in 2011.
| * | | Document CheckSymbolExists more clearly (#11685)Brad King2011-01-121-5/+12
| | |/ | |/| | | | | | | | | | | | | The check works for macros, functions, and variables, but not for types or enumeration values. Clearly describe the behavior of the check with respect to each symbol type.
* | | Merge topic 'doc-CheckFunctionExists-clarify-issue-10044'Brad King2011-01-191-6/+8
|\ \ \ | | | | | | | | | | | | | | | | 114c322 Document CheckFunctionExists more clearly (#10044)
| * | | Document CheckFunctionExists more clearly (#10044)Brad King2011-01-171-6/+8
| |/ / | | | | | | | | | | | | State that the function need only be available at link time. Refer to CheckSymbolExists for verifying that a declaration exists.
* | | Document Check(C|CXX)SourceCompiles behavior more clearly (#11688)Brad King2011-01-142-4/+4
|/ / | | | | | | | | Explicitly state up front that the macros try to link an executable and that the source provided must define 'main'.
* | Merge topic 'resolve/python-versions/policy-CMP0017'Brad King2011-01-112-33/+47
|\ \ | | | | | | | | | | | | | | | 784d5ce Merge branch 'policy-CMP0017' into resolve/python-versions/policy-CMP0017 2d3594b Python additional version support, bug #10279.
| * \ Merge branch 'policy-CMP0017' into resolve/python-versions/policy-CMP0017Brad King2011-01-1186-86/+86
| |\ \ | | |/ | |/| | | | | | | Conflicts: Modules/FindPythonInterp.cmake
| * | Python additional version support, bug #10279.Marcus D. Hanwell2011-01-102-33/+47
| | | | | | | | | | | | | | | | | | Introduced an additional variable, Python_ADDITIONAL_VERSIONS, to both FindPythonLibs and FindPythonInterp. Changed FindPythonInterp to loop over versions rather than hardcoding all versions (more like libs).
* | | Merge topic 'improve-findgit'Brad King2011-01-111-0/+1
|\ \ \ | | | | | | | | | | | | | | | | ed2b314 Add PATH_SUFFIXES for finding git.
| * | | Add PATH_SUFFIXES for finding git.David Cole2011-01-061-0/+1
| |/ / | | | | | | | | | | | | This commit makes it automatic to find msysGit installed in its default locations on Windows.
* | | Merge topic 'archive-rule-variables'Brad King2011-01-113-9/+27
|\ \ \ | | | | | | | | | | | | | | | | c2d73c9 Allow platform files to set large archive rules (#11674)
| * | | Allow platform files to set large archive rules (#11674)Brad King2011-01-103-9/+27
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit aaa88d33 (Build large archives incrementally, 2008-08-04) hard-coded rules to create static archives incrementally in each language information file. Set each rule conditionally to allow compiler and platform information files to override the language default rules. Inspired-by: Harald Pohl <pohl.h@eppendorf.de>
* | | Merge topic 'ep-fix-substitutions'Brad King2011-01-111-10/+22
|\ \ \ | | | | | | | | | | | | | | | | | | | | d67a513 ExternalProject: Replace location tags in CMAKE_CACHE_ARGS d7a87b5 Merge branch 'ep-log-output-under-vs' into ep-fix-substitutions
| * | | ExternalProject: Replace location tags in CMAKE_CACHE_ARGSDavid Cole2011-01-071-10/+22
| | | | | | | | | | | | | | | | | | | | | | | | When we added CMAKE_CACHE_ARGS, we did not try it with any <SOURCE_DIR> or <INSTALL_DIR> references. This commit fixes that accidental omission.
| * | | Merge branch 'ep-log-output-under-vs' into ep-fix-substitutionsDavid Cole2011-01-071-1/+2
| |\ \ \ | | |/ / | |/| |
* | | | Merge topic 'ep-log-output-under-vs'Brad King2011-01-111-1/+2
|\ \ \ \ | | |/ / | |/| | | | | | | | | | 44aff73 ExternalProject: Avoid bleed-through output when logging.
| * | | ExternalProject: Avoid bleed-through output when logging.David Cole2011-01-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unset VS_UNICODE_OUTPUT when executing a command whose output is being logged to a file. Previously, running Microsoft tools in sub-processes of Visual Studio would send their output to the Visual Studio output pipe named by this environment variable. Unsetting it forces the output back to the normal stdout and stderr channels where cmake can intercept it and direct it to the appropriate log files.
* | | | Merge topic 'policy-CMP0017'Brad King2011-01-1186-86/+86
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | ce28737 Remove usage of CMAKE_CURRENT_LIST_DIR now that we have CMP0017 7db8db5 Improve documentation and messages for the new CMP0017 db44848 Prefer files from CMAKE_ROOT when including from CMAKE_ROOT 1e69c6f Merge branch 'user-policy-defaults' into policy-CMP0017 65a0a2a Merge branch 'include-command-whitespace' into policy-CMP0017
| * | | Remove usage of CMAKE_CURRENT_LIST_DIR now that we have CMP0017Alex Neundorf2011-01-0486-86/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This puts the new search behaviour for included files in action, i.e. now when a file from Modules/ include()s another file, it also gets the one from Modules/ included, i.e. the one it expects. Alex
* | | | Merge topic 'fix-install-reqd-sys-libs'Brad King2011-01-111-56/+82
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 753b429 InstallRequiredSystemLibraries debug-only (#11141) 492cd84 Add variable for InstallRequiredSystemLibraries dir (#11140) dd5c592 Fix incorrect variable documentation (#11127)
| * | | | InstallRequiredSystemLibraries debug-only (#11141)Mike McQuaid2011-01-061-51/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to InstallRequiredSystemLibraries to only install debug libraries when both debug and release versions are available. This is as if you are building a debug package then only the debug versions are needed but not the release.
| * | | | Add variable for InstallRequiredSystemLibraries dir (#11140)Mike McQuaid2011-01-061-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | InstallRequiredSystemLibraries currently defaults to installing to bin on WIN32 and lib otherwise. This patch allows you to configure this by using the variable CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION. It also switches the logic to use a single INSTALL(PROGRAMS) command rather than two deprecated uses of the INSTALL_PROGRAMS command.
| * | | | Fix incorrect variable documentation (#11127)Mike McQuaid2011-01-061-4/+4
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | In InstallRequiredSystemLibraries the documentation details the variable CMAKE_SKIP_INSTALL_RULES to skip installation. This actually doesn't do anything, the variable required is named CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP. This commit amends the documentation to point to the correct variable.
* | | | Merge topic 'qt4-find-plugins'Brad King2011-01-111-9/+83
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | e6bb8c7 Add support for using static/dynamic Qt plugins.
| * | | | Add support for using static/dynamic Qt plugins.Clinton Stimpson2011-01-011-9/+83
| | | | |
* | | | | Merge topic 'fix-9148-cpack-nsis-installer-root'Brad King2011-01-112-3/+13
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 5a9e8e7 CPack: Add CPACK_NSIS_INSTALL_ROOT variable (#9148)
| * | | | | CPack: Add CPACK_NSIS_INSTALL_ROOT variable (#9148)David Cole2011-01-112-3/+13
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Control the root directory of the default directory presented to the end user of an NSIS installer by a CPack variable. Previously, the value used in the NSIS script was $PROGRAMFILES, which is equivalent to the "ProgramFiles" environment variable. That default value is still the same, but now a project may override the value by setting this new variable.
* | | | | Add CPack NSIS MUI_FINISHPAGE_RUN support (#11144)Mike McQuaid2011-01-062-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MUI_FINISHPAGE_RUN is frequently used with NSIS and provides a checkbox on the finish page of an installer which specifies whether the specified executable should be run when the installer exits. This commit adds support for this setting in CPack.
* | | | | Add CPACK_NSIS_EXECUTABLES_DIRECTORY (#7828)Mike McQuaid2011-01-061-0/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | NSIS installers default to assuming the executables exist in a directory named "bin" under the installation directory. As this isn't usual for Windows programs, the addition of this variable allows the customization of this directory and links still to be created correctly.
* | | | Merge topic 'compiler-id-literal-const'Brad King2011-01-043-4/+4
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | dbc79bd Fix constness in compiler id detection
| * | | | Fix constness in compiler id detectionBrad King2010-12-293-4/+4
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 70c2dc8a (Make compiler id detection more robust, 2008-03-10) we store compiler identification strings in test binaries using the form char* info = "info"; Use the const-correct char const* info = "info"; form instead. This allows the C++ compiler identification to work with "-Werror -Wall" or equivalent flags if the compiler would warn about const-to-non-const conversion.
* | | | Merge topic 'recognize-TI-DSP'Brad King2011-01-043-0/+9
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | f1392dc Recognize the Texas Instruments DSP compiler (#11645)
| * | | | Recognize the Texas Instruments DSP compiler (#11645)Wojciech Migda2010-12-283-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TI DSP compiler predefines "__TI_COMPILER_VERSION__". Use this to identify the C and C++ compilers. For assembler language the C compiler executable is used: $ cl6x -h TMS320C6x C/C++ Compiler v6.1.11 Tools Copyright (c) 1996-2009 Texas Instruments Incorporated Use this command-line option and output to recognize the assembler.
* | | | | Merge topic 'FindBoostTypos'Brad King2011-01-041-184/+189
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5103fe5 Lowercase all function names and improve consistency 97c8f77 Fix spelling BOOST_LIBRARYDIR message. Add error for common misspellings.