Commit Graph

2199 Commits

Author SHA1 Message Date
Brad King 700da5f266 Document usage of the include(CTest) module
Previously this module gave only very brief documentation.  We extend
the module's documentation to describe CTestConfig.cmake, interaction
with dashboard scripts, and the CTEST_USE_LAUNCHERS option.
2009-12-04 13:44:19 -05:00
David Cole 0b38bb4c53 Fix issue #2336 - honor the -C arg to ctest. Honor it for all stages of running -D dashboards from the command line and running ctest_configure, ctest_build and ctest_test commands in -S scripts. Also, allow a script to change it by setting the CTEST_CONFIGURATION_TYPE variable: allows for multiple configuration build/test cycles within one script. Add a new signature for the cmake command build_command that accepts CONFIGURATION as one argument. The original build_command signature is still there, but now marked as deprecated in the documentation. Of course... also add CTestConfig tests to verify that -C is honored for -D dashboards and -S scripts. 2009-12-04 12:09:01 -05:00
Brad King af14f1f2c3 Remove GNU-specific flags from Linux.cmake
We remove the shared library compile/link flags "-fPIC" and "-shared"
because they are not provided by all compilers on Linux.  This allows us
to drop code from the Linux-XL-*.cmake files that erases the bad flags.
All other supported compilers already provide their correct flags for
Linux in their own platform information files.
2009-12-04 10:22:30 -05:00
Brad King c106cb2e2f Generalize support for Portland Group Compiler
We factor flags from Platform/Linux-PGI-Fortran.cmake into language
independent helper modules

  Compiler/PGI.cmake
  Platform/Linux-PGI.cmake

and invoke the macros from

  Compiler/PGI-<lang>.cmake
  Platform/Linux-PGI-<lang>.cmake

This enables general support for the PGI compilers.
2009-12-04 10:21:57 -05:00
Brad King 2d948e94bf Remove duplicate info from Linux SunPro info files
The CMAKE_DL_LIBS variable is set platform-wide by Linux.cmake so we do
not need to duplicate it in Linux-SunPro-<lang>.cmake files.
2009-12-04 09:20:59 -05:00
Brad King e208397976 Consolidate Linux Intel compiler information
We consolidate duplicate code from Platform/Linux-Intel-<lang>.cmake
files into a macro defined in Platform/Linux-Intel.cmake.
2009-12-04 09:20:24 -05:00
Brad King 77ded39645 Fix GNU C and Fortran flags on SunOS
The commit "Split GNU compiler information files" intended to move GNU
flags from the platform-wide Platform/SunOS.cmake module into

  Platform/SunOS-GNU-<lang>.cmake

using a helper module Platform/SunOS-GNU.cmake to consolidate flags.
However, it accidentally put Fortran flags in the C language module and
left out the Fortran module altogether.  This fixes those mistakes.
2009-12-04 08:51:46 -05:00
Brad King 3e37ca8ecc Move GNU flags from SunOS.cmake to SunOS-GNU.cmake
The GNU-specific link-type flags do not belong in the platform-wide
file.
2009-12-02 16:58:52 -05:00
Brad King 4d72006bd6 Reduce duplication in Platform/<os>.cmake files
Several platform-wide linker flag variables are defined in
Modules/Platform/<os>.cmake files for C and then copied by the
Modules/CMake<lang>Information.cmake file for each language.
We now use this approach for the variables

  CMAKE_EXE_EXPORTS_${lang}_FLAG
  CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG
  CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS

to avoid duplication for multiple languages in each platform file.
2009-12-02 15:17:53 -05:00
Brad King 9daa4a6c3f Remove CMAKE_SHARED_MODULE_RUNTIME_${lang}_FLAG
This platform configuration variable is unused.  Modules are built using
the value of CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG.
2009-12-02 15:17:32 -05:00
Brad King 58d6057a52 Fix OS X dylib and module GNU flags
The commit "Split GNU compiler information files" broke the settings of

  CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS
  CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS

and started using just "-shared" for them.  This worked when tested on newer
Mac machines, but older ones really need "-dynamiclib" and "-bundle" (which are
the documented flags anyway).
2009-12-02 15:09:03 -05:00
Brad King aff3147917 Modernize GNU compiler info on Windows
This moves GNU compiler info on Windows into new-style modules

  Platform/Windows-GNU-<lang>.cmake

using language-independent helper module

  Platform/Windows-GNU.cmake

to define macros consolidating the information.
2009-12-02 11:27:59 -05:00
Brad King e28c16b482 Split GNU compiler information files
This moves GNU compiler flags into new-style modules

  Compiler/GNU-<lang>.cmake
  Platform/<os>-GNU-<lang>.cmake

