Commit Graph

3380 Commits

Author SHA1 Message Date
Brad King 38aab37962 Set CMAKE_<lang>_COMPILER_ID for VS generators
Currently the VS generators do not support Intel C/C++ .icproj files and
the MS tools do not include a Fortran compiler.  Therefore we can always
set the C and CXX compiler IDs to "MSVC" and the Fortran ID to "Intel".

This fixes a regression in support for the Intel Fortran compiler under
the VS plugin introduced by commit cd43636c (Modernize Intel compiler
info on Windows, 2010-12-16).  The commit moved the compiler information
into platform files that only load when the proper compiler id is set.
It worked for the NMake Makefiles generator but not for the VS IDE
generator because it did not set the compiler id.
2011-09-02 08:56:01 -04:00
David Cole f6dce05bef Merge topic 'qt4-find-uitools-mingw-cross'
a67be31 qt4: also find QtUiTools when cross compiling with mingw.
2011-09-01 15:14:30 -04:00
David Cole 1aa42978a5 Merge topic 'bg-link-fixes'
5993891 Fixed link bugs in BlueGeneP build.
2011-09-01 15:14:26 -04:00
David Cole a9c96a725e Merge topic 'xl-CreateExportList-fix'
d169762 Fix XL compilers on non-AIX machines.
2011-09-01 15:14:22 -04:00
David Cole 5c51a7bdf3 Merge topic 'boost-cmake-path-suffixes'
7da796d FindBoost: Call find_package with NO_MODULE first
2011-09-01 15:14:15 -04:00
David Cole 482a235bff Merge topic 'generate_export_header'
6a6393c Don't use a variable name that might be used in other files.
5ca8c56 Fix up verbatim code sections of the dox.
75596e6 Don't start a line with a dash(-)
826374a Remove blank line at the start of the file.
8b9b8e1 Add documentation about the prefix and no_deprecated options.
51bc63a Fix the feature of using a specific prefix for macros.
3449f6b Add quotes in case cmake is installed in a prefix with a space.
36d28f2 Fix Compiler id variable name.
99b2aab Disable the tests for Watcom.
7ac0ab1 Quote paths in case there is a space in one of them.
89108b9 Look for errors reported by PGI too.
e0cc024 Add missing NO_EXPORT macro variant.
1b031d1 More consistency in the macro options.
03d60c7 Try to make the macros do almost nothing for Watcom.
6adeda9 Possibly fix configuration test on AIX.
e253348 Possibly fix test on HPUX.
32eff0c Test for too-old-intel compilers.
42154ec Fix up the regex command for Intel.
a147a06 Add some settings for non-truncation of test output.
bf73e75 Hopefully add version extraction for Intel.
aa4f0b6 Fix the version extraction regex for clang.
a493d1a Test the correct cxx variable.
b6ee2ee Comment the test assertion for now
a9a8b9e Exclude win32 from hidden visibility checks.
afae7a9 Start testing expected values for compiler flags.
1ae3365 Exclude PGI from exports and deprecated.
f426496 Exclude cygwin from the hidden visibility feature.
f84c7db Don't enable deprecated on old GCC
9672b33 Don't enable deprecated on HP.
10d8c44 Disable testing of deprecated macros.
97392a7d Fixup forgotten part of aed84517c9
2aeab4f Borland can't do deprecated.
c41c68b Try to error on deprecated on Intel and SunCC.
aed8451 Test for deprecated attribute before declspec.
c448b09 Perform the -Werror test only once.
fb88c6e Add some messaging output to make remaining issues findable.
01e9e98 Test -Werror instead of enabling it per compiler.
9aab2aa Expect the tests to pass if hidden visibilty is not enabled.
856bdb3 Don't change the expected build result based on the platform.
df4615e Add the COMPILER_HAS_DEPRECATED only if it has a declspec variant
78a6e1c Exclude the XL compiler from the hidden-visibility test.
e1f7ee3 Test for compiler features, instead of for specific platforms.
9554e10 Split the deprecated available check from setting macro values.
1590d5f Don't export methods on already exported classes.
750b67c Don't use hidden visibility on non-mingw windows either.
1f3be45 Make sure the hidden visibility variables never get set on MINGW.
399f415 Only set the deprecated attribute if hidden visibilty is enabled.
1c6b41b Remember to surround the other deprecated test in the Borland check.
3f7e036 Export deprecated free methods too.
7fa5592 Add some debug output to narrow down deprecation test issues
7924c1d Another attempt at fixing Borland.
50460ea Fix off-by-not in test for Borland.
b443459 Use the correct project name compiletest not compilefail
fc3772e Another attempt to fix the tests on Borland.
bab4a22 Disable all export macros on Borland.
cff9493 Only set the COMPILER_HAS_HIDDEN_VISIBILITY if GCC >= 4.2
af443b8 Set the CMAKE_RUNTIME_OUTPUT_DIRECTORY for windows builds.
61726f8 Only run the failure tests with gcc >= 4.2
002ddf2 Fix typo and tests failing as a result.
4443037 Fix tests with clang.
ffaa127 Test expected no-op instead of aborting the build.
6aca0e2 Short-circuit the tests on unsupported compilers.
d123bce Add some debug output.
3574b75 Simplify the compiler feature check
c7a937b Simplify. We already know we have hidden visibility at this point.
3b188c8 Test for features, not specific compilers.
4718233 Remove the fatal_warnings option which is no longer used.
b19911e Add missing licence header.
706ed2b Add a newline at the end of the file.
8963716 Add a newline at the end of the file.
def0a54 Handle the case where the user changes the DEFINE_SYMBOL property.
3088070 Add the GenerateExportMacro with unit tests.
2011-09-01 15:14:01 -04:00
Todd Gamblin 7da796d1fd FindBoost: Call find_package with NO_MODULE first
FindBoost now attempts to find Boost using find_package(Boost NO_MODULE)
before it does a module mode search.

User can now set any of these to Boost's install prefix to detect it in module
or config mode:

- Boost_DIR  for consistency with other CMake modules
- BOOST_ROOT or BOOSTROOT for adherence to boost convention
2011-09-01 15:00:21 -04:00
Alexey Ozeritsky 0cc8f05ce5 FindBLAS/LAPACK fixes
fixed: CMAKE_FIND_LIBRRAY_SUFFIXES misprint
 added: ATLAS vendor to FindLAPACK module
2011-09-01 10:54:48 +04:00
Alexey Ozeritsky 145de0a058 FindBLAS/LAPACK fixes
fixed: saving/changing/restoring CMAKE_FIND_LIBRARY_SUFFIXES variable.
fixed: BLA_VENDORs "Apple" (Accelerate Framework) and
      "NAS" (vecLib Framework) fail as 'cblas_dgemm_' doesn't exist.
fixed: improve "Generic" detection on Ubuntu (and I assume Debian)
      (work with libblas3gf and liblapack3gf packages).
2011-08-31 22:10:13 +04:00
Brad King 5c0c635a09 Fortran: Add support for free- and fixed-form flags
Define a "Fortran_FORMAT" target and source file property.  Initialize
the target property from a "CMAKE_Fortran_FORMAT" variable.  Interpret
values "FIXED" and "FREE" to indicate the source file format.  Append
corresponding flags to the compiler command line.
2011-08-31 10:24:43 -04:00
Clinton Stimpson a67be31784 qt4: also find QtUiTools when cross compiling with mingw. 2011-08-29 08:23:44 -06:00
Andreas Schneider e01b98ee4d Modules: Add support for more java archives in add_jar(). 2011-08-29 08:51:45 +02:00
Todd Gamblin 5993891e8d Fixed link bugs in BlueGeneP build.
- Build wasn't properly using -soname linker args, so installed libraries
  could depend on relative paths from the build directory.
