Commit Graph

2893 Commits

Author SHA1 Message Date
Brad King cabb6cd00e Document Check(C|CXX)SourceCompiles behavior more clearly (#11688)
Explicitly state up front that the macros try to link an executable and
that the source provided must define 'main'.
2011-01-14 07:36:59 -05:00
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 840f9c055c Document CheckSymbolExists more clearly (#11685)
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.
2011-01-12 08:58:19 -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
Brad King 6f2482aa97 Merge topic 'intel-compiler-windows-info'
cd43636 Modernize Intel compiler info on Windows
58c73c4 Detect Fortran target architecture on Windows
2010-12-21 13:58:39 -05:00
Brad King 92631c14d9 Merge topic 'intel-config-definitions'
3fb088e Make Intel defines consistent with MSVC on Windows (#9904)
2010-12-21 13:58:29 -05:00
Brad King 451567cda3 Merge topic 'FindBLAS_FindLAPACK'
cabafa3 ACML find fixes (issue 0011219)
4f00763 FindBLAS works in C/C++ projects without Fortran
2010-12-21 13:58:14 -05:00
Brad King 85c0a69a92 Cygwin: Do not define 'WIN32' (#10122)
One of Cygwin's goals is to build projects using the POSIX API with no
Windows awareness.  Many CMake-built projects have been written to test
for UNIX and WIN32 but not CYGWIN.  The preferred behavior under Cygwin
in such projects is to take the UNIX path but not the WIN32 path.

Unfortunately this change is BACKWARDS INCOMPATIBLE for Cygwin-aware
CMake projects!  Some projects that previously built under Cygwin and
are Cygwin-aware when they test for WIN32 may now behave differently.
Eventually these projects will need to be updated, but to help users
build them in the meantime we print a warning about the change in
behavior.  Furthermore, one may set CMAKE_LEGACY_CYGWIN_WIN32 to request
old behavior during the transition.

Normally we avoid backwards incompatible changes, but we make an
exception in this case for a few reasons:

(1) This behavior is preferred by Cygwin's design goals.

(2) A warning provides a clear path forward for everyone who may see
incompatible behavior, and CMAKE_LEGACY_CYGWIN_WIN32 provides a
compatibility option.  The warning and compatibility option both
disappear when the minimum required version of CMake in a project is
sufficiently new, so this issue will simply go away over time as
projects are updated to account for the change.

(3) The fixes required to update projects are fairly insignificant.
Furthermore, the Cygwin distribution has no releases itself so project
versions that predate said fixes tend to be difficult to build anyway.

(4) This change enables many CMake-built projects that did not
previously build under Cygwin to work out-of-the-box.  From bug #10122:

  "I have built over 120 different source packages with (my patched)
   CMake, including most of KDE4, and have found that NOT defining
   WIN32 on Cygwin is much more accurate." -- Yaakov Selkowitz

A fully compatible change would require patches on top of these project
releases for Cygwin even though they otherwise need not be aware of it.

(5) Yaakov has been maintaining a fork of CMake with this change for the
Cygwin Ports distribution.  It works well in practice.  By accepting the
change in upstream CMake we avoid confusion between the versions.

CMake itself builds without WIN32 defined on Cygwin.  Simply disable
CMAKE_LEGACY_CYGWIN_WIN32 explicitly in our own CMakeLists.txt file.
2010-12-17 14:19:58 -05:00
Brad King ad25a968b9 Merge branch 'ImprovedDotSupport2' into dev/strict-mode
Conflicts:
	Source/cmake.cxx
2010-12-17 10:32:01 -05:00
Brad King c128abe383 Merge branch 'AddCMAKE_CURRENT_LIST_DIR' into dev/strict-mode
Conflicts:
	Source/cmMakefile.cxx
2010-12-17 10:31:41 -05:00
Brad King 9bcaff02ff Merge branch 'cmake-guiRememberAdvancedCheckbox' into dev/strict-mode
Conflicts:
	Source/QtDialog/CMakeSetupDialog.cxx
2010-12-17 10:31:19 -05:00
Brad King 62c6d2d7e7 Merge branch 'cmake_--system-information_min-version' into cygwin 2010-12-17 10:18:56 -05:00
Brad King a6cb1d4653 Declare min CMake version in --system-information project
The --system-information flag's project triggered a CMP0000 warning
because the CMakeLists.txt it generates needs cmake_minimum_required.
2010-12-17 09:39:30 -05:00
Brad King 3a6c480908 Merge topic 'cygwin-module-prefix'
1dcc977 Cygwin: Use 'cyg' prefix for module DLLs (#10122)
2010-12-16 14:00:06 -05:00
Brad King 72163de0a5 Merge topic 'NAG-Fortran'
09d1c10 FortranCInterface: Recognize NAG Fortran module symbols
af2ad90 Add NAG Fortran compiler information files
24cc3d4 Recognize the NAG Fortran compiler
83892c4 Allow Fortran platform files to set empty values
fe3f878 Detect object files in implicit link information
2010-12-16 13:59:52 -05:00
Brad King b3efdb58d5 CheckCCompilerFlag: Strict signature of 'main' (#11615)
Use "int main(void)" instead of just "int main()" so that compiling with
"gcc -Werror=strict-prototypes" works.  Test this check using the flags
"-Werror -Wstrict-prototypes" to work with old GCC versions.
2010-12-16 13:34:54 -05:00
Brad King e8d380f90d Remove unused old-style g++ info file
Since commit aff31479 (Modernize GNU compiler info on Windows,
2009-12-02) the file Modules/Platform/Windows-g++.cmake has been unused.
It just includes the non-existent Modules/Platform/Windows-gcc.cmake so
remove it outright.
2010-12-16 10:09:29 -05:00
Brad King cd43636c95 Modernize Intel compiler info on Windows
This moves Intel compiler info on Windows into new-style modules

  Platform/Windows-Intel-<lang>.cmake

using language-independent helper module

  Platform/Windows-Intel.cmake

to define macros consolidating the information.
2010-12-16 09:50:05 -05:00
Brad King 58c73c43f6 Detect Fortran target architecture on Windows
Commit 4430bccc (Change the way 32/64 bit compiles are detected with
MSVC and intel, 2009-11-19) added detection of the target processor to C
and CXX language builds with MS and Intel tools.  Do the same for Intel
Fortran for Windows (ifort).  Use /machine:<arch> to link executables.
2010-12-16 09:33:06 -05:00
Alexey Ozeritsky cabafa37fb ACML find fixes (issue 0011219) 2010-12-16 14:40:58 +03:00
Alexey Ozeritsky 4f00763814 FindBLAS works in C/C++ projects without Fortran 2010-12-16 13:34:13 +03:00
Brad King 3fb088e521 Make Intel defines consistent with MSVC on Windows (#9904)
Add /DWIN32 and /D_WINDOWS to default config-independent flags.
Add /D[_N]DEBUG to default flags for each configuration.
2010-12-15 17:56:24 -05:00
Eric NOULARD 07bd856bd0 CPackSTGZ quote here-doc, fix bug10518 2010-12-15 21:20:13 +01:00
Brad King 9e7e106dcb Merge topic 'external-project-args-file'
3bc828d Fixed bug where last entry would be lost.
b316087 Escape file write expansion, and build up lists.
68cd3fe Added CMAKE_CACHE_ARGS to ExternalProject.
2010-12-14 14:39:06 -05:00
Brad King 2c7d36ce6f Merge topic 'CPackRPM-Fix0011595'
8d366cd CPackRPM fix bug 0011595 : Can't generate RPMs (on FC11...)
2010-12-14 14:39:00 -05:00
Brad King 03c4623fb4 Merge topic 'ParallelEclipseMakefiles2'
27ee50a Add ECLIPSE_CDT4_GENERATE_SOURCE_PROJECT as a ADVANCED cache variable (#9631)
50d21d4 Add cache var CMAKE_ECLIPSE_MAKE_ARGUMENTS when using the Eclipse generator
2010-12-14 14:38:55 -05:00
Brad King 8e7f0488b4 Merge topic '11445-workaround'
a80d6e9 Add Boost 1.46
88babef [patch] Add Boost 1.45 to search, simplify a check removing VERSION_LESS
2010-12-14 14:38:42 -05:00
Brad King 5bea0917ef Merge topic 'fix_incremental_vs2010'
cddcad5 Fix incremental linking for VS2010 with nmake or make.
2010-12-14 14:38:27 -05:00
Brad King b3f2d19ba7 Merge topic 'FindTCL-version-ref'
d95913e FindTCL: Fix TCL and TK version variable references (#11528)
2010-12-14 14:38:23 -05:00
Brad King d4b4db68e1 Merge topic 'FixDocTypoInFindFLEX'
3ce0049 Fix typos in the doc
2010-12-14 14:37:42 -05:00
Alex Neundorf 27ee50a7d8 Add ECLIPSE_CDT4_GENERATE_SOURCE_PROJECT as a ADVANCED cache variable (#9631)
This variable has been supported since 2.6 I think, having it in the cache
makes it easier to use (see bug report #9631)

Alex
2010-12-13 21:53:11 +01:00
Yaakov Selkowitz 1dcc9777a7 Cygwin: Use 'cyg' prefix for module DLLs (#10122)
Cygwin now uses the prefix 'cyg' for plugin DLLs instead of 'lib'.
2010-12-13 14:21:07 -05:00
Eric NOULARD 8d366cd1eb CPackRPM fix bug 0011595 : Can't generate RPMs (on FC11...) 2010-12-13 20:11:06 +01:00
Marcus D. Hanwell 3bc828df9a Fixed bug where last entry would be lost.
The code to build up a list was missing the final entry in an initial
cache.
2010-12-13 12:50:38 -05:00
Philip Lowman a80d6e9828 Add Boost 1.46 2010-12-13 01:21:46 -05:00
Philip Lowman 88babefbcc [patch] Add Boost 1.45 to search, simplify a check removing VERSION_LESS
Also some whitespace issues are cleaned up.
Patch from Adam Richardson attached to #11445
2010-12-13 00:56:42 -05:00
Alex Neundorf 50d21d4251 Add cache var CMAKE_ECLIPSE_MAKE_ARGUMENTS when using the Eclipse generator
This variable can be set to command line arguments which will be passed
to make when eclipse invokes make, e.g. you can enter "-j8" to get
8 parallel builds (#9930)

Alex
2010-12-12 16:52:20 +01:00
Marcus D. Hanwell b316087c09 Escape file write expansion, and build up lists.
Escaped the @var@ in the file writes - this was being expanded at file
write and so not causing a reconfigure at the right time. I also took
care of build up lists of lists in the variables, especially important
for things like MPI_EXTRA_LIBRARY. Added some error checking, and use
the tmp_dir for initial cache file.
2010-12-11 12:11:27 -05:00
Marcus D. Hanwell 68cd3fe038 Added CMAKE_CACHE_ARGS to ExternalProject.
On Windows the limit for command line arguments is 8192 characters, and
this was limiting longer paths with some of our more nested projects
such as Library. Placing the -D arguments into CMAKE_CACHE_ARGS will
write out an initial cache file, that will be passed to CMake with a -C
argument as the initial cache.

By forcing the cache variables we preserve the existing behavior with
-D, to change the values of cache variables in our inner projects.
2010-12-10 17:41:41 -05:00
Brad King 09d1c1080d FortranCInterface: Recognize NAG Fortran module symbols 2010-12-09 18:12:42 -05:00
Brad King af2ad90991 Add NAG Fortran compiler information files
On Linux the NAG Fortran compiler uses gcc under the hood to link.  Use
"-Wl,-v" to pass "-v" to the underlying gcc compiler to get verbose link
output.  Detect the NAG Fortran directory (using -dryrun) and then honor
object files in the directory referenced in the implicit link line.
Pass real linker options with "-Wl,-Xlinker,".  The -Wl, gets through
the NAG front-end and the -Xlinker gets through the gcc front-end.
2010-12-09 18:12:34 -05:00
Brad King 24cc3d4817 Recognize the NAG Fortran compiler
The Numerical Algorithms Group (NAG) Fortran compiler does not document
a preprocessor macro to identify it.  Check for identifying output using
the -V option.
2010-12-09 17:51:47 -05:00
Brad King 83892c4a11 Allow Fortran platform files to set empty values
Teach CMakeFortranInformation to use default flags only for variables
that have not been set at all, rather then not set or empty.  This will
allow platform or compiler-specific information files to set empty
values without getting the defaults.
2010-12-09 17:51:47 -05:00
Brad King fe3f878f15 Detect object files in implicit link information
The NAG Fortran compiler implicitly passes object files by full path to
the linker.  Teach CMakeParseImplicitLinkInfo to parse object files that
match some tool-specific regular expression.
2010-12-09 17:07:34 -05:00
Bill Hoffman cddcad5102 Fix incremental linking for VS2010 with nmake or make.
VS2010 deprecated /INCREMENTAL:YES.  This change makes
/INCREMENTAL the flag to use for incremental linking with
VS2010.
2010-12-09 13:32:48 -05:00
Kai Wasserbäch d95913e232 FindTCL: Fix TCL and TK version variable references (#11528)
FindTCL.cmake switched variables in the FIND_LIBRARY invocation.  The
FIND_LIBRARY() statement for TCL used the TK variables and vice versa.
This patch reverses that into the right usage.

Closes debian issue 600245.
2010-12-09 11:31:00 -05:00
Ben Boeckel 937e3693d7 Use FPHSA in FindOpenGL
This gets FindOpenGL to obey the QUIET and REQUIRED options correctly.
2010-12-08 17:41:37 -05:00
Alex Neundorf 3ce00499d4 Fix typos in the doc
Alex
2010-12-07 21:13:25 +01:00
David Cole c2895f48a4 BundleUtilities: error if fixup_bundle_item called on non-embedded item
Also, improve the documentation of the fixup_bundle and fixup_bundle_item
functions to clarify that plugin type "libs" need to be copied into
the bundle *before* calling fixup_bundle.

Commit e93a4b4d34 changed the way that
the libs parameter to fixup_bundle is interpreted. Before the commit,
the libs were copied into the bundle first and then fixed up. After
the commit, the copy was skipped, assuming the libs were in the bundle
in the first place, and then the fixups occurred as before.

However, before the commit, it was possible to name a lib from outside
the bundle, and have it copied in and then fixed up. Its resolved
embedded name was always inside the bundle before. After, its resolved
embedded name was just the same as its resolved name, which is in its
original location, and not necessarily inside the bundle.

This manifested itself as a problem with the ParaView call to
fixup_bundle and its many plugins. Previously, ParaView had simply
passed in the list of plugin file names as they existed in the build
tree, and left the copying into the bundle up to the fixup_bundle
function. When built with CMake 2.8.3 (the first version to contain
the above named commit) the fixup_bundle call would inadventently
fixup libraries in the build tree, not libraries that were in the
bundle. Furthermore, the plugins would not be in the final bundle.

This points out the fact that the fix for the bugs made by the above
commit was a backwards-incompatible change in behavior.

This commit makes it an error to try to fixup an item that is not
already inside the bundle to make the change in behavior apparent
to folks who were depending on the prior copy-in behavior: now,
they should get an error, and hopefully, reading the new and
improved documentation, should be able to resolve it in their
projects by adding code to install or copy in such libraries prior
to calling fixup_bundle.

Whew.
2010-12-06 16:35:59 -05:00
Brad King c300ef1c66 Merge topic 'qt4-deps-tiff-jpeg-mng'
bd66cc9 Fix build issues cross compiling with static Qt.
2010-12-02 14:25:26 -05:00
Brad King 1060aaf086 Merge topic 'bundleutils-rpath-removal'
28c1be7 BundleUtilities: only do rpath strip on copied prerequisites.
2010-12-02 14:25:16 -05:00
Clinton Stimpson bd66cc9d39 Fix build issues cross compiling with static Qt.
Also fix case where system jpeg, png, tiff libs are used.
2010-11-23 16:01:43 -07:00
Clinton Stimpson 28c1be7a50 BundleUtilities: only do rpath strip on copied prerequisites. 2010-11-23 14:29:46 -07:00
David Cole bc43385d23 Merge topic 'FindITK-use-find_package'
38b0a84 Modernize FindITK module (#11494)
2010-11-23 16:12:21 -05:00
David Cole 22c138646a Merge topic 'pgi-mac'
eda7841 Pass Mac linker flag through PGI compiler using "-Wl,"
2010-11-23 16:12:18 -05:00
David Cole f04bc9fe93 Merge topic '11384'
0263d8d 11384: FindCxxTest now includes test code in VS project
2010-11-23 16:11:50 -05:00
David Cole c985676a96 Merge topic '11430'
a44a05c 11430: FindBullet doesn't find header files installed by Bullet >= 2.77
2010-11-23 16:11:46 -05:00
David Cole fcea494787 Merge topic 'IncludeCMakeDetermineCompilerIdInDetermineASMCompiler'
e3dfbf6 Include CMakeDetermineCompilerId in CMakeDetermineASMCompiler.cmake (#11467)
2010-11-23 16:11:40 -05:00
David Cole 584612595d Merge topic 'spelling'
8f1798c Modules: Fix spelling 'becase' -> 'because'.
2010-11-23 16:11:37 -05:00
David Cole 525b528625 Merge topic 'CPackRPM-ComponentSupport'
66e86b4 CPack  fix kwstyle breakage and make CPackRPM backward compatible
2c84d16 CPackRPM  add basic component support to CPackRPM
2010-11-23 16:11:33 -05:00
David Cole fa882bb570 Merge topic 'AddASM_NASMSupport'
e0b6016 Some more fixes for nasm support, from Etienne (#10069)
d25c2eb Use CMAKE_ASM_NASM_FLAGS for nasm instead of FLAGS
e614e9b Add support for yasm, a nasm compatible assembler
79dd9be We already have 2010, fix copyright year.
ffeca06 Add missing copyright headers
7b337ac Improve misleading comments.
e1fc9b9 Add support for nasm assembler, patch by Peter Collingbourne (see #10069)
2010-11-23 16:11:22 -05:00
David Cole 88281035bd Merge topic 'moc-includes-regex'
35b91ac Fix regex for moc includes when looking for frameworks.
2010-11-23 16:11:15 -05:00
Brad King 38b0a84eea Modernize FindITK module (#11494)
Use the Config mode of find_package to search for ITKConfig.  This makes
FindITK a thin-wrapper around a standard find_package, bringing benefits
like searching lib64 paths when appropriate.  This does for FindITK what
commit 2c1a01dc (Modernize FindVTK module, 2009-10-07) did for FindVTK.
2010-11-22 13:52:58 -05:00
Brad King eda7841fd2 Pass Mac linker flag through PGI compiler using "-Wl,"
The Mac linker defines -headerpad_max_install_names and the GCC
front-end passes this flag through.  The PGI compiler does not know
about this flag, so we must use -Wl,-headerpad_max_install_names to pass
it to the linker instead.
2010-11-22 08:43:13 -05:00
Philip Lowman 0263d8dffe 11384: FindCxxTest now includes test code in VS project
The test code header files are now included in the test target so they
will show up under "Header Files" in Visual Studio targets, for example.
2010-11-18 23:31:14 -05:00
Philip Lowman a44a05cd9d 11430: FindBullet doesn't find header files installed by Bullet >= 2.77 2010-11-18 22:24:21 -05:00
Alex Neundorf e3dfbf62fc Include CMakeDetermineCompilerId in CMakeDetermineASMCompiler.cmake (#11467)
CMakeDetermineASMCompiler.cmake relied on that somebody else (usually
during enabling C or CXX) already included that file, and broke if that
was not the case.
Thanks to Louis for the patch

Alex
2010-11-17 23:01:36 +01:00
Andrius Štikonas 8f1798c14a Modules: Fix spelling 'becase' -> 'because'. 2010-11-17 11:12:48 -05:00
David Cole 164b11deb7 Merge topic 'EP-extra-generator'
74e49aa BUG 11451 - pass CMAKE_EXTRA_GENERATOR down.
2010-11-16 14:46:46 -05:00
David Cole c172ffef06 Merge topic 'cray-compiler'
53e76c8 Teach CMake about Cray C, C++, and Fortran compilers
34e1ac2 Create Fortran info variables for .mod behavior
2010-11-16 14:46:30 -05:00
David Cole caf680c4d7 Merge topic 'FixFindQt3REQUIRED'
a39ee97 Fix #11421: FindQt3.cmake doesn't honor the REQUIRED keyword
2010-11-16 14:46:04 -05:00
Eric NOULARD 2c84d169b3 CPackRPM add basic component support to CPackRPM
basic means 1 RPM per component and no dependency handling
this implies some CPackGenerator refactoring
2010-11-13 17:56:36 +01:00
Marcus D. Hanwell 74e49aa441 BUG 11451 - pass CMAKE_EXTRA_GENERATOR down.
This patch fixes the behavior of external projects with respect to
generators using the CMAKE_EXTRA_GENERATOR variable.
2010-11-12 19:43:05 -05:00
Alex Neundorf e0b60166d4 Some more fixes for nasm support, from Etienne (#10069)
Alex
2010-11-12 20:27:18 +01:00
Brad King 53e76c8f12 Teach CMake about Cray C, C++, and Fortran compilers
The Cray Fortran compiler needs "-em" to enable module output and also
"-J." to place the .mod files in the current working directory (instead
of next to the .o file).
2010-11-12 09:12:08 -05:00
Philip Lowman 1321eb9796 11429: FindGTK2 does not find libraries built for Visual Studio 2010
Adds support for detecting builds of FindGTK2 with Visual Studio 2010.
Thanks to Vincent Levesque for the patch.
2010-11-09 21:43:08 -05:00
Alex Neundorf a39ee97c6c Fix #11421: FindQt3.cmake doesn't honor the REQUIRED keyword
Alex
2010-11-09 21:51:59 +01:00
David Cole 0c1261658b Merge topic 'FindPerlLibs-mac'
20ceccc FindPerlLibs: Fix for Mac locally applied patches
2010-11-09 15:44:47 -05:00
David Cole b5f9be1d03 Merge topic 'CheckCompilerFlag-foreign-MSVC'
79e0233 BUG: Fix compiler flag test for non-English MSVC (#11336)
2010-11-09 15:37:33 -05:00
David Cole 9692d5a2b6 Merge topic '11363'
fffe1c0 11363: FindBoost.cmake fails to find debug libraries in tagged layout install
2010-11-09 15:29:11 -05:00
David Cole 384816e4de Merge topic 'FixBisonWithLocale'
506805c Make FindBISON work properly with non-C locales (#11326)
2010-11-09 15:28:33 -05:00
David Cole 5965ff5112 Merge topic 'qt4-resources-bug5952'
de04854 Force cmake to run again when qrc dependency scanning needs to happen.
2010-11-09 15:27:55 -05:00
David Cole b5a46cab85 Merge topic 'qt4-imports-dir'
cfba5ef Fix regression in 2dae2f1 which added find of Qt imports dir.
2010-11-09 15:27:23 -05:00
Dave Abrahams 20ceccc4f2 FindPerlLibs: Fix for Mac locally applied patches
Previously FindPerlLibs did not work with the Mac stock Perl because it
includes patches.  From "perl -V":

  Locally applied patches:
    /Library/Perl/Updates/<version> comes before system perl directories
    installprivlib and installarchlib points to the Updates directory

Adjust paths accordingly.
2010-11-08 11:09:41 -05:00
Brad King 79e02333a6 BUG: Fix compiler flag test for non-English MSVC (#11336)
Approach suggested by John Stark.
2010-11-04 08:50:17 -04:00
Philip Lowman fffe1c07d9 11363: FindBoost.cmake fails to find debug libraries in tagged layout install 2010-10-28 22:51:18 -04:00
David Cole e561a46c1a Merge topic 'getprerequisites-endless-path-appending'
48e80eb Fixes to GetPrerequisites for cygwin
bee4802 Append the gp_tool path to the system PATH using native slashes.
8e550ba Remove unecessary TO_CMAKE_PATH for gp_cmd_dir.
1684198 Switch to CMAKE_PATH when doing PATH comparisons on Windows.
be94c49 Fixed appending PATH to dumpbin tool from growing without bounds.
2010-10-28 14:11:07 -04:00
David Cole 3f3f3e5f54 Merge topic 'CPackDeb-MoreControl'
a749724 CPackDeb Added several optional debian binary package fields
2010-10-28 14:10:23 -04:00
David Cole ec93cd2ead Merge topic 'fix-11173'
6e1282f ExternalProject: No svn --username if empty (#11173)
2010-10-28 14:10:01 -04:00
David Cole 5b43d8f8b1 Merge topic 'external-project-extra-gen'
beeca11 Fixed parallel build for generators with EXTRA.
2010-10-28 14:09:43 -04:00
David Cole 424ba550e5 Merge topic 'PythonLibs-2.7'
1f369a7 ENH: Added case for Python 2.7.
2010-10-28 14:09:17 -04:00
David Partyka 48e80eb724 Fixes to GetPrerequisites for cygwin
Fix IF(WIN32) guards check for cygwin. Fix checking if the depenency is in a system location to use cygwin style paths on cygwin. Also change GetPrerequisites to switch gp_tool to tools that are very unlikely to be found, ie. dumpbin on Apple and otool on Windows/Unix.
2010-10-27 17:23:00 -04:00
David Partyka bee4802840 Append the gp_tool path to the system PATH using native slashes. 2010-10-26 11:12:12 -04:00
David Partyka 8e550ba31e Remove unecessary TO_CMAKE_PATH for gp_cmd_dir.
It is already using CMAKE style paths.
2010-10-26 10:28:42 -04:00
David Partyka 1684198706 Switch to CMAKE_PATH when doing PATH comparisons on Windows.
Users PATH may contain elements that end with backslash. This will escape the semicolon when iterating resulting in mismatches.

Fix indentation.

Fix whitespace
2010-10-26 10:28:38 -04:00
Eric NOULARD a749724029 CPackDeb Added several optional debian binary package fields
This fixes bugs #0011355  and 0008342.
The merged patch is a contribution from Michael Lasmanis and Petri Hodju
with some extra documentation added by the merger.
2010-10-25 20:40:45 +02:00
David Partyka be94c494ed Fixed appending PATH to dumpbin tool from growing without bounds.
IF(... MATCHES ...) used for comparing directories chokes especially in the case of C:\Program Files (x86)\<blah> because of regex pattern matching. Switched this to use STREQUAL in a loop instead.
2010-10-25 13:40:35 -04:00
David Cole 6e1282f840 ExternalProject: No svn --username if empty (#11173)
Nor --password. But please do if non-empty. Thank you.
2010-10-22 16:23:27 -04:00
Marcus D. Hanwell beeca11c9b Fixed parallel build for generators with EXTRA.
Fixed parallel build for projects using generators that have the
CMAKE_EXTRA_GENERATOR as well as CMAKE_GENERATOR. Thanks to Bill Hoffman
for helping me to track this one down, I missed parallel builds.
2010-10-22 11:16:21 -04:00
Alex Neundorf d25c2eb0c0 Use CMAKE_ASM_NASM_FLAGS for nasm instead of FLAGS
Alex
2010-10-21 20:57:14 +02:00
Alex Neundorf e614e9b3d7 Add support for yasm, a nasm compatible assembler
Alex
2010-10-21 20:51:46 +02:00
David Cole b0fb2ad3e1 Merge topic 'AddCMAKE_CURRENT_LIST_DIR'
b011840 Use absolute path to FindPackageHandleStandardArgs.cmake everywhere
41e4f1a Add automatic variable CMAKE_CURRENT_LIST_DIR(dir of CMAKE_CURRENT_LIST_FILE)
f9fc79c Remove trailing whitespace
2010-10-19 15:53:16 -04:00