We use language-independent helper modules

  Compiler/GNU.cmake
  Platform/<os>-GNU.cmake

to define macros consolidating the information.
2009-12-02 09:52:00 -05:00
Brad King 27873a48d7 Use one arch for 1.4-compatible check_type_size
The CMakeBackwardCompatibilityC module provides some try-compile results
that were automatically provided by CMake 1.4.  When performing the
checks for OS X universal binaries we just pick one architecture to get
through the checks without error.  Since CMake 1.4 did not support any
universal binaries, projects that want them should not depend on this
compatibility module anyway.
2009-12-01 17:35:39 -05:00
James Bigler bbfcb198f8 Fix #9970: Use execute_process instead of deprecated exec_program. 2009-12-01 16:28:26 -05:00
Brad King 1f06c33f8e Drop -rdynamic from Linux build rules
This is a GNU-specific option that should not be specified for all
compilers on Linux.  It tells the GNU compiler to pass -export-dynamic
to the linker to export symbols from executables for use by plugins.
Since we provide the ENABLE_EXPORTS target property to do the same thing
in a cross-platform way, there is no need to pass -rdynamic always.

Since the option is not useful for GNU tools and breaks other tools on
Linux we simply remove it from CMAKE_SHARED_LIBRARY_LINK_<lang>_FLAGS.
This also allows us to stop setting the variable in other Linux compiler
files just to erase the bad flag.

See issue #9985.
2009-12-01 14:25:21 -05:00
James Bigler c9235c0159 Don't allow -G -M on CUDA versions less than 3.0. 2009-11-30 17:05:18 -05:00
Brad King 4f43c1f276 Singly-quote target names for Watcom linker
The Watcom tools do their own command-line parsing and do not accept
double-quotes.  Instead we single-quote the target output name when
invoking wlink and other Watcom tools.  This fixes support for spaces in
the target output directory path when it is not under the build tree.
2009-11-30 11:16:24 -05:00
Eric Noulard 5b0bbd6c33 CPackRPM:: Fix bug on Open SuSE 11.2 coming from initial fix of bug8972
Eric
2009-11-28 09:57:59 -05:00
Alexander Neundorf 1d9cb15513 also provide QT_DESIGNER_EXECUTABLE and QT_LINGUIST_EXECUTABLE
Alex
2009-11-23 17:53:50 -05:00
Eric Noulard 03a8e912cb CPackRPM: do not forget to include installed symlinks (bug 9927)
Eric
2009-11-22 12:52:47 -05:00
Alexander Neundorf a10198c54e don't use deprecated UsePkgConfig.cmake file in FindLibXslt.cmake, some cosmetics
-use find_package(PkgConfig) instead of include(UsePkgConfig)
-remove the "if already cached make silent" logic, this is already handled by find_package_handle_standard_args()
-remove the if(WIN32) around pkg-config, it shouldn't be necessary

Alex
2009-11-22 05:51:38 -05:00
Bill Hoffman ceac346af6 Fix the build for non-MS compilers. 2009-11-21 09:39:30 -05:00
Bill Hoffman 4430bccc70 Change the way 32/64 bit compiles are detected with MSVC and intel makefile builds. Use the platform ID preprocessor approach. 2009-11-19 21:58:42 -05:00
Brad King 1699836b06 FortranCInterface: Honor language flags in checks
We pass CMAKE_C_FLAGS, CMAKE_CXX_FLAGS, and CMAKE_Fortran_FLAGS through
try_compile() for the FortranCInterface Detect and Verify projects.
This honors user-specified compiler flags for each language, thus
supporting flags that affect the Fortran mangling.
2009-11-19 17:42:48 -05:00
Mathieu Malaterre 7c9e5ba37f Fix FindOpenSSL on mingw. This has been reported to be working by ctrlaltca libero.it on cmake mailing list. 2009-11-19 04:02:36 -05:00
Clinton Stimpson 5fab48aa1c Fix bug #9918, spaces included in QT_LIBRARIES when using QtOpenGL. 2009-11-18 17:35:20 -05:00
Alexander Neundorf 12daac5714 only add -DQT_DLL on Windows, ok by Clinton
Alex
2009-11-17 15:20:58 -05:00
Clinton Stimpson f756b73ac5 Don't search for QtMotif on all platforms - only on X11. 2009-11-17 14:44:33 -05:00
Brad King 184a3418e6 FortranCInterface: Use CMake 2.8.0 behavior
The FortranCInterface module should execute with CMake 2.8.0 behavior
even if policies are set differently by the including project.  In
particular, it makes use of empty list elements and therefore expects
NEW behavior of CMP0007.
2009-11-17 14:33:28 -05:00
Eric Noulard 147aa6bf80 CPackRPM: tolerate redhat specific clean BUILD ROOT pre-build macro (bug 9872)
Eric
2009-11-15 13:55:42 -05:00
Alexander Neundorf 04d3f576b1 Document X11_X11_LIB and X11_X11_INCLUDE_PATH
Alex
2009-11-15 13:26:59 -05:00
Alexander Neundorf 0f457937f4 Split some logic of FindQt4.cmake into separate files, which are included automatically.
Qt4Macros.cmake: all the "public" macros of FindQt4.cmake
Qt4ConfigDependentSettings.cmake: the code for detecting the
Qt-configuration dependent additional libraries, e.g. when linking statically.

