4685 Commits

Author SHA1 Message Date
Daniele E. Domenichelli
425ec4080d FindGTK2: Do not link libfreetype
As discussed on the mailing list, freetype includes used in GTK2
headers libraries do not require to link the library explicitly (even
though it is already linked by GTK2 libraries.

Also remove _GTK2_ADD_TARGET_LIBRARIES no longer used and use
${FREETYPE_INCLUDE_DIR_ft2build} ${FREETYPE_INCLUDE_DIR_freetype2}
variables instead of ${FREETYPE_INCLUDE_DIRS}
2013-10-08 10:30:12 -04:00
Daniele E. Domenichelli
e9f46dfeb2 FindGTK2: Add config directories only if different from include ones 2013-10-08 10:30:12 -04:00
Daniele E. Domenichelli
56a79e1f8c FindGTK2: Set INTERFACE_COMPILE_DEFINITIONS target property only if not empty 2013-10-08 10:30:12 -04:00
Daniele E. Domenichelli
4b47586a08 FindGTK2: Add check to ensure that target exists 2013-10-08 10:30:12 -04:00
Daniele E. Domenichelli
61242ccc8f FindGTK2: Fix gmodule, glibmm, pangoft2, and pangoxft targets 2013-10-08 10:30:12 -04:00
Daniele E. Domenichelli
4b876de974 FindGTK2: Link freetype libs to targets including freetype includes 2013-10-08 10:30:11 -04:00
Brad King
c5c217c6b5 FindSDL: Add path suffixes for <prefix>/include/(SDL|SDL12|SDL11)
Also add a comment explaining the purpose of the include/SDL* path
suffixes.  As explained in commit 7cb51739 (FindSDL: Restore
accidentally dropped search paths (#13651), 2012-11-05) the include/SDL*
path suffixes are for looking in the ENV{SDLDIR} location.

Inspired-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2013-10-08 10:09:17 -04:00
Leszek Swirski
46c7bcaf96 FindBLAS: Fixes for Windows MKL support 2013-10-08 15:00:12 +01:00
Adrien Destugues
7ebc1cb2ff Haiku: Several fixes to platform module
* Do not define BEOS anymore (this includes workarounds which we don't
  need most of the time in Haiku, so we prefer opt-in IF(HAIKU) in the
  cmake files instead).
* On the other hand, do define UNIX (we are trying to be compliant) and
  HAIKU (there is still a number of things we don't do like the
  average UNIX clone)
* Do not use UnixPaths, as our filesystem hierarchy isn't anything like
  what it expects.
* Do not use -nostart, which the compiler doesn't know about anymore.
  This used to be an Haiku extension to gcc, and is equivalent to
  -shared which is the default gcc option.
* While "dl" functions are provided in libroot, this is always
  implicitly linked so there is no need to tell cmake about it.
* Forcing position-independent code is not needed, so remove it.
* On the other hand, include appropriate linker options for executables
  and shared libraries.
* Support for the two available compilers in Haiku (gcc2 and gcc4) and
  pick the right headers and libraries according to the currently
  selected one.
* With the adoption of the package manager, the directory layout was
  changed. Tell cmake where to look for header files and libraries.
* As we don't define BEOS anymore, enable the workaround we still need
  for HAIKU as well. This is the lack of a libm (it is part of the
  implicitly linked in libroot)

Applied-by: Rolf Eike Beer <eike@sf-mail.de>
2013-10-08 09:54:46 -04:00
Brad King
4340507207 Merge topic 'CheckStructHasMember_CXX'
73d28d2 CheckStructHasMember: Add support for C++
2013-10-08 09:53:37 -04:00
Brad King
b7a865c5fe Merge topic 'cxx-flags'
455bad1 Check*CompilerFlag: Add SunStudio 12 regex
6f3ebfe Check*CompilerFlag: make C and CXX modules share most error patterns (#14339)
2013-10-08 09:53:31 -04:00
Daniele E. Domenichelli
73d28d2177 CheckStructHasMember: Add support for C++
Previously if headers required to check if a struct has a member can be
compiled with C++ compiler only, the check would fail because the C
compiler fails.  As a consequence, the result variable would be set to
false, even if the struct has that particular member.

Teach CHECK_STRUCT_HAS_MEMBER to accept a new optional argument LANGUAGE
that allows one to explicitly set the compiler to use.  The new
signature is therefore:

  CHECK_STRUCT_HAS_MEMBER (<struct> <member> <header> <variable>
                           [LANGUAGE <language>])
2013-10-08 09:43:06 -04:00
William Orr
455bad19f6 Check*CompilerFlag: Add SunStudio 12 regex
Applied-by: Rolf Eike Beer <eike@sf-mail.de>
2013-10-08 09:23:01 -04:00
Daniele E. Domenichelli
67e761fabc FindGTK2: Small cleanup 2013-10-07 20:19:30 -04:00
Daniele E. Domenichelli
682eea3909 FindGTK2: Do not require the GTK_ prefix in all the internal functions
This saves from using string(REGEXP) to create targets
2013-10-07 20:19:29 -04:00
Daniele E. Domenichelli
0bc3763c9e FindGTK2: Better handling of include directories
Add a method _GTK2_ADD_TARGET_INCLUDE_DIRS to handle it.
2013-10-07 20:19:29 -04:00
Daniele E. Domenichelli
9905abd150 FindGTK2: Create targets for each library
Methods:
 * _GTK2_ADJUST_LIB_VARS
 * _GTK2_ADD_TARGET_DEPENDS_INTERNAL
 * _GTK2_ADD_TARGET_DEPENDS
are strongly inspired by FindQt4.cmake
2013-10-07 20:19:29 -04:00
Daniele E. Domenichelli
7af8ad89af FindGTK2: Search for glib-object.h instead of gobject/gobject.h
This is the topmost include file for GObject header files
2013-10-07 20:19:29 -04:00
Daniele E. Domenichelli
fab6c2deb0 FindGTK2: Populate GTK2_DEFINITIONS before searching for libraries 2013-10-07 20:19:29 -04:00
Daniele E. Domenichelli
8d7b070410 FindGTK2: Export GTK2_XXX_FOUND to parent scope in _GTK2_FIND_LIBRARY
Also add a debug message to report if the library was found or not
2013-10-07 20:19:29 -04:00
Daniele E. Domenichelli
1bbc7662ea FindGTK2: Search for modules quietly when needed 2013-10-07 20:18:06 -04:00
Daniele E. Domenichelli
d9eb277631 FindGTK2: Find freetype quietly 2013-10-07 20:18:06 -04:00
Daniele E. Domenichelli
675a4d3897 FindGTK2: Mark GTK_*_INCLUDE_DIR as advanced 2013-10-07 20:18:01 -04:00
Brad King
ab65862417 Clang: Add separate "AppleClang" compiler id
Apple distributes their own Clang build with their own version numbers
that differ from upstream Clang.  Use the __apple_build_version__ symbol
to identify the Apple Clang compiler and report the Apple Build Version
as the fourth version component in CMAKE_<LANG>_COMPILER_VERSION.  Add
Compiler/AppleClang-<lang> and Platform/Darwin-AppleClang-<lang> modules
that simply include the upstream equivalents.

Fix comparisons of CMAKE_<LANG>_COMPILER_ID to Clang in CMake's own
source and tests to account for AppleClang.
2013-10-07 20:12:46 -04:00
Brad King
fcfd409ad1 Merge topic 'UseJava-jar-manifest'
69aff17 UseJava: Add support for the jar 'm' (Manifest) option
2013-10-07 15:44:43 -04:00
Brad King
c76b380181 Merge topic 'deprecation-macro-refactor'
cdf55d5 GEH: Make each element of the deprecation macros overridable.
80d5090 GEH: Use the macro for the deprecation attribute after definiting it.
2013-10-07 15:44:39 -04:00
Brad King
da0f373885 Merge topic 'EclipseFixWarningMessage'
5f11b8d Eclipse: add version 4.3 for completeness
2b63734 Eclipse: print different message if CMAKE_ECLIPSE_VERSION is already set
1ff8c21 CMakeFindEclipse: use lowercase for macro calls
2013-10-07 15:44:14 -04:00
Brad King
44e5118ede Merge topic 'openssl-advanced'
864e2a3 FindOpenSSL: mark variables as advanced for MSVC (#14418)
2013-10-07 15:43:46 -04:00
Brad King
0b7a2034a3 Merge topic 'FixTypoInGraphvizDocs'
bbb0d6f CMakeGraphVizOptions.cmake: Fix typo in documentation
2013-10-07 15:43:15 -04:00
Brad King
7069680bad Merge topic 'FindwxWidgets-msvc-x64'
870f91e FindwxWidgets: Look in x64 directories for MSVC (#14393)
2013-10-07 15:42:59 -04:00
Brad King
ea574d98ed Merge topic 'vs-compiler-id-tolerate-diagnostics'
8c891f8 VS: Tolerate diagnostic output while detecting cl (#14387)
2013-10-07 15:42:51 -04:00
Brad King
e0c7ccb1b3 Merge topic 'deprecate-add_compiler_export_flags'
0f3a666 GenerateExportHeader: Deprecate add_compiler_export_flags function.
2013-10-07 15:42:41 -04:00
Brad King
1c49ecad36 Merge topic 'FindPython_versions'
afd4f7f FindPython*: simplify version selection
2013-10-07 15:42:35 -04:00
Brad King
73170c38d7 Merge topic 'FindLua'
89cfa20 Modules: add FindLua.cmake
2013-10-07 15:42:27 -04:00
Brad King
d97fa4b4da Merge topic 'add-find_dependency-macro'
bb501a2 CMakePackageConfigHelpers: Add a find_dependency macro
2013-10-07 15:42:22 -04:00
Brad King
610234a5e8 Merge topic 'FortranCInterface-cross-compile'
d7a65a2 FortranCInterface: Fix cross-compiling Linux to MinGW (#14358)
2013-10-07 15:41:19 -04:00
Brad King
3d8356d486 Clang: Support Windows variants for GNU and MSVC (#13035, #14458)
Teach the compiler identification preprocessor tests to report when
Clang simulates MSVC, and what version.  If not MSVC, assume GNU.

Teach compiler information modules Clang-(C|CXX) to recognize when Clang
simulates MSVC and skip loading the GNU information.

Teach the Windows-MSVC platform information to recognize when it is
loaded as the simulated compiler and use that version information
instead of the real compiler's (different) version scheme.

Add platform modules Windows-Clang-(C|CXX) and support module
Windows-Clang to load either Windows-MSVC or Windows-GNU and wrap
the corresponding information macros.
2013-10-04 13:39:22 -04:00
Brad King
51ab85c398 CMakeDetermineCompilerId: Add notion of "simulated" id/version
Some compilers try to simulate other compilers as a drop-in replacement
supporting all the same command-line options and predefined preprocessor
macros.  In such cases it will be useful to have CMake load the compiler
information files for the simulated compiler instead of duplicating the
information.  Teach CMakeDetermineCompilerId to extract the simulated
compiler id and version when the compiler id detection provides it.
2013-10-04 13:25:06 -04:00
Brad King
be10826bf1 CMakeDetermineCompilerId: Fix local var init
Add initialization of the ARCHITECTURE_ID local and fix the
initialization of the COMPILER_ID_TWICE local.
2013-10-04 10:33:16 -04:00
Brad King
1fce189e53 OS X: Search system SDKs for frameworks
In Modules/Platform/Darwin.cmake set CMAKE_SYSTEM_FRAMEWORK_PATH to
include framework directories from inside the system SDK corresponding
to CMAKE_OSX_SYSROOT.

Suggested-by: Sean McBride <sean@rogue-research.com>
2013-09-27 10:18:46 -04:00
Brad King
71c0eb9cd8 Merge topic 'wince-archfam'
0b15ffc MSVC: Fix WinCE arch family preprocessor symbol (#14436)
2013-09-26 08:51:36 -04:00
Patrick Gansterer
8bb3b3d344 VS: Use version-specific subsystem for WinCE compiler id (#14440)
The subsystem must be set to WINDWOSCE for some SDKs to link an
executable. Set it to 9 for VS2005 and to 8 for VS2008, since the
value differs between the different Visual Studio versions.
2013-09-25 08:29:03 -04:00
Patrick Gansterer
0b15ffc73b MSVC: Fix WinCE arch family preprocessor symbol (#14436)
In commit bd827f98 (Use COFF file header header for architecture
detection, 2013-08-05) the MSVC_<lang>_ARCHITECTURE_ID value computed by
CMakeDetermineCompilerId.cmake changed for WinCE architectures to be the
exact architecture read from the PE header.  Fix platform preprocessor
definitions in Modules/Platform/Windows-MSVC.cmake to correspond to the
architecture family (ARM or SHx) instead of the specific architecture.
2013-09-25 05:20:22 +02:00
Patrick Gansterer
e63cf5f099 MSVC: Fix version test for linking corelibc on Windows CE (#14420)
In commit 8fcf0ab0 (Add support for new Windows CE compiler, 2013-08-04)
we made corelibc conditional on the MSVC version, but the version value
was incorrect.  Update it to use corelibc for VS 2008 and below.
2013-09-23 17:11:47 -04:00
Simon Levermann
69aff17d38 UseJava: Add support for the jar 'm' (Manifest) option 2013-09-23 14:54:33 +02:00
Stephen Kelly
cdf55d5cb4 GEH: Make each element of the deprecation macros overridable.
This way, we can override only FOO_DEPRECATED to silence deprecation
for a library.
2013-09-23 08:04:16 +02:00
Stephen Kelly
80d5090a2c GEH: Use the macro for the deprecation attribute after definiting it.
This way, it is more-easily overridden.
2013-09-23 08:04:13 +02:00
Brad King
0f05961f03 FindHDF5: Fix regression in per-configuration library selection
When FindHDF5 was first added in commit e6734068 (Add HDF5 find
module..., 2009-08-24) it contained a workaround for a bug in
SelectLibraryConfigurations that did not transform lists correctly.
That bug was fixed by commit 5797512c (SelectLibraryConfiguration:
generate correct output when input vars are lists, 2012-07-28).  Then
refactoring in commit 04d4dc33 (SelectLibraryConfigurations: Use
-NOTFOUND instead of copying the vars, 2013-07-08) changed undocumented
behavior on which the original workaround relied.  The result puts
entries like HDF5_hdf5_LIBRARY_DEBUG-NOTFOUND in HDF5_LIBRARIES.

Fix this by dropping the original workaround since the underlying issue
has been fixed anyway.  Use the HDF5_${LIB}_LIBRARY selected by the call
to select_library_configurations directly.
2013-09-19 13:35:01 -04:00
Alex Neundorf
5f11b8de28 Eclipse: add version 4.3 for completeness
This just adds the version number, there are no features
depending on this.

Alex
2013-09-19 00:58:25 +02:00
Alex Neundorf
2b63734b7f Eclipse: print different message if CMAKE_ECLIPSE_VERSION is already set
This fixes #14422.

Alex
2013-09-19 00:53:38 +02:00