Commit Graph

2786 Commits

Author SHA1 Message Date
David Cole fa4a3b04d0 Add CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS variable
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()
2011-01-13 16:52:51 -05:00
David Cole fc144924a0 VS10: Fix problems with InstallRequiredSystemLibraries.
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...?)
2011-01-13 13:08:59 -05:00
Brad King 28a0403c34 Merge topic 'resolve/python-versions/policy-CMP0017'
784d5ce Merge branch 'policy-CMP0017' into resolve/python-versions/policy-CMP0017
2d3594b Python additional version support, bug #10279.
2011-01-11 15:59:34 -05:00
Brad King 784d5ce0f8 Merge branch 'policy-CMP0017' into resolve/python-versions/policy-CMP0017
Conflicts:
	Modules/FindPythonInterp.cmake
2011-01-11 15:56:59 -05:00
Brad King 46ed6c65a8 Merge topic 'improve-findgit'
ed2b314 Add PATH_SUFFIXES for finding git.
2011-01-11 15:53:43 -05:00
Brad King ad543dcf09 Merge topic 'archive-rule-variables'
c2d73c9 Allow platform files to set large archive rules (#11674)
2011-01-11 15:53:06 -05:00
Brad King 9a81f0dd0c Merge topic 'ep-fix-substitutions'
d67a513 ExternalProject: Replace location tags in CMAKE_CACHE_ARGS
d7a87b5 Merge branch 'ep-log-output-under-vs' into ep-fix-substitutions
2011-01-11 15:52:36 -05:00
Brad King c39abc2411 Merge topic 'ep-log-output-under-vs'
44aff73 ExternalProject: Avoid bleed-through output when logging.
2011-01-11 15:52:30 -05:00
Brad King 764015c284 Merge topic 'policy-CMP0017'
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
2011-01-11 15:52:13 -05:00
Brad King f04bbdf1d4 Merge topic 'fix-install-reqd-sys-libs'
753b429 InstallRequiredSystemLibraries debug-only (#11141)
492cd84 Add variable for InstallRequiredSystemLibraries dir (#11140)
dd5c592 Fix incorrect variable documentation (#11127)
2011-01-11 15:51:35 -05:00
Brad King b8e5d7b49c Merge topic 'qt4-find-plugins'
e6bb8c7 Add support for using static/dynamic Qt plugins.
2011-01-11 15:48:44 -05:00
Brad King b524f864ca Merge topic 'fix-9148-cpack-nsis-installer-root'
5a9e8e7 CPack: Add CPACK_NSIS_INSTALL_ROOT variable (#9148)
2011-01-11 15:48:34 -05:00
David Cole 5a9e8e701e CPack: Add CPACK_NSIS_INSTALL_ROOT variable (#9148)
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.
2011-01-11 15:42:42 -05:00
Marcus D. Hanwell 2d3594b1bb Python additional version support, bug #10279.
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).
2011-01-10 13:44:45 -05:00
Brad King c2d73c938a Allow platform files to set large archive rules (#11674)
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>
2011-01-10 09:58:55 -05:00
David Cole d67a513447 ExternalProject: Replace location tags in CMAKE_CACHE_ARGS
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.
2011-01-07 08:04:16 -05:00
David Cole d7a87b52a0 Merge branch 'ep-log-output-under-vs' into ep-fix-substitutions 2011-01-07 07:59:21 -05:00
David Cole 44aff73d4a ExternalProject: Avoid bleed-through output when logging.
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.
2011-01-06 18:29:44 -05:00
Mike McQuaid bee514c361 Add CPack NSIS MUI_FINISHPAGE_RUN support (#11144)
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.
2011-01-06 16:21:36 -05:00
Mike McQuaid 702c8f8ba7 Add CPACK_NSIS_EXECUTABLES_DIRECTORY (#7828)
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.
2011-01-06 16:21:23 -05:00
Mike McQuaid 753b429ec4 InstallRequiredSystemLibraries debug-only (#11141)
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.
2011-01-06 12:22:03 -05:00
Mike McQuaid 492cd84fc5 Add variable for InstallRequiredSystemLibraries dir (#11140)
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.
2011-01-06 12:21:35 -05:00
Mike McQuaid dd5c592ce8 Fix incorrect variable documentation (#11127)
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.
2011-01-06 12:21:11 -05:00
David Cole ed2b314e4f Add PATH_SUFFIXES for finding git.
This commit makes it automatic to find msysGit installed
in its default locations on Windows.
2011-01-06 10:09:48 -05:00
Brad King 79f5a7c098 Merge topic 'compiler-id-literal-const'
dbc79bd Fix constness in compiler id detection
2011-01-04 15:44:56 -05:00
Brad King 61063f12eb Merge topic 'recognize-TI-DSP'
f1392dc Recognize the Texas Instruments DSP compiler (#11645)
2011-01-04 15:44:50 -05:00
Brad King 138a79628b Merge topic 'FindBoostTypos'
5103fe5 Lowercase all function names and improve consistency
97c8f77 Fix spelling BOOST_LIBRARYDIR message. Add error for common misspellings.
2011-01-04 15:44:39 -05:00
Brad King 3556ab9f72 Merge topic 'add_support_for_windres'
971692c Build enable_language command during bootstrap
960ace1 Add testing for windows resources for mingw/msys/cygwin and remove for watcom.
060d6e8 Add support for windres to cygwin.
b2f308c Add support for windows resources with mingw/msys.
2011-01-04 15:44:07 -05:00
Alex Neundorf ce28737c93 Remove usage of CMAKE_CURRENT_LIST_DIR now that we have CMP0017
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
2011-01-04 08:20:08 -05:00
Bill Hoffman 90b0f2c624 Enable resource building with the intel compiler on windows. 2011-01-03 14:02:22 -05:00
Clinton Stimpson e6bb8c7a6e Add support for using static/dynamic Qt plugins. 2011-01-01 11:45:05 -07:00
Brad King dbc79bd8c8 Fix constness in compiler id detection
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.
2010-12-29 15:35:15 -05:00
Brad King 93460cc1d5 Merge topic 'bug-11518-dbus-macro'
d640d54 allow absolute paths for dbus interface.
2010-12-28 15:26:37 -05:00
Brad King 96d0203bc0 Merge topic 'FindBLAS_FindLAPACK'
51253da FindLAPACK works with C/C++ only projects (issue 0009976)
e64b5da fix for Fortran-only projects
1279bd7 find ACML fixes
2010-12-28 15:26:26 -05:00
Brad King 9ffe22b2eb Merge topic 'mac-headerpad_max_install_names-passthru'
e498527 Pass Mac linker flag through all compilers with -Wl,
2010-12-28 15:26:00 -05:00
Brad King 8b73f54bc6 Merge topic 'dev/use-fphsa-in-find-opengl'
937e369 Use FPHSA in FindOpenGL
2010-12-28 15:25:19 -05:00
Wojciech Migda f1392dc90b Recognize the Texas Instruments DSP compiler (#11645)
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.
2010-12-28 12:22:38 -05:00
Philip Lowman 5103fe58ee Lowercase all function names and improve consistency 2010-12-27 23:04:30 -05:00
Philip Lowman 97c8f77484 Fix spelling BOOST_LIBRARYDIR message. Add error for common misspellings. 2010-12-27 22:51:43 -05:00
Alexey Ozeritsky 51253da8bb FindLAPACK works with C/C++ only projects (issue 0009976) 2010-12-27 11:42:41 +03:00
Alexey Ozeritsky e64b5daece fix for Fortran-only projects 2010-12-27 11:37:46 +03:00
Alexey Ozeritsky 1279bd7bac find ACML fixes 2010-12-27 11:14:13 +03:00
Bill Hoffman 060d6e885e Add support for windres to cygwin. 2010-12-23 17:04:50 -05:00
Bill Hoffman b2f308c8f9 Add support for windows resources with mingw/msys. 2010-12-23 17:04:49 -05:00
Clinton Stimpson d640d549d5 allow absolute paths for dbus interface. 2010-12-23 09:21:56 -07:00
Brad King e498527f1d Pass Mac linker flag through all compilers with -Wl,
The Mac linker defines flag -headerpad_max_install_names but not all
front-ends recognize the flag and pass it through (many did in the past,
such as the Apple port of GCC).  Use the -Wl, option prefix to tell
front-ends to pass it through without trying to interpret it.
2010-12-22 16:28:54 -05:00
Brad King 9f46051490 Merge topic 'cygwin'
85c0a69 Cygwin: Do not define 'WIN32' (#10122)
62c6d2d Merge branch 'cmake_--system-information_min-version' into cygwin
72db20f Merge branch 'tests-if-CYGWIN' into cygwin
5adef16 Merge branch 'cygwin-module-prefix' into cygwin
cbc3258 Merge branch 'try-compile-min-version' into cygwin
2010-12-21 14:06:32 -05:00
Brad King b44632ef6f Merge topic 'cmake_--system-information_min-version'
a6cb1d4 Declare min CMake version in --system-information project
2010-12-21 14:04:41 -05:00
Brad King d89514f190 Merge topic 'CheckCCompilerFlag-strict-prototypes'
b3efdb5 CheckCCompilerFlag: Strict signature of 'main' (#11615)
2010-12-21 13:58:57 -05:00
Brad King 98d9611ffa Merge topic 'gnu-compiler-windows-info'
e8d380f Remove unused old-style g++ info file
2010-12-21 13:58:46 -05:00