There should be no functional changes in this patch.
The patch reduces the length of FindQt4.cmake from 1700 lines to around 1000
lines, which is still long enough, but this should make the file a easier to
handle (and it is similar to what we do in KDE with FindKDE4Internal.cmake
and KDE4Macros.cmake)

Ok by Clinton.

Alex
2009-11-15 13:02:19 -05:00
Will Dicharry eb7e4498c4 Fixed parallel HDF5 detection when HDF5_INCLUDE_DIRS has multiple items. 2009-11-13 13:25:05 -05:00
Will Dicharry 3b8cab3a46 Changed HDF5_INCLUDE_DIR to HDF5_INCLUDE_DIRS to conform to standards. 2009-11-13 13:09:38 -05:00
Dave Partyka 3154cde792 BUG: rename MPI_PACKAGE_DIR and MPI_PREFIX_PATH vars to be prefixed with _ to prevent conflicts with known variable names in other projects. 2009-11-13 10:57:01 -05:00
Dave Partyka 279e4ec33b BUG: fix MPI_BASE_DIR var to be called _MPI_BASE_DIR to prevent conflicts with known variable names in other projects. 2009-11-13 10:52:28 -05:00
Bill Hoffman 6e8aa6cb52 Fix regression with CPACK_NSIS_PACKAGE_NAME, if the project is setting the CPACK_NSIS_DISPLAY_NAME then use that as the default value and not the CPACK_PACKAGE_INSTALL_DIRECTORY, also make sure it escapes \ correctly. 2009-11-12 17:58:37 -05:00
Alexander Neundorf fb8d583054 also search for "qmake-mac", which is installed by macports (http://lists.kde.org/?l=kde-core-devel&m=125797773120427&w=2)
Alex
2009-11-12 12:55:19 -05:00
Eric Noulard 33358ff4ff CPackRPM:: add support for USER specified post/pre [un]install scripts (fix bug 8988)
Eric
2009-11-11 15:55:44 -05:00
Eric Noulard c0814f4155 CPackRPM:: support user supplied "Provides" in spec file (fix bug 9584)
Eric
2009-11-11 15:27:44 -05:00
Alexander Neundorf 35a209b0db Search for the header QtAssistant for QT_QTASSISTANT_INCLUDE_DIR instead of QtAssistantClient
This should not change the result (since both should be in the same
directory), but seems a bit more logical and is also in sync with what is done in the KDE version.

Alex
2009-11-10 13:57:21 -05:00
Eric Noulard 28f54d0b85 CPackRPM:: Support USER supplied spec files (bug 9679)
Eric
2009-11-09 16:17:22 -05:00
Eric Noulard 2362fdc850 Fix CPack bug #9654
Eric
2009-11-09 14:06:36 -05:00
Alexander Neundorf 4a2f809124 Sort documentation entries better and move mark_as_advanced() a bit back
Alex
2009-11-09 12:55:46 -05:00
Alexander Neundorf 054eed5819 -another tiny sync with KDE4, no functional changes
Alex
2009-11-08 13:21:09 -05:00
Alexander Neundorf e325b1a38a some syncing with FindQt4.cmake from KDE, no functional changes
-the mark_as_advanced() calls for the variables coming from qmake are now in
the corresponding section, and not in the section where the include dirs are
foudn

Alex
2009-11-08 13:01:46 -05:00
Bill Hoffman 2fc9c5fb14 Add jom find module 2009-11-06 14:15:36 -05:00
Brad King 56d4619984 Remove non-language implicit link dependencies
Some compilers use implicit link options of the form

  -lcrt*.o
  -lgcc*
  -lSystem      (on Mac)
  -lSystemStubs (on Mac)

that provide system-wide symbols not specific to any language.
These need not be listed explicitly for mixed-language linking.

We teach CMake to remove the above items from the implicit library list
of each language.  This change makes it possible to mix GNU compiler
versions in some cases.
2009-11-05 12:17:08 -05:00
Mathieu Malaterre fdc6638b1c Add more documentation to module 2009-11-04 09:49:58 -05:00