2785 Commits

Author SHA1 Message Date
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
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 e93a4b4d3421ced7b8c852b76c0dcb427f798df8 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