- Consolidated GNU linker args to one place in the BlueGeneP-base platform
  file, since ld is used by both XL and GNU toolchains on BlueGene.
2011-08-28 22:08:11 -07:00
Todd Gamblin d1697625f8 Fix XL compilers on non-AIX machines.
Linking broken on non-AIX machines when using XL compilers due to those
machines not using the CreateExportList tool.  Made use of this tool
conditional on finding it.
2011-08-28 22:04:41 -07:00
David Faure 6a6393c905 Don't use a variable name that might be used in other files.
myDir is also used in the Grantlee config file, so if Grantlee
was found, this call failed.
2011-08-27 09:44:52 +02:00
Stephen Kelly 356cef2198 Make the formatting of feature_summary output a little better. 2011-08-27 09:26:26 +02:00
David Cole 28cba226b3 Merge topic 'UsingCMakeLikePkgConfig2'
59238dc Fix --find-package mode on Cygwin, where enable_language(RC) is called
98472e4 Require the current cmake version in --find-package mode
a6ccf3c Use $(CXXFLAGS) and $(LDFLAGS) in the --find-package test Makefile
4386918 Fix line length
7d69310 Only enable the test when using GNU make
3011149 Make the test harder by always having a space in the include dirs
ab57ff6 Make the --find-package test harder
626fc71 Much improved test, should now be executed on all UNIXes
ec6982d Disable any STATUS output in --find-package mode
e552ae7 Dont check for -isysroot and -mmacosx-version on OSX in --find-package mode
e589589 Rename helper macros print_compile_flags() to set_compile_flags_var()
aecfc1f Fix test on OpenBSD with BSD make
6bb4ca3 The makefile for the test was kindof wrong
fd15b5e Only run the test if we are using a makefile generator under UNIX
9fc87c6 Add a test for the new --find-package mode
d3ae0ff Improve documentation for --find-package mode
bf07375 Add a cmake.m4 for using cmake in autoconf projects instead of pkgconfig
b0e3578 Use the file-utility to test for 64bit if there is no /usr/lib64
53edfb2 Better support for lib64 and Debian multiarch
b8fdaa1 Fix copyright notice in new CMakeFindPackageMode.cmake
7690edf Replace cmake::GetScriptMode() with GetWorkingMode()
e4f603b Implement find-package mode of cmake
a91d662 Add find-package mode, which does nothing yet
b976e70 Make clLocalGenerator::GetTargetFlags() public
2011-08-25 15:40:49 -04:00
David Cole f5115f91d9 Merge topic 'fix-11333-use-correct-thread-flags'
6b3993b CheckSymbolExists: Use IMMEDIATE flag for configure_file (#11333)
fd61be7 FindThreads: Try pthreads with no special option first (#11333)
2011-08-25 15:40:40 -04:00
David Cole 39f0fa725e Merge topic 'AutomocForQt'
920a046 QtAutomoc: Eliminate compiler warning
b00463f QtAutomoc test: Pass QT_QMAKE_EXECUTABLE
e78ce44 Fix automoc with VS builds: apply patch from Bill
71165e9 Silence warning in automoc: use long instead of int
1879bcc Fix build: use std::ios::out|ios::trunc instead of std::ios_base::out
678e124 Only enable the automoc test after checking that Qt4 works
71c29d1 Fix bootstrap test with automoc
afb3edc Fix warnings
add30e9 Fix build: non-void function must return a value
7e6d845 Automoc.cmake is not needed anymore
2963d0b Fix logic which decides when to execute automoc test
77a5c6e Add documentation for AUTOMOC, add initialization via CMAKE_AUTOMOC
bf8ef77 Add a test for automoc
d045fd4 Nicer progress message for the automoc target
50cd6ce Move automoc processing from add_executable/library to cmGlobalGenerator
cbaac2a Remove trailing whitespace
c27607b Refactor SetupAutomocTarget() so it can be run after creating the target
24d9b7d Remove trailing whitespace
58b7fe6 Use cout instead of printf()
72caf4d Add the generated automoc.cpp file to the cleaned files
ddb517d Color output when running moc
9303295 Initialize verbose based onb the env.var.
ace1215 Move code for parsing a cpp-file from the big loop to separate function
735a5bb Fix line lengths
83b730c Add AUTOMOC to the add_library() command
126c6ea Add the cmake module required currently for automoc
de91feb Remove the need to check for .h/.cxx during buildtime
d65689a Add actual automoc code from automoc
d1c0a5f Start implementing skeleton for automoc in cmake
a65011b Start work on automoc: add empty cmQtAutomoc class
2011-08-25 15:40:29 -04:00
David Cole 2c4dbd12e3 Merge topic 'fix_vcexpress_2010'
3ca1df8 Use MSBuild when devenv is not around, since VCExpress seems broken.
2011-08-25 15:39:43 -04:00
David Cole c672c728f2 Merge topic 'FixOptionalEnableAsm'
cd70f00 Fix #12358: make optionally enabling ASM work again
2011-08-25 15:39:33 -04:00
David Cole d2b90e4c68 Merge topic 'FindLAPACK_FindBLAS'
cfad24a fixed: search of ATLAS library for C/C++-only projects
d5e6030 ACML-GPU supportede
af4c58b ACML-GPU supported
91b76e2 gotoblas supported
66a4bd0 fixed: search of acml libraries
2011-08-25 15:39:00 -04:00
Stephen Kelly 5ca8c565bc Fix up verbatim code sections of the dox. 2011-08-25 20:39:01 +02:00
Stephen Kelly 75596e62f9 Don't start a line with a dash(-)
That is a special character in cmake dox.
2011-08-25 20:39:00 +02:00
Stephen Kelly 826374a45a Remove blank line at the start of the file.
A blank line excludes the file from documentation processing.
2011-08-25 20:39:00 +02:00
Stephen Kelly 8b9b8e1676 Add documentation about the prefix and no_deprecated options. 2011-08-25 18:56:13 +02:00
Stephen Kelly 51bc63a7cb Fix the feature of using a specific prefix for macros. 2011-08-25 18:51:37 +02:00
Stephen Kelly 3449f6b88c Add quotes in case cmake is installed in a prefix with a space. 2011-08-25 18:30:26 +02:00
David Cole 0ae78b76d5 FindPackageMessage: Eliminate new lines in cache entries
Fix problem exposed by recent commit to FindPythonInterp.
If the find "details" has new lines in it, then replace them
with literal "\n" two character sequences so that the string
may be saved as a cache entry that can be re-read next time
CMake runs.
2011-08-24 14:06:51 -04:00
Stephen Kelly 89108b99ec Look for errors reported by PGI too. 2011-08-24 19:43:04 +02:00
Stephen Kelly e0cc024dc9 Add missing NO_EXPORT macro variant. 2011-08-23 23:26:43 +02:00
Stephen Kelly 1b031d1a3f More consistency in the macro options. 2011-08-23 23:21:29 +02:00
Stephen Kelly 03d60c7d81 Try to make the macros do almost nothing for Watcom. 2011-08-23 20:07:42 +02:00
Stephen Kelly 6adeda9f55 Possibly fix configuration test on AIX. 2011-08-23 19:58:42 +02:00
Stephen Kelly 32eff0caec Test for too-old-intel compilers. 2011-08-23 19:49:39 +02:00
Björn Ricks 1c2508a569 Use FIND_PACKAGE_HANDLE_STANDARD_ARGS second mode
Using the second mode of FIND_PACKAGE_HANDLE_STANDARD_ARGS allows for
checking the version number. Now a user can require a minimum version of
the python interpreter with find_package(PythonInterp VERSION)
2011-08-23 09:52:35 +02:00
Björn Ricks d179500295 Update documentation of FindPythonInterp.cmake
Document new variables and update also comments in cmake code to explain
the current behaviour of FindPythonInterp.cmake module
2011-08-23 09:52:28 +02:00
Björn Ricks 4fd1e28495 Determine python version
Use PYTHON_EXECUTABLE to determine PYTHON_VERSION_STRING,
PYTHON_VERSION_MINOR, PYTHON_VERSION_MAJOR and PYTHON_VERSION_PATCH
2011-08-23 09:52:02 +02:00
Björn Ricks 20980ef56a Search for the installed python interpreter first
The old approach to determine the python executeable chooses the newest
version from _Python_VERSIONS if no additonal versions are passed.
With python it is possible to install different versions side-by-side.
Therefore a user can install e.g. python 2.5 and 2.7. Python 2.7 maybe
only installed for testing new features and 2.5 for building and running
his software. Thus the default installation for the user would be python
2.5 and then returning PYTHON_EXECUTEABLE python2.7 would be wrong. The
new approuch searches first for the the default python executable e.g.
/usr/bin/python on unix and if it can't be found _Python_VERSIONS is
used.
2011-08-23 09:51:23 +02:00
Alex Neundorf 59238dc2de Fix --find-package mode on Cygwin, where enable_language(RC) is called
In --find-package mode we can't enable a language, since a lot of
stuff has not been set up, e.g. which make tool to use.
So disable enable_language() in this mode.

Alex
2011-08-22 21:53:22 +02:00
David Cole 6b3993b0bf CheckSymbolExists: Use IMMEDIATE flag for configure_file (#11333)
The test "complex" sets the variable CMAKE_BACKWARDS_COMPATIBILITY
to 1.4. When that variable is set, configure_file does not default
to IMMEDIATE mode processing. And so, the output file likely does
not exist yet by the time the next line in the CMakeLists.txt file
is processed. When that next line is "try_compile" on that file,
this is a problem.

Fix the problem by explicitly using IMMEDIATE in the configure_file
call.

This problem was quite mysterious, as it only showed up on the
"complex" test, when the previous commit introduced a CheckSymbolExists
call into the FindThreads module. Which is not even explicitly included
in the "complex" test... FindThreads gets included indirectly only
as a side effect of setting CMAKE_BACKWARDS_COMPATIBILITY to 1.4 and
even then it's included indirectly by auto-inclusion of
CMakeBackwardCompatibilityC.cmake...

Wow. Just wow.
2011-08-22 15:50:03 -04:00
Alex Neundorf 98472e45c8 Require the current cmake version in --find-package mode
This fixes the problem that otherwise Platforms/CYGWIN.cmake doesn't
know whether it should set WIN32 or not.
Now it uses always the current behaviour.

Alex
2011-08-22 21:23:55 +02:00
Rolf Eike Beer fd61be7140 FindThreads: Try pthreads with no special option first (#11333)
QNX has the phtread stuff in the standard library.  The best way would
IMHO be to check if a program that uses pthread_* can be successfully
linked without specifying any linker option before trying out the
different flags.
2011-08-20 14:36:34 -04:00
Bill Hoffman 3ca1df8e59 Use MSBuild when devenv is not around, since VCExpress seems broken.
To support Intel Fortran, CMake started using devenv and VCExpress
for build tools with VS2010.  However, VCExpress does not always work.
This change makes CMake use MSBuild when devenv is not found. This should
be OK, since Intel Fortran can not be used with VCExpress.
2011-08-18 12:18:30 -04:00
Alex Neundorf cd70f00ea4 Fix #12358: make optionally enabling ASM work again
Alex
2011-08-17 01:00:28 +02:00
Alex Neundorf 7e6d84568c Automoc.cmake is not needed anymore
(actually I thought I had already removed it again)

Alex
2011-08-17 00:04:47 +02:00
David Cole f0d46582c3 Merge topic 'FindGetTextImprovements'
bebb2bc Support REQUIRED in FindGettext.cmake (using FPHSA.cmake)
431c8eb Add macros GETTEXT_PROCESS_POT() and GETTEXT_PROCESS_PO_FILES()
2011-08-16 17:03:12 -04:00
David Cole 829ce746ca Merge topic 'fix-12323-more-paths-in-finddcmtk'
0167cea Add more find_path locations for DCMTK header files (#12323)
2011-08-16 17:03:09 -04:00
David Cole bdedae4b95 Merge topic 'fix-clang-flag-check-issue-12394'
ed6be50 Fix CHECK_(C|CXX)_COMPILER_FLAG for Clang (#12394)
2011-08-16 17:03:05 -04:00
David Cole 674be27a7f Merge topic 'WriteConfigVersionFile_2TemplateFiles'
c9761de Improve documentation for WriteBasicConfigVersionFile.cmake
208bb90 Set UNSUITABLE instead of not COMPATIBLE
bb03c2d Really fix copyright notice
d50a61a Fix copyright notice
4ba09bc Add some tests for write_basic_config_version_file()
02b1e4b Add example to documentation
d216a67 Provide macro write_basic_config_version_file()
2011-08-16 17:03:00 -04:00
David Cole b16de67e8f Merge topic 'FindX11ImprovementsFromKDE'
6899e58 Also search for libxkbfile, XSync and SM include dir
fe6bb7a Remove trailing whitespace
2011-08-16 17:02:30 -04:00
David Cole e9a943bab2 Merge topic 'fix-12054-eliminate-findjava-noise'
f462369 remove extra output message from FindJava.cmake
2011-08-16 17:02:11 -04:00
David Cole dfb307fef5 Merge topic 'fix-old-VisualAge-Fortran'
ad542d8 XL: Fix old VisualAge branding of Fortran compiler
2011-08-16 17:01:47 -04:00
David Cole 39743b9060 Merge topic 'hdf5-module-12316-fix'
ad218e4 Added HDF5 high level Fortran bindings to available components.
2011-08-16 17:01:39 -04:00
Stephen Kelly 1ae3365e9f Exclude PGI from exports and deprecated. 2011-08-16 01:21:59 +02:00
Stephen Kelly f426496055 Exclude cygwin from the hidden visibility feature. 2011-08-16 01:19:37 +02:00
Stephen Kelly f84c7db592 Don't enable deprecated on old GCC
Hopefully a fix for
http://www.cdash.org/CDash/testDetails.php?test=109688480&build=1432057
2011-08-16 01:17:26 +02:00
Stephen Kelly 9672b332b1 Don't enable deprecated on HP. 2011-08-16 01:13:10 +02:00
Alex Neundorf e552ae7cfd Dont check for -isysroot and -mmacosx-version on OSX in --find-package mode
Alex
2011-08-16 00:30:51 +02:00
Alex Neundorf e589589ab1 Rename helper macros print_compile_flags() to set_compile_flags_var()
The same for print_link_flags(), it is now set_link_flags_var().
Both macros don't print anything anymore, this was only in the
beginning.

Alex
2011-08-16 00:22:17 +02:00
Alexey Ozeritsky cfad24a36b fixed: search of ATLAS library for C/C++-only projects 2011-08-15 17:54:28 +04:00
Alex Neundorf 126c6ead77 Add the cmake module required currently for automoc
Alex
2011-08-14 15:58:00 +02:00
Stephen Kelly 97392a7dd3 Fixup forgotten part of aed84517c9 2011-08-14 15:37:24 +02:00
Stephen Kelly 2aeab4f973 Borland can't do deprecated. 2011-08-13 23:49:17 +02:00
Stephen Kelly aed84517c9 Test for deprecated attribute before declspec.
The attribute seems more common, and some compilers seem to silently
ignore the declspec.
2011-08-13 22:58:15 +02:00
Alexey Ozeritsky d5e603026b ACML-GPU supportede 2011-08-13 18:50:57 +04:00
Alexey Ozeritsky af4c58b3bd ACML-GPU supported 2011-08-13 17:03:58 +04:00
Stephen Kelly df4615e338 Add the COMPILER_HAS_DEPRECATED only if it has a declspec variant
_check_cxx_compiler_attribute does it in the alternative.
2011-08-12 00:23:00 +02:00
Stephen Kelly 78a6e1c122 Exclude the XL compiler from the hidden-visibility test. 2011-08-12 00:18:43 +02:00
Alex Neundorf d3ae0fff7d Improve documentation for --find-package mode
Alex
2011-08-11 22:43:45 +02:00
Alex Neundorf bf07375264 Add a cmake.m4 for using cmake in autoconf projects instead of pkgconfig
This file has been written today from scratch by Matthias Kretz
and it BSD-licensed.

Alex
2011-08-11 22:43:33 +02:00
Stephen Kelly e1f7ee3de7 Test for compiler features, instead of for specific platforms. 2011-08-11 19:06:23 +02:00
Stephen Kelly 9554e1013e Split the deprecated available check from setting macro values. 2011-08-11 18:17:12 +02:00
Stephen Kelly 750b67c5a1 Don't use hidden visibility on non-mingw windows either. 2011-08-11 10:53:58 +02:00
Stephen Kelly 1f3be45048 Make sure the hidden visibility variables never get set on MINGW. 2011-08-11 10:39:51 +02:00
Stephen Kelly 399f415b15 Only set the deprecated attribute if hidden visibilty is enabled.
This is what is tested in the unit test. If it makes sense, another
option can be added later.
2011-08-11 10:28:50 +02:00
Alexey Ozeritsky 91b76e2ab9 gotoblas supported 2011-08-11 12:23:49 +04:00
Alexey Ozeritsky 66a4bd0cfb fixed: search of acml libraries 2011-08-11 12:18:39 +04:00
Stephen Kelly 7fa559232e Add some debug output to narrow down deprecation test issues
Particularly Borland and VS7.0 seem to still be failing.
2011-08-10 23:57:04 +02:00
Stephen Kelly 7924c1d6a8 Another attempt at fixing Borland.
Apparently it still needs to be exported, but only declspec(deprecated)
does not work.
2011-08-10 22:19:39 +02:00
Stephen Kelly 50460ea9de Fix off-by-not in test for Borland. 2011-08-10 21:53:58 +02:00
Stephen Kelly fc3772edc9 Another attempt to fix the tests on Borland. 2011-08-10 21:43:16 +02:00
Stephen Kelly bab4a22036 Disable all export macros on Borland. 2011-08-10 21:28:42 +02:00
Stephen Kelly cff9493598 Only set the COMPILER_HAS_HIDDEN_VISIBILITY if GCC >= 4.2
Hearsay has it that before that version it didn't work properly.

Hopefully this will fix more dashboard builds.
2011-08-10 21:14:46 +02:00
Stephen Kelly d123bce1eb Add some debug output.
Hopefully this shows up in continuous test output.
2011-08-10 10:36:24 +02:00
Stephen Kelly 3574b75916 Simplify the compiler feature check 2011-08-10 10:36:23 +02:00
Stephen Kelly c7a937b712 Simplify. We already know we have hidden visibility at this point. 2011-08-10 10:28:15 +02:00
Stephen Kelly 3b188c833b Test for features, not specific compilers. 2011-08-10 10:26:16 +02:00
Stephen Kelly 4718233a37 Remove the fatal_warnings option which is no longer used. 2011-08-10 10:24:36 +02:00
Alex Neundorf bebb2bcd23 Support REQUIRED in FindGettext.cmake (using FPHSA.cmake)
Alex
2011-08-10 02:35:58 +02:00
Alex Neundorf 431c8eb44c Add macros GETTEXT_PROCESS_POT() and GETTEXT_PROCESS_PO_FILES()
These macros (functions actually) can be used to process pot and
po files. Patch prepared by Raphael Kubo da Costa.

Alex
2011-08-10 02:28:26 +02:00
David Cole 0167ceaf98 Add more find_path locations for DCMTK header files (#12323) 2011-08-09 15:15:53 -04:00
Stephen Kelly b19911ecab Add missing licence header. 2011-08-09 19:03:45 +02:00
Alex Neundorf b0e357824c Use the file-utility to test for 64bit if there is no /usr/lib64
Alex
2011-08-09 16:32:45 +02:00
Alex Neundorf 53edfb206b Better support for lib64 and Debian multiarch
If CMAKE_SIZEOF_VOID_P is not set from the outside, it checks for the
existance of /usr/lib64, and if it exists, SIZEOF_VOID_P is set to 8.

For multiarch, if this is debian and
CMAKE_${LANGUAGE}_LANGUAGE_ARCHITECTURE has not been set, it globs
for the files in /lib, and uses the first one which matches
CMAKE_LIBRARY_ARCHITECTURE_REGEX.

Alex
2011-08-09 16:32:45 +02:00
Alex Neundorf b8fdaa1d66 Fix copyright notice in new CMakeFindPackageMode.cmake
Alex
2011-08-09 16:32:45 +02:00
Brad King ed6be501de Fix CHECK_(C|CXX)_COMPILER_FLAG for Clang (#12394)
This compiler warns and returns 0 for unrecognized flags.  We fix the
compiler flag check macros by looking for a warning in the output.
2011-08-08 12:53:17 -04:00
Stephen Kelly def0a54e0a Handle the case where the user changes the DEFINE_SYMBOL property.
This eases porting of KDE code.
2011-08-08 02:08:10 +02:00
Stephen Kelly 30880707c0 Add the GenerateExportMacro with unit tests.
Reviewed-by: Marcus D. Hanwell <marcus.hanwell@kitware.com>
2011-08-07 18:33:47 +02:00
Alex Neundorf c9761de7ad Improve documentation for WriteBasicConfigVersionFile.cmake
Alex
2011-08-05 23:01:07 +02:00
Alex Neundorf 208bb9009b Set UNSUITABLE instead of not COMPATIBLE
Alex
2011-08-05 22:42:57 +02:00
Alex Neundorf 6899e58fa0 Also search for libxkbfile, XSync and SM include dir
Alex
2011-08-03 22:33:18 +02:00
Alex Neundorf fe6bb7af2a Remove trailing whitespace
Alex
2011-08-03 22:32:28 +02:00
Rolf Eike Beer f46236949e remove extra output message from FindJava.cmake
FPHSA already prints out the version number. And this line was printed on
every subsequent CMake run.
2011-08-03 09:40:10 -04:00
Brad King ad542d821d XL: Fix old VisualAge branding of Fortran compiler
Commit 6d434ee6 (Split XL compiler information files, 2009-09-30)
added Platform/AIX-(XL|VisualAge)-(C|CXX|Fortran).cmake modules
to support the old and new compiler branding for all languages.
Add the "AIX-VisualAge-Fortran" combination that was left out
accidentally.
2011-08-02 17:26:29 -04:00
David Cole 80ef23d83f Merge topic 'CodeBlocksIncludeDirsAndDefines'
e2e8c0a Also put builtin include dirs into CodeBlocks project file
92c0dc5 Remove useless line of code
a5683f8 Patch by Campbell Barton: puts definitions into C::B project file
2011-08-02 15:11:58 -04:00
David Cole 6a11727154 Merge topic 'FindGIFAndFreetypeCleanupAndEnhancements'
81a70c6 Add basic version check for giflib
2462f65 FindGif: add giflib4 as one more name for the library under Windows
f97620e FindGIF/FindFreetype.cmake: remove standard search paths from find-calls
7c38523 Strip trailing whitespace
2011-08-02 15:11:53 -04:00
David Cole 737be8f6f6 Merge topic 'FindPostgresqlImprovements'
825c457 FindPostgreSQL: fix PATH_SUFFIXES, better output for FPHSA
e159bb5 Mark the results from find() as advanced
da1bdaf Use FPHSA(), remove unnecessary stuff and don't recommend link_directories()
217d068 More PATH_SUFFIXES for finding Postgresql and also search catalog/pg_type.h
2011-08-02 15:11:45 -04:00
David Cole bd54141d5d Merge topic 'fix-11866-add-watcom-sys-libs'
ff59716 Watcom: Use correct args for execute_process call (#11866)
80769cd Add Watcom support to InstallRequiredSystemLibraries (#11866)
2011-08-02 15:11:35 -04:00
David Cole ab24bdeecc Merge topic 'cpack-nsis-multi-installs'
e6d2bcf CPack/NSIS: Fix reinstall and multiple install issues when using components.
2011-08-02 15:10:47 -04:00
David Cole b01167161c Merge topic 'fix-12245-add-wlib--c-flag'
a0974ae Watcom: Add -c flag to wlib calls (#12245)
2011-08-02 15:10:21 -04:00
David Cole 7ef2f53d02 Merge topic 'qt4-use-check-cxx-symbol'
de30173 Remove C compiler requirement from FindQt4.cmake
2011-08-02 15:10:05 -04:00
David Cole 996eb50364 Merge topic 'RemoveDebugOutput'
6b71bf8 Remove debug output from CheckSymbolExists
2011-08-02 15:10:01 -04:00
David Cole be3ac14ac7 Merge topic 'add-flag-detection-regex'
b7f3f7c Add fail regex to detect supported warning flags correctly.
2011-08-02 15:09:49 -04:00
David Cole 2c7b38afa6 Merge topic 'FeatureSummaryImprovements'
b62349c FeatureSummary.cmake: update documentation
f366cf8 FeatureSummary.cmake: cosmetics
f407bb5 FeatureSummary.cmake: only higher TYPEs can override previous TYPEs
02d47ab FeatureSummary.cmake: error out when a REQUIRED package is missing
91a1527 FeatureSummary.cmake: add INCLUDE_QUIET_PACKAGES keyword
0671a02 FeatureSummary.cmake: remove "comment" field
aae13f4 Extend FeatureSummary: add PURPOSE of package and TYPE
2011-08-02 15:09:41 -04:00
Will Dicharry ad218e435d Added HDF5 high level Fortran bindings to available components. 2011-08-02 10:48:14 -06:00
Alex Neundorf e2e8c0a412 Also put builtin include dirs into CodeBlocks project file
Refactor code from CMakeFindEclipseCDT4.cmake so it can be used
alkso for CodeBlocks, and move it into new file
CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake.

Alex
2011-08-02 01:46:39 +02:00
Alex Neundorf 81a70c6ad2 Add basic version check for giflib
This is used e.g. in KDE, there on Solaris an old version of giflib
was found (version 3), which could be detected by checking for the
UserData member variable:
http://websvn.kde.org/?view=revision&revision=545738

Alex
2011-08-02 00:30:58 +02:00
Alex Neundorf bb03c2dd3a Really fix copyright notice
Alex
2011-08-01 23:57:32 +02:00
Alex Neundorf d50a61a1ae Fix copyright notice
Alex
2011-08-01 23:44:17 +02:00
Alex Neundorf 4ba09bc6a2 Add some tests for write_basic_config_version_file()
Alex
2011-08-01 23:29:27 +02:00
Alex Neundorf 02b1e4b96a Add example to documentation
Alex
2011-08-01 23:03:47 +02:00
Alex Neundorf d216a67e4a Provide macro write_basic_config_version_file()
This macro can be used to generate basic version files which can be
installed along a Config.cmake file to provide versioning support.

This (3rd try) is implemented using a macro, which maps
the COMPATIBILITY mode to a filename and configure_file()s the
resulting file.

Alex
2011-08-01 22:59:18 +02:00
Alex Neundorf 825c45739d FindPostgreSQL: fix PATH_SUFFIXES, better output for FPHSA
Alex
2011-08-01 22:32:21 +02:00
Alex Neundorf e159bb5bf8 Mark the results from find() as advanced
Alex
2011-08-01 22:32:18 +02:00
Alex Neundorf da1bdaf16a Use FPHSA(), remove unnecessary stuff and don't recommend link_directories()
-don't recommend using link_directories()
-don't do the extra if(EXISTS) checks, since the code is already inside a if(PostgreSQL_FOUND)

Alex
2011-08-01 22:30:47 +02:00
Alex Neundorf 217d068b6d More PATH_SUFFIXES for finding Postgresql and also search catalog/pg_type.h
Patch from Jaroslaw Staniek, reviewed by Andrew Maclean

Alex
2011-08-01 22:30:20 +02:00
David Cole ff59716351 Watcom: Use correct args for execute_process call (#11866)
I botched an exec_program to execute_process translation on Friday.
RESULT_VARIABLE is the correct argument to execute_process.
2011-08-01 15:29:13 -04:00
Alex Neundorf 6b71bf8876 Remove debug output from CheckSymbolExists
...which shouldn't have been committed.

Alex
2011-07-29 23:27:28 +02:00
Clinton Stimpson e6d2bcfde2 CPack/NSIS: Fix reinstall and multiple install issues when using components.
Fix NSIS template to more thoroughly use CPACK_PACKAGE_INSTALL_REGISTRY_KEY.
This allows different versions of software to have a separate sections in the
registry to keep track of things (installed components, and uninstall stuff).

Change default of CPACK_PACKAGE_INSTALL_REGISTRY_KEY to follow the value of
CPACK_PACKAGE_INSTALL_DIRECTORY so if an installation overwrites another installation,
the proper registry entries are more likely to be overwritten.

Fix CPack/NSIS generator to not insert code in the NSIS template to skip installation
of already installed components.  This enables a repair like behavior and also enables
installing patch releases on top of an older installation.
2011-07-29 12:23:22 -06:00
David Cole a0974ae2e6 Watcom: Add -c flag to wlib calls (#12245)
Allows wlib to generate proper exports if two routines have
the same spelling, but different case (like Scale and scale).

Thanks to J Decker for the patch.
2011-07-29 13:52:23 -04:00
David Cole 80769cdd1e Add Watcom support to InstallRequiredSystemLibraries (#11866)
Also adds code to determine the version of the Watcom compiler
in use.

Thanks to J Decker for the patch.
2011-07-29 13:28:54 -04:00
Clinton Stimpson de30173d5b Remove C compiler requirement from FindQt4.cmake
Use the new check_cxx_symbol_exists instead of check_symbol_exists.
Also remove a debug message from CheckSymbolExists.cmake.
2011-07-28 12:15:46 -06:00
David Cole b7f3f7cdb6 Add fail regex to detect supported warning flags correctly.
On Apple's gcc, the compiler emits a warning such as "warning: command
line option "-Wno-deprecated" is valid for C++/ObjC++ but not for C"
when it is passed that flag on its command line.

When testing for that flag with a plain C file, we should report that
the flag is unsupported for C files. The new FAIL_REGEX option added
here produces this behavior.
2011-07-27 15:01:50 -04:00
Alex Neundorf 2462f65085 FindGif: add giflib4 as one more name for the library under Windows
Alex
2011-07-27 20:40:39 +02:00
Alex Neundorf f97620e733 FindGIF/FindFreetype.cmake: remove standard search paths from find-calls
In both files find_path() and find_library() are called with multiple
additional search PATHS which are already anyway part of the default
search dirs, so it should be safe to remove them.

Alex
2011-07-27 20:34:09 +02:00
Alex Neundorf 7c38523470 Strip trailing whitespace
Alex
2011-07-27 20:32:59 +02:00
Brad King 5047a52d1c Merge topic 'search-for-aspell'
bb3a438 Search for the ASPELL executable
2011-07-26 14:57:53 -04:00
Brad King df7a95629c Merge topic 'qt4-apple-framework-fix'
702538e Qt4: Fix reference of undefined variable when detecting frameworks on Mac OS X
2011-07-26 14:57:48 -04:00
Brad King c2b2968825 Merge topic 'cross-qt4-find-includes'
0ae8a34 Add qt4/QtCore to help find Qt headers when cross-compiling.
2011-07-26 14:57:44 -04:00
Brad King a234b3a4fc Merge topic 'CheckCXXSymbolExists'
757a6a0 Add CheckCXXSymbolExists.cmake, so this can be used also for C++
2011-07-26 14:57:19 -04:00
Brad King ccd4c8b202 Merge topic 'PushCheckState'
d64ba0b Fix copyright notice test
1325260 Add macros cmake_push/pop_check_state() as discussed on the list.
2011-07-26 14:57:05 -04:00
Brad King 0cfd25681c Merge topic 'qt4-no-build-type'
5a2b208 Add -DQT_NO_DEBUG if no build type is specified so Qt plugins will work.
2011-07-26 14:56:30 -04:00
Brad King e25c0d046a Merge topic 'FindSubversion-non-interactive-issue-12304'
0c6e852 FindSubversion: Invoke svn non-interactively (#12304)
2011-07-26 14:56:00 -04:00
Brad King 7453581c78 Merge topic 'FindMPI-try-regular-compiler'
8756e77 Fix issues with removing try_compile input file.
e00d2c4 Try regular compiler when no MPI compiler.
2011-07-26 14:55:48 -04:00
Brad King 4a18c30a42 Merge topic 'vs-ia64'
aed92cc Add VisualStudio 9 and 10 generators for Itanium platform
d44c68f VS: Factor Find64BitTools out of Win64 generator to parent
2011-07-26 14:54:56 -04:00
Brad King 2b16232d45 Merge topic 'asn_java_support'
1417a55 Java: Fix documentation format and indentation
0b7627d Java: Use set_property/get_property for target variables.
b01a505 Java: Create correct jar archive dependencies.
f99c312 Java: Added some dependency magic to avoid recompilations.
f3233ba Java: Create java_class_filelist only if it does't exist.
a22ed3d Tests: Check for the new Java exeutable variables.
c177c8e Tests: Java tests should test UseJava.cmake
5c2106c Modules: Added CMake Java support.
a4b6275 FindJava: Find missing java development executables.
2011-07-26 14:54:33 -04:00
Clinton Stimpson 702538eaa3 Qt4: Fix reference of undefined variable when detecting frameworks on Mac OS X 2011-07-25 12:30:30 -06:00
Arnaud Gelas bb3a4381bb Search for the ASPELL executable 2011-07-22 17:04:27 -04:00
Clinton Stimpson 0ae8a3405b Add qt4/QtCore to help find Qt headers when cross-compiling. 2011-07-22 13:38:36 -06:00
Alex Neundorf b62349cc60 FeatureSummary.cmake: update documentation
Alex
2011-07-17 21:23:13 +02:00
Alex Neundorf f366cf8a86 FeatureSummary.cmake: cosmetics
-move the compat function to the bottom of the file
-make all except one endif() empty

Alex
2011-07-17 20:47:11 +02:00
Alex Neundorf f407bb5da2 FeatureSummary.cmake: only higher TYPEs can override previous TYPEs
This way e.g. a REQUIRED cannot become OPTIONAL, only the other way round

Alex
2011-07-17 20:41:09 +02:00
Alex Neundorf 02d47abe58 FeatureSummary.cmake: error out when a REQUIRED package is missing
Alex
2011-07-17 20:26:49 +02:00
Alex Neundorf 91a1527735 FeatureSummary.cmake: add INCLUDE_QUIET_PACKAGES keyword
Now found packages are not stored in ENABLED/DISABLED_FEATURES
anymore, but always in PACKAGES_FOUND/NOT_FOUND.
ENABLED/DISABLED_FEATURES is now only used via
ADD_FEATURE_INFO(), e.g. for stuff set via option().

Alex
2011-07-17 17:48:00 +02:00
Alex Neundorf 0671a02920 FeatureSummary.cmake: remove "comment" field
What was given as comment to set_package_info(), now goes into
the PURPOSE field. It was not clear what the comment should contain,
with the PURPOSE this is much clearer now.

Alex
2011-07-17 16:03:38 +02:00
Alex Neundorf aae13f4c8e Extend FeatureSummary: add PURPOSE of package and TYPE
With the PURPOSE a project can state what the package in question
is used for in the project (as opposed to describing what the package
does in general).
TYPE can be one of OPTIONAL (default)
                   RUNTIME - not needed for building, only at runtime
                   RECOMMENDED - as OPTIONAL, but you should really have it
                   REQUIRED - cmake will fail if one of these is not found

This can be set using the new function set_package_properties()

Alex
2011-07-17 15:57:50 +02:00
Alex Neundorf 757a6a091c Add CheckCXXSymbolExists.cmake, so this can be used also for C++
This commit splits check_symbol_exists() so that the actual
implementation can be also used by check_cxx_symbol_exists()

Alex
2011-07-08 21:09:32 +02:00
Alex Neundorf d64ba0b8b4 Fix copyright notice test
Alex
2011-07-07 22:26:07 +02:00
Alex Neundorf 1325260a66 Add macros cmake_push/pop_check_state() as discussed on the list.
This patch adds two macros cmake_push_check_state() and
cmake_pop_check_state(), which can be used to save and restore
the contents of the CMAKE_REQUIRED_xxx variables.

Alex
2011-07-07 22:09:44 +02:00
Alex Neundorf e4f603b698 Implement find-package mode of cmake
In find-package mode, cmake executes Modules/CMakeFindPackage.cmake,
which calls find_package(), and this is then evaluated in cmake.cxx,
which prints an appropriate message to stdout, so it can be used
e.g. in a normal Makefile:

$ /opt/cmake-HEAD/bin/cmake --find-package -DNAME=JPEG
 -DCOMPILER_ID=GNU -DLANGUAGE=C -DMODE=EXIST
JPEG found.
$ /opt/cmake-HEAD/bin/cmake --find-package -DNAME=JPEG
 -DCOMPILER_ID=GNU -DLANGUAGE=C -DMODE=COMPILE

$ /opt/cmake-HEAD/bin/cmake --find-package -DNAME=JPEG
 -DCOMPILER_ID=GNU -DLANGUAGE=C -DMODE=LINK
-rdynamic -ljpeg

Alex
2011-07-02 23:14:28 +02:00
Brad King d2430b2ffd Merge topic 'revert-fixbug_0004147'
fc04531 Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake"
2011-06-28 16:27:06 -04:00
Brad King fc045318f8 Revert "Add a new function SWIG_GET_WRAPPER_DEPENDENCIES to UseSWIG.cmake"
This reverts commit 1088b0278e.

Wrapper dependency scanning (fix for #4147) does not work at CMake
configuration time if an input file is provided by a custom command
(regression #12307).  Revert to original behavior until a solution is
found.
2011-06-27 13:36:01 -04:00
Brad King 4ccf44bcb2 Merge topic 'use_devenv_forvs2010'
8555c2b Look for VCExpress as a possible build tool as well as devenv.
ed0075b Use relative paths for custom command inputs.
38368d5 Revert "With very long file names, VS 2010 was unable to compile files."
8cd66dc Use devenv instead of msbuild for vs2010.
2011-06-24 17:32:03 -04:00
Aaron C. Meadows 0c6e8524fe FindSubversion: Invoke svn non-interactively (#12304)
Otherwise Subversion_WC_LOG hangs if credentials are not set.
2011-06-24 15:41:43 -04:00
Clinton Stimpson 5a2b208617 Add -DQT_NO_DEBUG if no build type is specified so Qt plugins will work. 2011-06-23 10:08:28 -06:00
Todd Gamblin 8756e77fb4 Fix issues with removing try_compile input file.
- Don't remove input file
- Put output in ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}
- Remove try_compile variable from the cache after using
2011-06-21 14:02:01 -07:00
Bill Hoffman 8cd66dc0d2 Use devenv instead of msbuild for vs2010. 2011-06-21 15:58:11 -04:00
Todd Gamblin e00d2c4d51 Try regular compiler when no MPI compiler.
If FindMPI can't interrogate any of the available compilers, it attempts to compile simple MPI
programs with CMAKE_${lang}_COMPILER.  If this works, it uses that as MPI_${lang}_COMPILER.

This allows MPI to be discovered on Cray XT/XE systems, where modules are used and cc, CC, and ftn
compilers *are* MPI compilers.
2011-06-21 10:14:01 -07:00
Brad King ddd6e8ed55 Merge topic 'FindJNI-Fedora-issue-12276'
93fc629 FindJNI: Search in Fedora arch-specific JVM location (#12276)
2011-06-20 15:14:07 -04:00
Brad King 26c449d1d9 Merge topic '11279_vs10sp1_and_improvements'
effb6bb Detect VS 2010 SP1, faster and more robust detection
2011-06-20 15:13:57 -04:00
Brad King 2822bd184d Merge topic 'doc-spelling-formatting-issue-12287'
d66459b Documentation: Fix spelling / formatting errors (#12287)
2011-06-20 15:13:37 -04:00
Brad King 25b0b777f6 Merge topic 'FindBoost_bugfixes_060911'
974374a FindBoost: Also search for 1.46.1
f26d1cf FindBoost: Fixes #12188
2011-06-20 15:13:25 -04:00
Brad King 2ae5a43fa7 Merge topic 'FindSWIG-find_program-NAMES-issue-12280'
03809b1 FindSWIG: Use NAMES in find_program directives (#12280)
2011-06-20 15:12:55 -04:00
Andreas Schneider 1417a55754 Java: Fix documentation format and indentation 2011-06-20 10:01:50 -04:00
Andreas Schneider 0b7627df0a Java: Use set_property/get_property for target variables. 2011-06-20 10:00:11 -04:00
Matej Hribernik aed92ccea6 Add VisualStudio 9 and 10 generators for Itanium platform 2011-06-20 08:31:13 -04:00
Modestas Vainius d66459be8b Documentation: Fix spelling / formatting errors (#12287)
The patch fixes the following problems spotted by lintian:

W: cmake-data: manpage-has-errors-from-man usr/share/man/man1/cmakemodules.1.gz 2641: warning [p 39, 1.5i]: can't break line
I: cmake-data: spelling-error-in-manpage usr/share/man/man1/cmakeprops.1.gz explict explicit
I: cmake: spelling-error-in-binary usr/bin/cmake explict explicit
I: cmake: spelling-error-in-binary usr/bin/cpack explict explicit
I: cmake: spelling-error-in-binary usr/bin/ctest explict explicit
W: cmake: manpage-has-errors-from-man usr/share/man/man1/cmake.1.gz 7300: warning [p 120, 3.3i]: can't break line
I: cmake: spelling-error-in-manpage usr/share/man/man1/cmake.1.gz explict explicit
I: cmake-curses-gui: spelling-error-in-binary usr/bin/ccmake explict explicit
I: cmake-qt-gui: spelling-error-in-binary usr/bin/cmake-gui explict explicit
2011-06-19 18:08:05 -04:00
Julien Malik 03809b1442 FindSWIG: Use NAMES in find_program directives (#12280)
Without this, regular swig (not 2.0) executable is not found
automatically.

Commit 55b7c87e (Add support for new swig 2.0 application, 2011-03-28)
added support for finding swig 2.0 at the (accidental) expense of not
finding 1.x.  Fix this regression.
2011-06-16 16:10:16 -04:00
Christoph Höger 93fc629adc FindJNI: Search in Fedora arch-specific JVM location (#12276) 2011-06-15 13:18:14 -04:00
Philip Lowman effb6bbfd7 Detect VS 2010 SP1, faster and more robust detection
Patch from Aaron C. Meadows
Adds support for detecting VS 2010 SP1
Also improves performance using CMAKE_CXX_COMPILER if it is available
and for robustness falls back using try_compile() and try_run()
2011-06-15 08:33:40 -04:00
Brad King cc746a6eb7 Merge topic 'library-multiarch-issue-12037'
1ed19bc multiarch: Set CMAKE_LIBRARY_ARCHITECTURE_REGEX for Linux|Hurd|kFreeBSD
52a6ed2 Test find_package multiarch support (#12037)
b41ad3b Teach find_(library|package) about Linux multiarch (#12037)
2011-06-14 13:23:51 -04:00
Brad King 9c569bea2d Merge topic '10997_PROTOBDUF_GENERATE_CPP_returns_wrong_path'
3982603 10997: PROTOBUF_GENERATE_CPP now supports proto files outside current dir
2011-06-14 13:23:43 -04:00
Brad King 414c35ebb2 Merge topic 'qt4-import-targets-mac'
e7f05d9 Add imported targets support for frameworks on Mac.
2011-06-14 13:23:37 -04:00
Brad King a652af77ce Merge topic 'qt4-useqt-module-deps'
5f983d1 Qt4: complete module dependencies in UseQt4.cmake
2011-06-14 13:23:33 -04:00
Brad King 0373e08f15 Merge topic 'gnu-isystem-flag-issue-12258'
33f5a83 GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value (#12258)
2011-06-14 13:23:28 -04:00
Philip Lowman 3982603c65 10997: PROTOBUF_GENERATE_CPP now supports proto files outside current dir 2011-06-14 09:25:16 -04:00
Clinton Stimpson 5f983d1706 Qt4: complete module dependencies in UseQt4.cmake 2011-06-13 17:37:26 -06:00
Clinton Stimpson e7f05d9759 Add imported targets support for frameworks on Mac. 2011-06-13 17:21:41 -06:00
Brad King 33f5a83a5d GNU: Fix CMAKE_INCLUDE_SYSTEM_FLAG_<lang> value (#12258)
Fix typo introduced by commit e28c16b4 (Split GNU compiler information
files, 2009-12-02).

Reported-by: Campbell Barton <ideasman42@gmail.com>
Suggested-by: Michael Hertling <mhertling@online.de>
2011-06-13 17:54:36 -04:00
Modestas Vainius 1ed19bcb25 multiarch: Set CMAKE_LIBRARY_ARCHITECTURE_REGEX for Linux|Hurd|kFreeBSD
* Fix linux CMAKE_LIBRARY_ARCHITECTURE_REGEX to support armel-linux-gnueabi.
* Add CMAKE_LIBRARY_ARCHITECTURE_REGEX on kFreeBSD.
* Add CMAKE_LIBRARY_ARCHITECTURE_REGEX on GNU (Hurd).

Also regex is improved to support quadlets.  Even if I have not seen this
in the wild yet, reportedly they are possible.
2011-06-13 11:12:23 -04:00
Eric NOULARD 2af80c76ee Add some more Specs file tag handling. 2011-06-12 12:49:44 +02:00
Eric NOULARD 05720c75c1 CPackRPM: Enhance documentation 2011-06-12 12:12:24 +02:00
Philip Lowman 974374a9cd FindBoost: Also search for 1.46.1 2011-06-09 23:23:41 -04:00
Philip Lowman f26d1cf154 FindBoost: Fixes #12188
Workaround an issue where users wanted to use Boost_LIBRARIES with the
install() command and debug/optimized keywords were interfering.  Now
debug/optimized keywords are removed if the release & debug library
are the same.
2011-06-09 23:20:18 -04:00
Brad King b41ad3b399 Teach find_(library|package) about Linux multiarch (#12037)
Implement support for multiarch as specified here:

  http://wiki.debian.org/Multiarch
  https://wiki.ubuntu.com/MultiarchSpec

Detect the <arch> part of <prefix>/lib/<arch> from the implicit library
search path from each compiler to set CMAKE_<lang>_LIBRARY_ARCHITECTURE.
Define CMAKE_LIBRARY_ARCHITECTURE using one of these values (they should
all be the same).  Teach the find_library and find_package commands to
search <prefix>/lib/<arch> whenever they would search <prefix>/lib.
2011-06-08 10:04:44 -04:00
Brad King 40792a1a15 Merge topic 'fix-12034-fixup-bundle-with-non-dotapp-exe'
51e16c0 BundleUtilities: Avoid test on Watcom dashboards (#12034)
41f962a Revert "BundleUtilities: Run test on Windows if either MSVC or dumpbin was found."
e17135e BundleUtilities: Add rpath to loadable modules in test.
8064044 BundleUtilities: Print reason for not loading module.so
f3de459 BundleUtilities: Run test on Windows if either MSVC or dumpbin was found.
900bf98 BundleUtilities: Disable running test on Windows unless using MSVC.
fa4dc08 BundleUtilities: Fix issues with custom target DEPENDS in test (#12034)
e40b79e BundleUtilities: Fix test when using xcode (#12034)
b68d3dc BundleUtilities: Fix regex to extract dependents from ldd (#12034)
7ac7b43 BundleUtilities: Work w/ non .app exes on Mac (#12034)
2011-06-07 14:06:09 -04:00
Brad King 43d3048582 Merge topic 'fix-BundleUtilities-cryptic-error-message'
8f0667c BundleUtilities: Avoid a cryptic and unhelpful error message
2011-06-07 14:05:57 -04:00
David Cole 8f0667c113 BundleUtilities: Avoid a cryptic and unhelpful error message
When the path to "resolved_embedded_item" was shorter than
the path to the bundle being fixed up, fixup_bundle would
fail with a cmake error like:

  "string end index: 110 is out of range 0 - 85"

Detect when the path of resolved_embedded_item is too short
to be embedded in the bundle, and report the proper error
message, so the poor developer reading it has a snowball's
chance of actually fixing the issue.
2011-06-02 11:55:09 -04:00
Brad King 87b8b3c0a0 Merge topic 'XL-Fortran-moddir-issue-12246'
3bb8566 XL: Place Fortran modules with -qmoddir= flag (#12246)
2011-06-02 11:29:22 -04:00
Brad King e164bb1e76 Merge topic '12128_FindProtobuf_module_behavior_under_Windows_is_annoying'
517837f Fix , to - in Copyright message so it passes CMake.ModuleNotices test
162f3fb Merge branch 'master' of git://public.kitware.com/cmake into 12128_FindProtobuf_module_behavior_under_Windows_is_annoying
ca000a0 FindProtobuf: Better MSVC support, Searching for protobuf lite
2011-06-02 11:28:59 -04:00
Brad King 18c703db66 Merge topic 'hdf5-module-bug-fix'
e38216c Remove unnecessary mark_as_advanced from FindHDF5.
93ba19e FindHDF5 ensures good link lines when libraries are duplicated.
0584701 Fix for bug 11752, mixed debug and release libraries.
4e12284 Use HDF5_FOUND to control autoconf and CMake built FindHDF5.
2ba826e Use CMAKE_CURRENT_LIST_DIR to locate FindPackageHandleStandardArgs.
3978f32 Add logic for CMake built HDF5 install.
063ac87 HDF5 high level library is a find COMPONENT now.
34ea179 Modified the FindHDF5.cmake file to locate the Fortran bindings.
2011-06-02 11:28:50 -04:00
Brad King 3bb8566868 XL: Place Fortran modules with -qmoddir= flag (#12246)
Suggested-by: Luis Kornblueh <luis.kornblueh@zmaw.de>
2011-06-01 12:00:48 -04:00
Clinton Stimpson b68d3dc1b5 BundleUtilities: Fix regex to extract dependents from ldd (#12034)
This regex works with spaces in the path.
2011-05-31 13:12:28 -04:00
Clinton Stimpson 7ac7b437b8 BundleUtilities: Work w/ non .app exes on Mac (#12034)
Also add a test of BundleUtilities including an exe,
some shared libs, a plugin, and a framework-style lib.

This test presently runs (and this functionality works)
on Linux, Mac and Windows.

For now, the framework-style lib is built as a plain old
shared lib because there is another yet-unresolved issue
with local frameworks without rpaths on the Mac.
2011-05-27 16:11:43 -04:00
Philip Lowman 517837fb47 Fix , to - in Copyright message so it passes CMake.ModuleNotices test 2011-05-26 02:21:58 -04:00
Philip Lowman 162f3fb413 Merge branch 'master' of git://public.kitware.com/cmake into 12128_FindProtobuf_module_behavior_under_Windows_is_annoying 2011-05-25 22:10:19 -04:00
Philip Lowman ca000a0948 FindProtobuf: Better MSVC support, Searching for protobuf lite
Add support for finding debug libraries
Add support for searching Google provided MSVC project dir structure for libs
Add support for finding Protobuf "Lite" libraries
2011-05-25 22:01:49 -04:00
Will Dicharry e38216c6e9 Remove unnecessary mark_as_advanced from FindHDF5. 2011-05-25 13:19:26 -06:00
Will Dicharry 93ba19e070 FindHDF5 ensures good link lines when libraries are duplicated.
Duplicates must be removed from the beginning of the link libraries
to ensure unresolved symbols can be found.
2011-05-25 12:53:28 -06:00
Will Dicharry 0584701ae4 Fix for bug 11752, mixed debug and release libraries. 2011-05-25 12:38:54 -06:00
Will Dicharry 4e12284424 Use HDF5_FOUND to control autoconf and CMake built FindHDF5. 2011-05-25 12:34:21 -06:00
Will Dicharry 2ba826e060 Use CMAKE_CURRENT_LIST_DIR to locate FindPackageHandleStandardArgs. 2011-05-24 12:53:49 -06:00
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