Commit Graph

3189 Commits

Author SHA1 Message Date
David Cole 54730d7604 Merge topic 'generate_export_header'
dbd776d Don't put what some compilers consider junk at the end of the line.
93d8d19 Add some more unit tests.
2011-09-07 15:38:00 -04:00
David Cole 4558e6eeee Merge topic 'vs-compiler-id'
38aab37 Set CMAKE_<lang>_COMPILER_ID for VS generators
2011-09-07 15:37:37 -04:00
David Cole d9ad72542a Merge topic 'fortran-format'
90efed6 Xcode: Honor Fortran_FORMAT target and source file property
5c0c635 Fortran: Add support for free- and fixed-form flags
47a0c75 VS: Map Fortran free- and fixed-format flags to IDE options
d6e2a06 VS: Map per-source Fortran flags to IDE options
2011-09-07 15:37:27 -04:00
David Cole a239fb6c16 Merge topic 'FindLAPACK_FindBLAS'
0cc8f05 FindBLAS/LAPACK fixes
145de0a FindBLAS/LAPACK fixes
2011-09-07 15:36:52 -04:00
David Cole 56ce5dec8b Merge topic 'asn_java_add_more_java_archives'
e01b98e Modules: Add support for more java archives in add_jar().
2011-09-07 15:36:41 -04:00
David Cole 5686515b6f Merge topic 'FindPythonInterp-Refactoring'
1c2508a Use FIND_PACKAGE_HANDLE_STANDARD_ARGS second mode
d179500 Update documentation of FindPythonInterp.cmake
4fd1e28 Determine python version
20980ef Search for the installed python interpreter first
2011-09-07 15:36:18 -04:00
David Cole accdb855c2 Merge topic 'fix-message-details'
cd81da3 FindPackageMessage: Eliminate new lines using REGEX REPLACE
0ae78b7 FindPackageMessage: Eliminate new lines in cache entries
2011-09-07 15:35:54 -04:00
Stephen Kelly dbd776dde7 Don't put what some compilers consider junk at the end of the line. 2011-09-04 22:06:02 +02:00
David Cole cd81da30f7 FindPackageMessage: Eliminate new lines using REGEX REPLACE
Re-fix problem exposed by recent commit to FindPythonInterp.
If the find "details" has new lines in it, then replace them
with the empty string so that the string may be saved as a
cache entry that can be re-read next time CMake runs.

Use REGEX REPLACE, and replace with an empty string, eliminating
the problem characters, so that we may easily extend this to
include additional problem characters in the future if necessary.
2011-09-02 14:37:49 -04:00
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