Commit Graph

3217 Commits

Author SHA1 Message Date
Brad King e51bbc14f6 Merge topic 'output-compile-lines'
cdc2b41 Fix CompileCommandOutput test build on Windows
7039d1f Fix CompileCommandOutput test for Make tools not supporting spaces
4268e3d run_compile_commands: Cast istream::get() result to char
c45c60b run_compile_commands: Avoid extra stl vector conversion
7c5be51 run_compile_commands: Avoid shadow in std::map<>::at workaround
169bb05 Provide std::map<>::at for use in run_compile_commands
4e2185c Make std::map usage more portable in language=>flags/defines maps
a7e7a04 Fix run_compile_commands build on Apple GCC 3.3
c9174c0 Fix signed/unsigned comparison in EscapeJSON
8346a28 Only offer the compile command output feature on unix systems
0e6b05f Adds a test for the compile command line output.
5674844 make compile command output optional
fe07b05 implement cxx command output
65c0c24 cache flags and defines
3f064ef refactor flags and defines
2011-05-24 14:48:14 -04:00
Brad King 14a6bda1a2 Merge topic 'CPackRPM-fixForAIX'
db45b10 CPack  make RPM work on AIX. fix #0012183 merge patch from Pasi Valminen
2011-05-24 14:34:46 -04:00
Brad King 1605784f47 Merge topic 'absoft-fortran-compiler'
8bd3e51 Absoft: Enable FortranCInterface check in Fortran test
d7b376b Absoft: Detect implicit link libraries on Linux and Mac
ac5b999 Add Absoft Fortran compiler id and basic flags
2011-05-24 14:34:40 -04:00
Eric NOULARD db45b10ff7 CPack make RPM work on AIX. fix #0012183 merge patch from Pasi Valminen 2011-05-21 12:34:37 +02:00
Brad King d7b376b3a7 Absoft: Detect implicit link libraries on Linux and Mac
Use the "-X -v" flag to the Absoft front-end to pass "-v" to the gcc it
invokes under the hood.  Teach CMakeParseImplicitLinkInfo to exclude
linker version lines from consideration as link lines.  Fix parsing of
Sun's linker search path option "-Y..." to avoid conflict with the Mac
linker option "-Y<num>".
2011-05-20 08:57:51 -04:00
Brad King ac5b999fff Add Absoft Fortran compiler id and basic flags
Identification at preprocessing time depends on definition of __ABSOFT__
to be added in service pack V11.1.2 of the compiler.
2011-05-20 08:53:36 -04:00
Will Dicharry 3978f3221f Add logic for CMake built HDF5 install.
The find module calls find_package( HDF5 QUIET NO_MODULE ). If that succeeds,
the find module variables are set based on the imported target locations.
2011-05-16 15:41:18 -06:00
Will Dicharry 063ac873ce HDF5 high level library is a find COMPONENT now.
The HDF5 high level library was originally hard coded as a dependency when the C
bindings are desired. The high level API is now requested as a COMPONENT.
2011-05-16 15:36:47 -06:00
Tim Gallagher 34ea179013 Modified the FindHDF5.cmake file to locate the Fortran bindings. 2011-05-16 15:35:57 -06:00
Manuel Klimek 8346a28a0a Only offer the compile command output feature on unix systems 2011-05-16 10:42:10 -04:00
Brad King 0bfabf967f OpenBSD: Use 'arch -s' for host processor (#12143)
On OpenBSD 'uname -p' returns a long descriptive name for the processor.
Use 'arch -s' instead to get a short cpu name.

Suggested-by: Stuart Henderson
2011-05-02 10:33:18 -04:00
Brad King aebf98b4f1 Merge topic 'multilingual-FindMPI'
a55da06 Added backward compatibility for input as well as output vars.
a32a633 FindMPI: Fix documentation formatting
706b73e FindMPI: Handle multiple languages
2011-04-26 14:25:10 -04:00
Manuel Klimek 5674844de4 make compile command output optional 2011-04-25 13:27:58 -04:00
Todd Gamblin a55da06948 Added backward compatibility for input as well as output vars.
Users can now supply MPI_COMPILER, MPI_INCLUDE_PATH, MPI_LIBRARY,
and others as with the old FindMPI.  These are mapped to their
respective equivalents for C and CXX.  Fortran is not touched, as
there was no Fortran support in the old FindMPI.
2011-04-24 18:55:23 +09:00
Brad King 2b44534950 Merge topic 'FindITK-passthru'
aa170c2 FindITK: Use passthru find_package config mode for messages
2011-04-19 14:08:20 -04:00
Brad King 4d2d9d44e6 Merge topic 'add-svn-trust-cert-to-ExternalProject'
12a3699 ExternalProject: Always use --non-interactive with svn
3a5a402 ExternalProject: Add SVN_TRUST_CERT argument
2011-04-19 14:08:18 -04:00
Brad King aa170c20f7 FindITK: Use passthru find_package config mode for messages
The custom error message that mentions PREFIX/lib/InsightToolkit is not
accurate for ITKv4.  Just use the more generic message that find_package
generates by default.  This module is now almost a no-op but exists to
tell find_package to look for the InsightToolkit name as well as ITK.
2011-04-18 14:11:54 -04:00
David Cole 12a3699372 ExternalProject: Always use --non-interactive with svn
The previous commit added --non-interactive as a "side effect"
of turning on SVN_TRUST_CERT. While reviewing that commit, we
decided all ExternalProject svn usage should be non-interactive.

That way, if there's any sort of problem, svn will return an
error right away rather than hang forever waiting for input...
2011-04-18 11:34:00 -04:00
Eric NOULARD d3fd945900 CPackRPM Fix #12096: handle absolute install path with component install 2011-04-17 17:12:38 +02:00
Brad King 051a2200da Merge topic 'fixbug_0011782'
0378396 UseSWIG.cmake did not support multiple modules and parallel builds
2011-04-12 14:44:16 -04:00
Brad King 65a05b8ff0 Merge topic 'fixbug_0011676'
5f76833 Add support for Java on HP
2011-04-12 14:44:13 -04:00
Brad King dff009626d Merge topic 'fixbug_0011215'
c088536 UseSWIG.cmake does not expand $(OutDir)
2011-04-12 14:44:09 -04:00
Brad King bc888800f5 Merge topic 'fixbug_0011183'
a59d198 Add support for java on fedora
2011-04-12 14:43:59 -04:00
Brad King 0a340142aa Merge topic 'fixbug_0010242'
4f35488 Add support for FindJava on HP-UX and alpha
2011-04-12 14:43:57 -04:00
Brad King 6ae7b5bb83 Merge topic 'fixbug_0004147'
1088b02 Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake
2011-04-12 14:43:51 -04:00
Brad King f464eb203e Merge topic 'fixbug0011843'
55b7c87 Add support for new swig 2.0 application
2011-04-12 14:43:48 -04:00
Brad King 445611e53e Merge topic 'refine-XL-rules'
d468a2c XL: Avoid copying archives into shared libraries that link them
2011-04-12 14:43:39 -04:00
Brad King c53119641f Merge topic 'refine-XL-compiler-information'
2f3eee7 XL: Consolidate compiler flag information
3a40c7f XL: Set C++ and Fortran flags consistently with C
2011-04-12 14:43:34 -04:00
David Cole 3a5a402a53 ExternalProject: Add SVN_TRUST_CERT argument
Which adds --non-interactive and --trust-server-cert to the svn
checkout and update command lines. This allows ExternalProject
clients to pull from an https:// based svn server even though
the server may not have a valid or trusted certificate.

Caveat emptor: I would NOT recommend using this except as a
short-term work-around. Rather, the server should have a valid,
trusted certificate, or the client should be using "http" instead
of "https".
2011-04-11 16:34:58 -04:00
Mathieu Malaterre 4f35488fe9 Add support for FindJava on HP-UX and alpha
This commit fixes BUG: 0010242. It now properly inspect specific directory
on hp-ux and alpha implementation of the JRE
2011-04-08 15:19:28 +02:00
Mathieu Malaterre 0378396e68 UseSWIG.cmake did not support multiple modules and parallel builds
This commit fixes BUG: 0011782. UseSWIG would be using the same variable
to declare module information. The problem would only be noticed in parallel builds
Fix this variable declaration by properly resetting it.
2011-04-08 15:17:33 +02:00
Mathieu Malaterre 55b7c87ef2 Add support for new swig 2.0 application
This commit fixes BUG: 0011843. It now properly discover if swig2.0
is in the PATH
2011-04-08 15:15:58 +02:00
Mathieu Malaterre c088536518 UseSWIG.cmake does not expand $(OutDir)
This commit fixes BUG: 0011215 by properly expanding $(OutDir)
Instead of creating the output directory using file(MAKE_DIRECTORY)
we use cmake -E to create the directory at execution time
2011-04-08 15:13:57 +02:00
Mathieu Malaterre a59d198aa3 Add support for java on fedora
This commit fixes BUG: 0011183 by adding new paths used on fedora,
specifically: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0
2011-04-08 15:12:23 +02:00
Mathieu Malaterre 5f7683317a Add support for Java on HP
This commit fixes Bug: 0011676 by adding support for version
numbering of JRE used on HP: 1.6.0.06-jinteg_20_jan_2010_05_50-b00
2011-04-08 15:10:48 +02:00
Mathieu Malaterre 1088b0278e Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake
This commit fixes BUG: 0004147 it directly uses swig executable
to compute a list of dependencies directly from the .i files
to make sure to rebuild the swig module any of its direct dep.
is touched
2011-04-08 15:07:40 +02:00
Brad King d468a2c2cb XL: Avoid copying archives into shared libraries that link them
The XL toolchain supports shared object files stored in archives.  Since
CMake lists libraries on link lines by full path it is common for a
shared library link line to contain the path to an archive file.

When linking a shared library the compiler front-end by default runs
CreateExportList to construct the list of symbols to be exported.
Unfortunately it passes all files found on the command line to the tool
so archive and library files get processed along with the object files.
The tool returns a list of all symbols in all objects, archives, and
libraries on the command line.  This causes the linker to copy every
object file out of every archive into the shared library whether they
are dependencies of the original object files or not.

Work around this problem by running CreateExportList ourselves with just
the original object files intended for inclusion in the shared library.
Then pass the list it produces on the link line to prevent the compiler
front-end from constructing its own.  This tells the linker to export
only the symbols provided by the original source files of the shared
library.
2011-04-08 08:41:36 -04:00
Brad King 2f3eee7490 XL: Consolidate compiler flag information
Factor duplicate information out of Compiler/XL-<lang>.cmake modules
into a macro in a new Compiler/XL.cmake module.  Invoke it from the
per-language files to produce the original settings.
2011-04-07 17:09:05 -04:00
Brad King 3a40c7faa4 XL: Set C++ and Fortran flags consistently with C
Since commit e1729238 (Add initial XL C compiler flags for safer builds,
2009-09-30) CMake sets the initial XL C flags to include "-qthreaded"
and "-qhalt=e".  Do the same for C++ and Fortran with this toolchain.
2011-04-07 17:07:23 -04:00
Rolf Eike Beer 0dafc0a8ed FindZLIB: print library instead of include directory
Before:

-- Found ZLIB: /usr/include (found version "1.2.3")

After:

-- Found ZLIB: /usr/lib/libz.so (found version "1.2.3")
2011-04-07 12:38:43 -04:00
Brad King ca10dc4786 Merge topic 'BuiltinIncludeDirFixesForEclipse'
6a38cab Don't skip the last builtin include dir for the Eclipse project file
4371147 Fix parsing include dirs and builtin macros for CXX-only projects
2011-04-05 14:28:49 -04:00
Brad King fc6addccfd Merge topic 'ModularizeCPack-dot-CMake'
4bb7940 Split CPack.cmake in more manageable parts
2011-04-05 14:28:43 -04:00
Brad King c3c19c7cb7 Merge topic 'module-armadillo'
2d56f0a Corrected copyright format in FindArmadillo.cmake
1942f58 Add new module Armadillo
2011-04-05 14:28:33 -04:00
Brad King 3b16aa622e Merge topic 'linux-lib64-handling'
126c993 Fix #11964 Handle lib64 library on Linux
2011-04-05 14:28:23 -04:00
Brad King e252320793 Merge topic 'module-readme'
ede46d9 Modules: Add comment and copyright notice validation to readme.txt
2011-04-05 14:28:17 -04:00
Brad King 485b50c357 Merge topic 'asn_openssl_fixes'
112f1dd FindOpenSSL: Use find_package_handle_standard_args for version check.
a091ba6 FindOpenSSL: Fixed crypto und ssl variable names.
a164649 FindOpenSSL: We should only use hints to find OpenSSL.
0fb5142 FindOpenSSL: Added support for pkg-config.
2011-04-05 14:28:14 -04:00
Brad King a2907bfb84 Merge topic 'fixbug_0010316'
b4c3ff7 This commit fixes bug #0010316
2011-04-05 14:28:09 -04:00
Eric NOULARD 4bb79402e8 Split CPack.cmake in more manageable parts
Put NSIS, Bundle and Component related MACROs in separate files.
This does not implies functional changes, concerning the way
CPack is used.
2011-04-04 20:18:27 +02:00
Oliver Buchtala b01a50567a Java: Create correct jar archive dependencies.
The command generating the jar file depends on java_class_filelist which
is generated by another command.

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2011-04-04 11:50:04 +02:00
Oliver Buchtala f99c3120c9 Java: Added some dependency magic to avoid recompilations.
Compile java sources within a custom_command using automatically checked
file dependencies and create java_class_filelist after java compile.

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2011-04-04 11:50:04 +02:00
Oliver Buchtala f3233ba521 Java: Create java_class_filelist only if it does't exist.
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2011-04-04 11:49:58 +02:00
Alex Neundorf 6a38cab2de Don't skip the last builtin include dir for the Eclipse project file
The regex was slightly wrong, it excluded the last line, so e.g.
/usr/include/ didn't end up in the .cproject file.

Thanks to Shash Chatterjee for the patch.

Alex
2011-04-03 18:07:27 +02:00
Alex Neundorf 4371147ef4 Fix parsing include dirs and builtin macros for CXX-only projects
Alex
2011-04-03 18:00:35 +02:00
Clement Creusot 2d56f0adb2 Corrected copyright format in FindArmadillo.cmake 2011-04-01 19:59:35 +01:00
Brad King ede46d9d91 Modules: Add comment and copyright notice validation to readme.txt
Document for module authors how to format the copyright notice and
test it.  Also provide a hint for previewing the module documentation
formatting.
2011-04-01 13:46:36 -04:00
Clement Creusot 1942f583b3 Add new module Armadillo 2011-04-01 16:56:32 +01:00
Eric NOULARD 126c993d03 Fix #11964 Handle lib64 library on Linux
The AMD64 ABI document http://www.x86-64.org/documentation/abi.pdf
does specify that 64bits binary libraries should end up in <prefix>/lib64
and 32bits ones in <prefix>/lib. All but debian based distros do so,
and some like OpenSUSE even enforce the rule when packaging with RPM
and refuse to build the RPM if this is not the case.
After some discussion (see the bug notes) we cannot do that behind
the scene and the current fix supposes that the user shall use
the CMAKE_INSTALL_LIBDIR variables content in its INSTALL rules if
he wants to put the lib in the right place. CMAKE_INSTALL_LIBDIR
shall have the appropriate value depending on the Linux distribution
found and 32/64bitness of the host.
The cross-compiling case (even 32bits compile on a 64bits host)
is not handled.
2011-03-31 14:45:48 -04:00
Brad King cddbe63d79 Merge topic 'fix12006-brokenPackageName'
33391c6 CPackDeb: Fix #12006 broken package names
2011-03-31 13:23:16 -04:00
Brad King 62130ba9c4 Merge topic 'gnu-install-dirs-issue-3976'
c2bf48e GNUInstallDirs: Propagate DATAROOTDIR changes to dependent defaults
11431c6 GNUInstallDirs: Simplify and clarify documentation
a262fe0 Add GNUInstallDirs module to define GNU layout (#3976)
2011-03-31 13:23:07 -04:00
Brad King e54e38fadf Merge topic 'fix-FortranCInterface-for-Cray-7.3.2'
d0203fb FortranCInterface: Fix mangling detection with Cray Fortran >= 7.3.2
2011-03-31 13:22:38 -04:00
Andreas Schneider 112f1dd7e3 FindOpenSSL: Use find_package_handle_standard_args for version check. 2011-03-31 08:43:24 -04:00
Andreas Schneider a091ba61ce FindOpenSSL: Fixed crypto und ssl variable names. 2011-03-31 08:43:24 -04:00
Andreas Schneider a164649f9d FindOpenSSL: We should only use hints to find OpenSSL. 2011-03-31 08:43:16 -04:00
Andreas Schneider 5c2106c71e Modules: Added CMake Java support.
This provides:
    find_jar
    add_jar
    install_jar
    install_jni_symlink
    create_javadoc
2011-03-29 11:54:42 +02:00
Andreas Schneider a4b6275eb7 FindJava: Find missing java development executables. 2011-03-29 11:54:41 +02:00
Andreas Schneider 0fb5142e40 FindOpenSSL: Added support for pkg-config. 2011-03-28 18:31:16 +02:00
Mathieu Malaterre b4c3ff7ce8 This commit fixes bug #0010316 2011-03-28 17:53:46 +02:00
Brad King d0203fb567 FortranCInterface: Fix mangling detection with Cray Fortran >= 7.3.2
The Cray Fortran compiler started using module init symbols in version 7.3.2.
Starting in commit 71287734 (Teach FortranC interface for Intel, PGI, and gcc
4.2, 2009-08-05) we provide C versions of the module init symbols so that the
detection executable can link when the C versions of the module-mangled symbols
are picked up.

If no C module-mangled symbol matches then we cannot let the C module init
symbol appear because it will be duplicated by the Fortran copy that provides
the module-mangled symbol.  This was first handled for the PathScale compiler
in commit 21faaa5d (FortranCInterface: Fix PathScale detection, 2010-01-22) and
commit 46858720 (FortranCInterface: Fix PathScale detection again, 2010-02-16).
Handle it now for the Cray compiler too.
2011-03-24 16:06:58 -04:00
Martin Konrad 33391c697f CPackDeb: Fix #12006 broken package names
Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
2011-03-24 09:25:58 +01:00
Brad King c2bf48ef57 GNUInstallDirs: Propagate DATAROOTDIR changes to dependent defaults 2011-03-23 14:39:05 -04:00
Brad King 4344e83fcf Merge topic 'asn_check_proto'
93c56a7 Tests: Added test for check_prototype_definition.
4f252ab Modules: Added CheckPrototypeDefinition module.
2011-03-22 14:45:51 -04:00
Brad King 1c3233a850 Merge topic 'include-flags-response-file'
86cb17b Pass include directories with response files to GNU on Windows
9a0b9bc Optionally pass include directories with response files
6e8a67f Generate target-wide flags before individual build rules
d099546 Factor old-style -D flags out from -I flag generation
2011-03-22 14:45:44 -04:00
Brad King 3ae23330ee Merge topic 'FindBLAS-acml-search-improvement'
ac475c4 ACML search improvement
2011-03-22 14:45:30 -04:00
David Cole e6c2701002 ProcessorCount: Use ERROR_QUIET with execute_process (#11302)
Also, comment out all "debugging" calls to message() that helped
us interpret the output on other platforms when running on the
dashboard clients.

Using ERROR_QUIET avoids unnecessary stderr output while calling
external tools to determine the processor count. If there's an
error parsing the output, we set the count to 0 anyhow.

Also, the test will fail on a CMake dashboard run if the count
comes back equal to 0.

Now that the code is "done"-ish, remove the debugging output.
Expect no output on stdout or stderr when calling the
ProcessorCount function from now on.
2011-03-18 14:28:24 -04:00
Andreas Schneider 4f252abea5 Modules: Added CheckPrototypeDefinition module.
This check if the function exists and the prototype we want to use is
correct. There are still functions which have different prototypes on
different UNIX systems.
2011-03-18 14:03:35 -04:00
Brad King 86cb17b18d Pass include directories with response files to GNU on Windows
The GNU 4.x toolchain on MinGW (and therefore MSYS) allows compiler
options to be passed via response files.  Use this to pass include
directory -I options.  This allows the include file search path to be
very long despite shell and mingw32-make command line length limits.
2011-03-17 17:56:14 -04:00
Brad King a32a633225 FindMPI: Fix documentation formatting
Adjust whitespace to make the output of "--help-module FindMPI" look
good.  Also separate the comment containing the copyright and license
notice so it does not appear in the documentation.
2011-03-16 10:11:33 -04:00
Alexey Ozeritsky ac475c4126 ACML search improvement 2011-03-15 15:07:40 -04:00
Todd Gamblin 706b73e848 FindMPI: Handle multiple languages
Adds support for:

- MPI_<lang>_COMPILER and other useful variables for C, CXX, Fortran
- Better compiler interrogation (handles mvapich)
- Supports specifying an MPI compiler name directly on the command line
  without and absolute path, e.g.: cmake -D MPI_CXX_COMPILER=mpixlC
- Better compiler name searching tries to match MPI compiler to regular
  CMAKE_<lang>_COMPILER_ID, if it's available.

Gets rid of:

- MPI_LIBRARY, MPI_EXTRA_LIBRARY cache variables.  These and other old
  vars are still exported for backward compatibility, but they're not
  cached.
2011-03-15 15:07:34 -04:00
David Cole 6dd74d5a59 ProcessorCount: Add support for remaining platforms (#11302)
Including AIX, cygwin, FreeBSD, HPUX, IRIX, OpenBSD and Sun.
2011-03-15 15:07:31 -04:00
David Cole 3430955d5f Add ProcessorCount support for QNX via pidin. (#11302)
Thanks to Rolf Eike Beer <eike@sf-mail.de> for the code snippet
parsing the pidin output.
2011-03-15 15:07:30 -04:00
David Cole 4d6418f683 If getconf returns empty output, try cpuinfo. (#11302)
Also, add message output (temporarily) for gathering data
on all the dashboard machines. After the test runs on the
overnight dashboards tonight, I'll comment out the message
output and commit/push again.
2011-03-15 15:07:30 -04:00
David Cole 9cc8ad99c9 Add correct module notice header.
Fixes failing ModuleNotices test.
2011-03-15 15:07:30 -04:00
Michael Wild abbaa123aa Add module ProcessorCount.cmake (#11302)
Credit goes to David Cole ( http://www.kitware.com/blog/home/post/63 ).

Also add a script-based test of the new module.

Signed-off-by: Michael Wild <themiwi@users.sourceforge.net>
2011-03-15 15:07:30 -04:00
Brad King 9349de14c7 Merge topic 'CPackRPM-TestWithMoreTraces'
ade04de Remove debbuging typo
a201028 CPack try to please SUSE 64 bits and install lib in lib64 and not lib.
7ebbcf1 CPackRPM  non matching ENDIF
0e07b42 CPackRPM even more trace in debug mode or in case of failure
564b731 CPackRPM  add more trace output in order to help failing diagnostics
2011-03-15 14:47:38 -04:00
Brad King 0e4b5caa81 Merge topic 'CPackDeb-ComponentSupport'
bf7066c CPackDeb  add Component Support to DEB generator fix #0011655
2011-03-15 14:47:35 -04:00
Brad King f8f6c5f899 Merge topic 'qt4-paramfile-speed'
ae587e4 Speed up creation of parameters file for moc custom command.
2011-03-15 14:47:30 -04:00
Brad King b035e638c0 Merge topic 'qt4-cross-compile-no-default'
46f64bd When cross compiling, don't double-root paths when using find_*.
2011-03-15 14:47:25 -04:00
M. Konrad bf7066c6ce CPackDeb add Component Support to DEB generator fix #0011655
Contribution by Martin Konrad
Signed-off-by: Eric NOULARD <eric.noulard@gmail.com>
2011-03-11 08:47:15 +01:00
Clinton Stimpson ae587e49a6 Speed up creation of parameters file for moc custom command.
Thanks A. Saratow for patch.
2011-03-10 14:45:45 -07:00
Markus Rathgeb 46f64bd9e7 When cross compiling, don't double-root paths when using find_*. 2011-03-10 14:17:13 -07:00
Eric NOULARD 7ebbcf19de CPackRPM non matching ENDIF 2011-03-10 18:32:47 +01:00
Eric NOULARD 0e07b425ca CPackRPM even more trace in debug mode or in case of failure 2011-03-10 18:20:16 +01:00
Eric NOULARD 564b7311f4 CPackRPM add more trace output in order to help failing diagnostics 2011-03-10 09:48:46 +01:00
David Cole 971a735ba2 InstallRequiredSystemLibraries: Read reg values with get_filename_component
64-bit CMake can now find the VC redist folder.

See this thread on the CMake mailing list for the original report:
http://www.cmake.org/pipermail/cmake/2011-March/043342.html

Thanks to J. Decker for the suggested fix.
2011-03-09 18:03:11 -05:00
Brad King 036aab093b Merge topic 'ReworkedAsmSupport'
b3ce420 Do not bother enabling C++ in Assembler test
80f6a34 Teach Assembler test to generate main.s at build time
1dafa74 Fix Assembler test to parse C flags string before using
4139a73 -only enable the asm test for the Intel compiler if we are under UNIX
1f6c6b1 -use CMAKE_C_FLAGS when generating the assembler file
d0f71e2 Add ASM platform information for HP compiler on HP
bd580be Merge branch 'hp-compiler-info' into ReworkedAsmSupport
a0bab7a Add ASM platform information for XL compiler on AIX
c03b610 Merge branch 'aix-xl-platform-info' into ReworkedAsmSupport
c623008 Initialize ASM rpath flags for executables with those for shared libs
17c658f Add support for the Intel compiler used for ASM under Windows
4258b24 Add more regex for gcc, always print the ASM compiler ID
9071b8b Add temporary debug output for compiler ID detection for ASM
48f7199 It's ELSEIF(), not ELSIF()
d103c75 Fix bad comparison in the detect assembler-code
20fe0be Only try assembler support for Makefile-based generators
8614470 Use a regexp instead a lot of ORs for checking the compiler ID
cf88092 The Assembler test now tests ASM for GNU, Intel, HP, XL and SunPro
66614a8 Add assemble- and preprocess commands for HP
78f7c59 Fix the default CMAKE_ASM_COMPILE_OBJECT, make XL-ASM use it
7456461 Change the default rules so they fit better to the new ASM handling
5542d58 Set the HP asm file suffix
f745220 Add support for ASm for the HP compiler.
00735d4 Add suport for ASM for the IBM XL compiler
d3e9e8a Add support for ASM for the SunPro compiler
64e66eb Actually use CMAKE_ASM_COMPILER for asm, instead of CMAKE_C_COMPILER
38f92bf Add ASM support for the Intel compiler
4b40d42 Rework the way assembler is handled, use the C/CXX compiler by default
2011-03-08 14:22:38 -05:00
Brad King 831fef8167 Merge topic 'improve-ExternalProject-file-name-recognition'
7f10b13 ExternalProject: Extract file names from more urls
2011-03-08 14:22:35 -05:00
Brad King 8a8234df05 Merge topic 'aix-xl-platform-info'
d30dcf1 Move RPATH flags to AIX per-compiler information files
89ea7a3 Factor AIX and XL compiler flags into common module
2011-03-08 14:22:13 -05:00
David Cole 7f10b137e1 ExternalProject: Extract file names from more urls
Notably, downloads from sourceforge.net and gitweb snapshots.
2011-03-04 17:09:41 -05:00
Brad King d0f71e2545 Add ASM platform information for HP compiler on HP
Among other flags this sets RPATH flags correctly so that CMake knows
how to treat CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH for the ASM language.
2011-03-02 17:49:17 -05:00
Brad King bd580be526 Merge branch 'hp-compiler-info' into ReworkedAsmSupport 2011-03-02 17:40:55 -05:00
Brad King 5f0a25955f Factor HP compiler flags into per-platform/per-compiler files
Move HP flags out of Platform/HP-UX.cmake into platform-specific
compiler information files "Platform/HP-UX-HP-<lang>.cmake".  Factor
common values into "Platform/HP-UX-HP.cmake" and load it from the
per-language files.
2011-03-02 17:24:36 -05:00
Brad King a0bab7ae69 Add ASM platform information for XL compiler on AIX
Among other flags this sets RPATH flags correctly so that CMake knows
how to treat CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH for the ASM language.
2011-03-02 13:48:04 -05:00
Brad King c03b610c0a Merge branch 'aix-xl-platform-info' into ReworkedAsmSupport 2011-03-02 13:47:11 -05:00
Brad King c623008376 Initialize ASM rpath flags for executables with those for shared libs
Since the flags for executables are almost always the same as those for
shared libraries each language information file just uses the latter for
the former by default.  This reduces duplication in the compiler and
platform flag information files.
2011-03-02 13:44:13 -05:00
Brad King d30dcf18b9 Move RPATH flags to AIX per-compiler information files
Move RPATH flags out of Platform/AIX.cmake into platform-specific
compiler information files Platform/AIX-XL and Platform/AIX-GNU.
The flags need to be set for each compiler of each language.
2011-03-02 11:21:54 -05:00
Brad King 89ea7a3d3c Factor AIX and XL compiler flags into common module
Factor duplicate flag information from Platform/AIX-XL-*.cmake into
Platform/AIX-XL.cmake and load it from the original files.
2011-03-02 11:20:50 -05:00
Alex Neundorf 17c658f819 Add support for the Intel compiler used for ASM under Windows
Alex
2011-03-02 16:46:25 +01:00
Alex Neundorf 4258b24134 Add more regex for gcc, always print the ASM compiler ID
Now gcc is also recognized via "Free Software Foundation"

Alex
2011-03-01 22:58:26 +01:00
Alex Neundorf 9071b8b87f Add temporary debug output for compiler ID detection for ASM
Alex
2011-03-01 21:41:02 +01:00
Alex Neundorf 48f7199df0 It's ELSEIF(), not ELSIF()
Alex
2011-03-01 21:39:19 +01:00
Brad King bb745612bc Merge topic 'doc-typo-fixes'
7c5e412 Documentation: Fix a few typos (#11883)
2011-03-01 15:30:32 -05:00
Brad King 79037a818e Merge topic 'qt4-setversion-regression-43cb9b8'
6b9bc54 Fix regression in 43cb9b8.
2011-03-01 15:30:17 -05:00
Alex Neundorf d103c751fa Fix bad comparison in the detect assembler-code
(there was a if("${CMAKE_C_COMPILER}") instead of if(CMAKE_C_COMPILER) )

Alex
2011-03-01 21:28:54 +01:00
Brad King 11431c67c6 GNUInstallDirs: Simplify and clarify documentation 2011-02-28 15:15:01 -05:00
Nikita Krupen'ko a262fe0917 Add GNUInstallDirs module to define GNU layout (#3976)
Provide CMAKE_INSTALL_* variables to help install files according
to the GNU standard layout:

  http://www.gnu.org/prep/standards/html_node/Directory-Variables.html
2011-02-28 15:15:01 -05:00
Brad King 307bdadadc Merge topic 'mingw-module-definition'
6c4b249 Fix Fortran test .def file symbol mangling
7616216 Pass .def files directly to MinGW tools (#9997)
2011-02-24 08:30:26 -05:00
Clinton Stimpson 6b9bc54566 Fix regression in 43cb9b8.
Put back some code for setting the QT_VERSION_* variables that wasn't supposed to be removed.
2011-02-23 17:13:49 -07:00
Alex Neundorf 66614a868d Add assemble- and preprocess commands for HP
Also restore HP-C.cmake, I had accidentially overwritten it with HP-ASM.cmake

Alex
2011-02-23 21:30:21 +01:00
Alex Neundorf 78f7c592eb Fix the default CMAKE_ASM_COMPILE_OBJECT, make XL-ASM use it
Alex
2011-02-23 21:29:05 +01:00
Alex Neundorf 7456461588 Change the default rules so they fit better to the new ASM handling
CMAKE_ASM_COMPILE_OBJECT is now so that it fits for GNU, Intel, HP and Sun
ASM_ATT had to be adjusted. Also adjusted the default
CMAKE_ASM_LINK_EXECUTABLE

Alex
2011-02-23 21:21:41 +01:00
Alex Neundorf 5542d58014 Set the HP asm file suffix
Alex
2011-02-23 21:18:55 +01:00
Alex Neundorf f745220a32 Add support for ASm for the HP compiler.
Alex
2011-02-23 21:16:44 +01:00
Alex Neundorf 00735d4055 Add suport for ASM for the IBM XL compiler
Alex
2011-02-23 21:16:22 +01:00
Alex Neundorf d3e9e8a078 Add support for ASM for the SunPro compiler
Alex
2011-02-23 21:16:00 +01:00
Alex Neundorf 64e66ebdc8 Actually use CMAKE_ASM_COMPILER for asm, instead of CMAKE_C_COMPILER
Alex
2011-02-23 21:15:41 +01:00
Alex Neundorf 38f92bfbe1 Add ASM support for the Intel compiler
Alex
2011-02-23 21:15:18 +01:00
Brad King 761621645c Pass .def files directly to MinGW tools (#9997)
Commit 6a61a8a5 (Honor module .def files with MinGW tools, 2011-02-21)
set CMAKE_LINK_DEF_FILE_FLAG to "-Wl," to enable passing .def files to
the linker on MinGW.  However, older GNU tools in the MSYS shell do not
know how to translate "-Wl,/c/..." to "c:/..." and complain that the
file does not exist.  Instead set the flag to just "" which tells CMake
it can pass the file through the front-end with no special flag.
2011-02-23 11:04:17 -05:00
Modestas Vainius 7c5e412c4a Documentation: Fix a few typos (#11883)
W: cmake: manpage-has-errors-from-man usr/share/man/man1/cmake.1.gz 10029: warning [p 158, 13.5i]: can't break line
I: cmake: spelling-error-in-manpage usr/share/man/man1/cmake.1.gz informations information
I: cmake: spelling-error-in-manpage usr/share/man/man1/cmake.1.gz dependant dependent
I: cmake: spelling-error-in-manpage usr/share/man/man1/cmake.1.gz prefered preferred
I: cmake: spelling-error-in-binary ./usr/bin/cmake prefered preferred
I: cmake: spelling-error-in-binary ./usr/bin/cpack prefered preferred
I: cmake: spelling-error-in-binary ./usr/bin/ctest prefered preferred
I: cmake-data: spelling-error-in-manpage usr/share/man/man1/cmakepolicies.1.gz prefered preferred
I: cmake-curses-gui: spelling-error-in-binary ./usr/bin/ccmake prefered preferred
I: cmake-qt-gui: spelling-error-in-binary ./usr/bin/cmake-gui prefered preferred
2011-02-22 17:24:51 -05:00
Brad King 62f816adde Merge topic 'qt4-fphsa'
7a1027a When checking find_package() components, special case qtmain.
4c1c358 FindQt4: Include builtin FindPackageHandleStandardArgs directly
43cb9b8 Change to use fphsa to check required variables and version.
2011-02-22 14:36:33 -05:00
Brad King 521d244531 Merge topic 'mingw-module-definition'
6a61a8a Honor module .def files with MinGW tools (#9997)
2011-02-22 14:33:04 -05:00
Brad King 59cfdd5c77 Merge topic 'qt4-macfind'
4167be0 Fix issues with find_path() for QtCore include dir on Mac.  Fixes 11868.
2011-02-22 14:33:00 -05:00
Brad King c5f27110ab Merge topic 'init-LDFLAGS-issue-11840'
3b77516 Fix linker flag initialization from LDFLAGS (#11840)
2011-02-22 14:32:22 -05:00
Brad King 15ff343d23 Merge topic 'fix-4564-make-test-alias'
816c9d1 CTest: Add alias for make test target (#4564)
2011-02-22 14:31:50 -05:00
Brad King 11f55fff8f Merge topic 'fix-10723-non-dev-xcode'
d421a43 Strip trailing space from xcode-select output (#10723)
2011-02-22 14:31:45 -05:00
Brad King 6e450ed7f0 Merge topic 'mpif77-workaround-o-c-order'
93f230e Pass -o after -c for Fortran to avoid mpif77 ordering bug
2011-02-22 14:31:40 -05:00
Brad King e0d0e879cf Merge topic 'fix-10150-mark-timeout-advanced'
b5e3692 CTest: Mark DART_TESTING_TIMEOUT as advanced (#10150)
2011-02-22 14:31:21 -05:00
Brad King 6a61a8a538 Honor module .def files with MinGW tools (#9997)
Since commit 024d05ad (Fix use of module .def files for MS tools,
2009-09-29) module .def files work for any platform that sets
CMAKE_LINK_DEF_FILE_FLAG correctly.  Set it in the Windows-GNU platform
information file to enable support with MinGW tools.  Also enable the
test added by commit 0db2c850 (Test use of module .def files for MS
tools, 2009-09-29) for MinGW and MSYS generators.
2011-02-21 14:34:54 -05:00
Clinton Stimpson 4167be052f Fix issues with find_path() for QtCore include dir on Mac. Fixes 11868. 2011-02-19 15:30:02 -07:00
Brad King 6720f97d3b Merge topic 'copyright-FindPerlLibs'
bff5772 FindPerlLibs: Add notice of copyright
2011-02-14 16:34:39 -05:00
Brad King 3b77516862 Fix linker flag initialization from LDFLAGS (#11840)
When initializing CMAKE_(EXE|SHARED|MODULE)_LINKER_FLAGS from LDFLAGS
and CMAKE_(EXE|SHARED|MODULE)_LINKER_FLAGS_INIT quote the whole string
in case both are set.

Reported-by: Daniel R. Gomez <gomez@teragram.com>
2011-02-11 08:54:38 -05:00
Andreas Schneider bff5772084 FindPerlLibs: Add notice of copyright
I'm the original author of this module. See bug #7898.
2011-02-10 13:46:35 -05:00
Clinton Stimpson 7a1027a1b6 When checking find_package() components, special case qtmain.
Its just a library on Windows only.
Fixes bug #11791.
2011-02-04 09:01:55 -05:00
David Cole 816c9d1aa1 CTest: Add alias for make test target (#4564)
Clients may define CTEST_TEST_TARGET_ALIAS in a project's
initial cache to get a target of another name that executes
the same underlying command as "make test"
2011-02-01 15:39:02 -05:00
David Cole d421a433a8 Strip trailing space from xcode-select output (#10723)
Otherwise, subsequent use of the output does not work
as intended.
2011-02-01 14:16:30 -05:00
Brad King 93f230e408 Pass -o after -c for Fortran to avoid mpif77 ordering bug
When running

  $ mpif77 -c example.f -o example.f.o

mpif77 recognizes -o and produces example.f.o, but when running

  $ mpif77 -o example.f.o -c example.f

the -o option is ignored and the object file is example.o.  Performing
the same experiment on the underlying compiler tool or with the mpicc
and mpiCC wrappers does not exhibit this behavior, so the issue appears
to be specific to mpif77.

Reported-by: Zhen Wang <zwang26@emory.edu>
2011-01-31 16:24:12 -05:00
Alex Neundorf 4b40d4297a Rework the way assembler is handled, use the C/CXX compiler by default
This commit changes the way how the assembler support works in cmake.
The language "ASM" now always uses the C/Cxx compiler instead
of the assembler directly. This fixes #8392, assembler files are
not preprocessed.
If one wants to use the assembler directly, the specific
assembler "dialect" has to be enabled. I.e. to get as/gas,
you have to use now ASM-ATT, the same way for ASM_MASM and ASM_NASM.

Implemented this now for gcc.
SunStudio, IBM, HP and Intel still todo.

Alex
2011-01-30 21:03:37 +01:00
Brad King 7c4e57c821 Merge topic 'FixParsingCompilerNameWithVersionNumber'
5883c51 Fix parsing of compiler name with a version number
bd57bc5 Strip trailing whitespace.
2011-01-28 14:17:21 -05:00
David Cole b5e3692299 CTest: Mark DART_TESTING_TIMEOUT as advanced (#10150)
Also, split a long line into two. And alphabetize the
variables mentioned in the mark_as_advanced call.
2011-01-28 06:32:27 -05:00
Brad King 182eb7c7ef Merge topic 'dev/strict-mode'
dd2f814 Merge branch 'dev/add_test-working-directory' into dev/strict-mode
949d32c Unwatch manual variables upon removal in cmake-gui
3939032 Unwatch manual variables upon removal in ccmake
8354413 Add method to unwatch a manual variable
8ed3c85 Give a better message for unused variables
729db48 Fix ArgumentExpansion test expected results
89c2544 Checking for a definition is a usage
5625dee Don't output to stderr in the GUI
ad25a96 Merge branch 'ImprovedDotSupport2' into dev/strict-mode
c128abe Merge branch 'AddCMAKE_CURRENT_LIST_DIR' into dev/strict-mode
9bcaff0 Merge branch 'cmake-guiRememberAdvancedCheckbox' into dev/strict-mode
544d0c3 Fix expected output for WarnUninitialized test
4e3bea4 Update expected messages to new format
8e8c9e4 Don't check at destruction for usage
668e005 Use cmake::IssueMessage for warnings
88cd4c1 Use 'CMake Warning' versus 'warning' for CDash
3c3b98d Initialize the class before setting warn flags
cf8b15a Ignore files under the CMakeFiles directory
fd50f06 Don't check for unused vars at configure time
447a04c Don't warn during configure when doing everything
b97ee21 Check for unused variables at the end of generate
c18c977 When checking for variables, specify a reason
3f1121f Use a long int since Line is a long as well
2507f93 Change the failure case string to 'Unexpected'
fe390a2 Add 'ArgumentExpansion' test
8dbb209 Wrong boolean value for CLI warnings
d4ee998 Hard-code the --no-warn-unused-cli flag
a267b99 Fix line lengths
82ed104 Flag that the directories have been set
5aa535b Add argument to arg parsing to not set directories
367e5c3 Revert "Revert "When calling CMake, set the args and the cache""
ab5d4e4 Revert "When calling CMake, set the args and the cache"
9b90040 When calling CMake, set the args and the cache
fe56002 Fix long lines for KWStyle
5d30cfc Set a watch on variables added through the gui
33c63b1 Add a method to put a watch for variables
535253f Initialize the warning variables earlier
cbb286c Fix the path detection to work for top-level
62be1f7 Initialize the usage stack earlier
c6e7fab Factor out the checks for unused variables
5e41ba8 When using the API, check for Add vs. Remove
dee1976 Fix typo in VariableUnusedViaUnset test
f231ce5 Remove old false positive avoidance code
a117e02 Revert "Add test for unused warnings at the end of scope"
2c82f2b Exempt CMAKE(CURRENT|PARENT)_LIST_FILE from usage
6d7d449 Ignore CLI warnings for ABI determination
7740a73 Only return local keys that are defined
bef3aee Use the API so that warnings can be tracked
05cb0f4 Check for unused variables in the dtor
91c4c99 Add test for unused warnings at the end of scope
ca90f67 Fix detection of unused variables when setting
f7438ca Add test for unused detection via setting it
995cfb0 Don't warn if the variable wasn't defined
aefc91d Add test for usage checks via unset
a8e97f8 Remove VarRemoved code since it's been superceded
59463ef Rework CheckVariableForUnused usage
f117423 Fix line lengths to be no more than 78
e49a935 Improve unused warning logic
e01e40c Mark ARGC, ARGV*, and ARGN as used
a17aff7 Ignore CMAKE_MATCH_* variables for usage
02a114d Add method to allow variables to be marked as used
a0b0d23 CMAKE_DO_TRY_COMPILE is no longer used
ae3eff3 Fix the path used for ignoring system warnings
056b441 Fix missing case for usage of a variable
980e048 Factor out checks for unused variables
83acb0a Remove now unused variables
3801463 Use built-ins for readability and maintainability
8b52015 Push the initialize and unused states when copying
439877f Be consistent with single and double quotes
4cf1706 Add documentation for check-system-vars
b74777f Fix the spelling of the flag for warn-unused-vars
b948120 Change logic of flag to turn off cli unused checks
f047a17 Add test for uninitialized variables
75bda38 Add tests for unused command line variables
300fc15 Fix detection of system files
d784e6a Run the unused variables check on the final pass
9efc057 VariableWatch is not available when bootstrapping
2e78224 Add a missing comma to the warning message
7499700 Add a flag to warn about system files
fff9f6d Rename flags again and use variablewatch for cli
786e269 Add warn-unused to the Qt interface
636e6c4 Default to marking things as used
4ff0340 Rename find-unused to warn-unused
d7999e9 Rename strict-mode to warn-uninitialized
e141bc9 Detect unused variables
d3e8eb5 Add flags to detect unused variables
f332e14 Complete strict-mode checks for uninitialized vars
52f9637 Add method to get the local scope variables
f794d58 Make --strict-mode option, and integrate with cmake-gui
48b5b85 Add a warning when variables are used uninitialized.
cd626ea For macros make sure the FilePath points to a valid pointer in the args.
2011-01-27 15:34:07 -05:00
Brad King dd2f81491e Merge branch 'dev/add_test-working-directory' into dev/strict-mode
Conflicts:
	Tests/CMakeLists.txt
2011-01-27 14:39:55 -05:00
Brad King 7e6a004659 Merge topic 'relative-CMAKE_USER_MAKE_RULES_OVERRIDE'
a146e03 Fix relative CMAKE_USER_MAKE_RULES_OVERRIDE (#11725)
2011-01-26 15:24:05 -05:00
Alex Neundorf 5883c5191e Fix parsing of compiler name with a version number
This fixes #11679, the toolchain prefix was not correctly detected
for arm-eabi-gcc-4.5.2

Alex
2011-01-26 20:52:34 +01:00
Alex Neundorf bd57bc5312 Strip trailing whitespace.
Alex
2011-01-26 20:51:25 +01:00
Brad King 4c1c358332 FindQt4: Include builtin FindPackageHandleStandardArgs directly
Apply to FindQt4 change from commit b0118402 (Use absolute path to
FindPackageHandleStandardArgs.cmake everywhere, 2010-09-28).
2011-01-20 11:46:32 -05:00
Brad King c4275592a8 Modules: Include builtin FindPackageHandleStandardArgs directly
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.
2011-01-20 10:56:49 -05:00
Brad King a146e03422 Fix relative CMAKE_USER_MAKE_RULES_OVERRIDE (#11725)
In commit 295b5b60 (Honor CMAKE_USER_MAKE_RULES_OVERRIDE in try_compile,
2010-06-29) we started passing the value of this variable when building
a try_compile project.  If the variable contains a relative path it must
be treated with respect to the file where it is first used.  Ensure that
the value is converted to a full path so that it is correctly referenced
in the try_compile projects.
2011-01-19 18:15:36 -05:00
Brad King 863c7dfd88 Merge topic 'fix-find-png-zlib'
30e19b7 Add new names for PNG and ZLIB libraries
2011-01-19 14:28:29 -05:00
Brad King d9fb64088b Merge topic 'fix-10031-add-freeglut'
efd1d9c Add freeglut as library name (#10031)
2011-01-19 14:28:26 -05:00
Brad King b9f9c90eaf Merge topic 'qt4-query-exec-process'
858fe0e Replace exec_program with execute_process for qmake queries.
2011-01-19 14:28:24 -05:00
Brad King ef1f9456aa Merge topic 'sco-compiler'
e60c8ec Factor SCO compiler info out of platform file (#11700)
db05da3 Recognize SCO UnixWare C/C++ compilers (#11700)
2011-01-19 14:28:19 -05:00
Brad King d0b4f13521 Merge topic 'fix-install-req-sys-libs'
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.
2011-01-19 14:03:15 -05:00
Brad King a104712d41 Merge topic 'python-modules-header'
23635ff Bug #11715 - generate header in the build tree.
2011-01-19 14:02:57 -05:00
Brad King ef27b9cd89 Merge topic 'doc-CheckSymbolExists-enum'
4995b26 Update CheckSymbolExists copyright year
840f9c0 Document CheckSymbolExists more clearly (#11685)
2011-01-19 14:02:38 -05:00
Brad King 3b900dbd09 Merge topic 'doc-CheckFunctionExists-clarify-issue-10044'
114c322 Document CheckFunctionExists more clearly (#10044)
2011-01-19 14:02:33 -05:00
Clinton Stimpson 858fe0ed41 Replace exec_program with execute_process for qmake queries. 2011-01-17 19:14:22 -07:00
Marcus D. Hanwell 23635ff1a0 Bug #11715 - generate header in the build tree.
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.
2011-01-17 15:29:01 -05:00
David Cole efd1d9c799 Add freeglut as library name (#10031)
Thanks to Thomas Sondergaard for the patch in the bug report.
2011-01-17 14:19:18 -05:00
Brad King 4995b267b7 Update CheckSymbolExists copyright year
Reflect that commit 840f9c05 (Document CheckSymbolExists more clearly,
2011-01-12) changed the file in 2011.
2011-01-17 14:10:55 -05:00
Brad King 114c3224a4 Document CheckFunctionExists more clearly (#10044)
State that the function need only be available at link time.  Refer to
CheckSymbolExists for verifying that a declaration exists.
2011-01-17 14:02:21 -05:00
Brad King e60c8ec6c7 Factor SCO compiler info out of platform file (#11700)
Move these flags out of the SCO_SV platform file so that other compilers
may be used on that platform without interference.
2011-01-17 09:57:17 -05:00
Brad King db05da35d2 Recognize SCO UnixWare C/C++ compilers (#11700)
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
2011-01-17 09:52:33 -05:00
Clinton Stimpson 43cb9b8276 Change to use fphsa to check required variables and version.
Also, set the required variables based on components, if specified.
Also, don't make finding uic required if not using QtGui.
2011-01-14 21:26:19 -07:00
David Cole 30e19b79dd Add new names for PNG and ZLIB libraries
Thanks to Pau Garcia i Quiles for the patch on the CMake
mailing list.
2011-01-14 12:28:10 -05:00
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