Commit Graph

4101 Commits

Author SHA1 Message Date
Alex Neundorf 4cad848369 configure_package_config_file(): extend documentation
Alex
2013-01-24 21:27:32 +01:00
Alex Neundorf 37c4bc1f86 configure_package_config_file(): fix indentation
This is a separate commit, so that the previous commit is smaller.

Alex
2013-01-24 21:18:47 +01:00
Alex Neundorf d4774140b7 configure_package_config_file: force absolute paths for usr-move
The configure_package_config()_file() macro will now use
absolute paths for the PATH_VARS if the Config.cmake file
will be installed into /lib(64) or /usr/lib(64), since due to
the usr-move filesystem changes Config.cmake files installed
there may be found via two paths (once per symlink via
/lib(64) and once via /usr/lib ), and in this case
relative paths break.

Alex
2013-01-24 21:15:58 +01:00
Brad King a37b0e3ebf Merge topic 'qt4-autolink-qtmain'
e3b5eb6 Automatically link to the qtmain library when linking to QtCore.
6c8d8af Add the $<TARGET_POLICY> expression
2013-01-23 15:11:24 -05:00
Stephen Kelly e3b5eb6b23 Automatically link to the qtmain library when linking to QtCore.
When using QAxServer, ensure that the qtmain library is excluded
by reporting an error at CMake time if it is not.
2013-01-23 14:15:41 -05:00
Brad King c0f1af926f ExternalProject: Allow DEPENDS on normal targets (#13849)
The ExternalProject_Add DEPENDS option adds two types of dependencies.
It adds a target-level build order dependency between the external
project target and the named targets.  It also adds a file-level
dependency on the "done" stamp file of the named external project
targets.  Targets not created by ExternalProject_Add have no such stamp
file and no _EP_STAMP_DIR property.  Prior to commit d14c0243 (Refactor
repeated code into function, 2012-04-26) we unconditionally accepted an
empty stamp dir and generated a dependency on a non-existent file.
After that commit we generate an error that no stamp dir is set.

Skip the file-level dependency when the named dependency is not an
external project target in order to allow this use case.  Teach the
ExternalProject test to cover the case.
2013-01-16 10:35:58 -05:00
Brad King feb9ffb681 Merge topic 'qt4-target-depends'
c8ee07d FindQt4: Add INTERFACE includes and defines to Qt4 targets
2013-01-10 10:22:40 -05:00
Brad King 42d9df9f4f Merge topic 'Haiku'
0380f36 FindOpenGL: add Haiku paths
8e9630c FindGLUT: BeOS does not have libXi and libXmu
50bfedf FindLua51: do not try to link libm on BeOS
3d2e6a0 check for Haiku only with __HAIKU__
7a1b961 Haiku no longer defines __BEOS__
ed96d9a bootstrap: use better defaults for Haiku
2013-01-10 10:22:14 -05:00
Stephen Kelly c8ee07d0ad FindQt4: Add INTERFACE includes and defines to Qt4 targets 2013-01-10 09:44:50 -05:00
Brad King bc414aebaf Merge topic 'qt4-version-openssl'
4b9ec00 FindQt4: set QT_VERSION_* variables sooner.
2013-01-08 14:32:22 -05:00
Rolf Eike Beer 0380f36cd8 FindOpenGL: add Haiku paths
Also check the HP-UX specific paths only when on HP-UX.
2013-01-08 00:39:53 +01:00
Rolf Eike Beer 8e9630c719 FindGLUT: BeOS does not have libXi and libXmu 2013-01-07 23:57:07 +01:00
Rolf Eike Beer 50bfedf391 FindLua51: do not try to link libm on BeOS
This includes Haiku, which currently is treated as BeOS. The ComplexOneConfig
test already knew about this.
2013-01-07 23:26:18 +01:00
Rolf Eike Beer 3d2e6a0687 check for Haiku only with __HAIKU__ 2013-01-07 21:52:45 +01:00
Rolf Eike Beer 7a1b961de8 Haiku no longer defines __BEOS__ 2013-01-07 21:20:11 +01:00
Brad King c2cde7f104 Merge topic 'osx-implicit-link-dirs'
cc676c3 OS X: Detect implicit linker framework search paths
2dd67c7 OS X: Detect implicit link directories on modern toolchains
ba58d0c OS X: Link with all framework search paths, not just the last
2013-01-07 14:23:04 -05:00
Brad King 0a097af097 Merge topic 'qt4-target-depends'
57a67bf Qt4: Add module dependencies to the IMPORTED targets
2013-01-07 14:19:36 -05:00
Stephen Kelly 57a67bf27e Qt4: Add module dependencies to the IMPORTED targets
This means for example, that consumers can use:

 target_link_libraries(foo ${QT_QTGUI_LIBRARIES})

instead of also needing to specify all 'public' dependencies:

 target_link_libraries(foo ${QT_QTGUI_LIBRARIES} ${QT_QTCORE_LIBRARIES} )

when using the IMPORTED targets.  Also populate the
IMPORTED_LINK_DEPENDENT_LIBRARIES property so CMake can help the linker
find shared library dependencies.
2013-01-07 14:00:47 -05:00
Clinton Stimpson 4b9ec00d0e FindQt4: set QT_VERSION_* variables sooner.
Set QT_VERSION_* variables sooner so they can be set before
Qt4ConfigDependentSettings.cmake uses them.
2013-01-07 11:06:35 -07:00
Brad King de34995d18 Merge topic 'FixSDLSearchPaths'
fb864d6 FindSDL_...: Restore dropped search paths (#13819)
2013-01-03 13:53:27 -05:00
Benjamin Eikel fb864d6e03 FindSDL_...: Restore dropped search paths (#13819)
Restore the search paths that were accidentally dropped by me in commit
9ed24c53. This was already fixed for FindSDL.cmake in commit 7cb51739.
2012-12-30 16:13:51 +01:00
Eric LaFranchi 3793dca08a CPack: WIX Product Icon, UI Banner, UI Dialog support (#13789) 2012-12-28 15:32:15 -05:00
Brad King cc676c3a08 OS X: Detect implicit linker framework search paths
Previously we hard-coded a list of implicit framework directories but
did not account for CMAKE_OSX_SYSROOT or for changes to the list across
OS X versions.  Instead we should automatically detect the framework
directories for the active toolchain.

The parent commit added the "-Wl,-v" option to ask "ld" to print its
implicit directories.  It displays a block such as:

 Framework search paths:
	/...

Parse this block to extract the list of framework directories.

Detection may fail on toolchains that do not list their framework
directories, such as older OS X linkers.  Always treat the paths

 <sdk>/Library/Frameworks
 <sdk>/System/Library/Frameworks
 <sdk>/Network/Library/Frameworks # Older OS X only
 /System/Library/Frameworks

as implicit.  Note that /System/Library/Frameworks should always be
considered implicit so that frameworks CMake finds there will not
override the SDK copies.
2012-12-11 15:15:52 -05:00
Brad King 2dd67c7ea0 OS X: Detect implicit link directories on modern toolchains
We detect the implicit link directories for the toolchain by adding a
flag to get verbose output from the compiler front-end while linking the
ABI detection binary.  Newer OS X toolchains based on Clang do not add
the implicit link directories with -L options to their internal
invocation of "ld".  Instead they use a linker that comes with the
toolchain and is already configured with the proper directories.

Add the "-Wl,-v" option to ask "ld" to print its implicit directories.
It displays them in a block such as:

 Library search paths:
	/...

Parse this block to extract the implicit link directories.

While at it, remove the checks introduced by commit efaf335b (Skip
implicit link information on Xcode, 2009-07-23) and commit 5195a664
(Skip implicit link info for multiple OS X archs, 2009-09-22).  Discard
the non-system link directories added by Xcode.  Discard all detected
implicit libraries in the multi-architecture case but keep the
directories.  The directories are still useful without the libraries
just to suppress addition of explicit -L options for them.
2012-12-11 15:15:51 -05:00
David Cole 3d0f1957d1 Merge topic 'ConfigHelperMinorCommentFix'
8039bd0 CONFIGURE_PACKAGE_CONFIG_FILE(): improve generated comments
2012-12-11 13:43:59 -05:00
David Cole d73c4057ed Merge topic 'OpenBSD-patches'
f80ccac OpenBSD: Add paths for Qt3/Qt4
2012-12-11 13:43:36 -05:00
Alex Neundorf 8039bd0864 CONFIGURE_PACKAGE_CONFIG_FILE(): improve generated comments
CONFIGURE_PACKAGE_CONFIG_FILE() now additionally generates
"Any changes to this file will be overwritten by the next CMake run
The input file was FooConfig.cmake.in"
into the configured file.

Alex
2012-12-06 22:24:43 +01:00
Amit Kulkarni f80ccac158 OpenBSD: Add paths for Qt3/Qt4
Handle OpenBSD specific paths in Qt3/Qt4, allowing concurrent building
and installation.  Some common programs are renamed with suffixes of
either 3 or 4.  Also, allow qt3/qt4 installed under /usr/local to be
searched and recognized appropriately.
2012-12-05 13:09:43 -05:00
David Cole 2bb2745fa8 Merge topic 'fix-11575-add-wix-support-to-cpack'
a74bd47 CPack: Fix dashboard errors and warnings (#11575)
ad0f735 CPack: Fix dashboard warnings (#11575)
0729ad4 CPack: Fix dashboard errors (#11575)
85baac1 CPack: Add a WiX Generator (#11575)
2012-12-05 10:31:05 -05:00
David Cole 799befa215 Merge topic 'OpenBSD-patches'
2f49b71 OpenBSD: Add path for Lua 5.1
4a015f7 OpenBSD: Add paths for Tcl/Tk 8.4/8.5
51c1119 OpenBSD: Add path for Freetype under X.org
6e7a345 OpenBSD: Add paths for Java 1.6.0/1.7.0 JRE/JDK
288f75e OpenBSD: Install shared libraries without executable permission
2012-12-05 10:30:56 -05:00
David Cole 7b910c0066 Merge topic 'qt4-include-as-system'
691ac05 Qt4: Add SYSTEM option to include_directories.
2012-12-05 10:30:40 -05:00
David Cole ba6e8264fe Merge topic 'ChangeSDLLinkLibraryOrder'
981629f Swap linking order of SDLmain and SDL (#0013769)
2012-12-05 10:30:31 -05:00
David Cole d208d1494f Merge topic 'windows-ce'
6b40e1b VS: Ignore LIBC.lib when linking the CompilerId executables
8e85822 VS: Add the entry point when compiling for WindowsCE
5bf9fd8 VS: Set the correct SubSystem when determinating the CompilerId
2012-12-05 10:30:16 -05:00
David Cole 00dc0ce592 Merge topic 'ninja_launchers'
9fc2e20 Ninja: fix usage of cldeps with ctest launchers
965358f enable CTEST_USE_LAUNCHERS with Ninja too
2012-12-05 10:29:36 -05:00
Amit Kulkarni 2f49b71b65 OpenBSD: Add path for Lua 5.1 2012-12-04 08:36:07 -05:00
Amit Kulkarni 4a015f77e7 OpenBSD: Add paths for Tcl/Tk 8.4/8.5 2012-12-04 08:36:07 -05:00
Amit Kulkarni 51c1119469 OpenBSD: Add path for Freetype under X.org 2012-12-04 08:35:47 -05:00
Amit Kulkarni 6e7a3453b4 OpenBSD: Add paths for Java 1.6.0/1.7.0 JRE/JDK 2012-12-04 08:35:23 -05:00
Amit Kulkarni 288f75edee OpenBSD: Install shared libraries without executable permission 2012-12-04 08:25:33 -05:00
Nils Gladitz 85baac1503 CPack: Add a WiX Generator (#11575)
This new CPack generator produces an *.msi installer file.
Requires having the WiX Toolset installed in order to work
properly.

Download the WiX Toolset installer "WiX36.exe" here:

  http://wix.codeplex.com/releases/view/93929
2012-12-03 11:00:31 -05:00
Clinton Stimpson 691ac05d40 Qt4: Add SYSTEM option to include_directories.
Thanks to Scott Bailey and Benjamin Kloster.
2012-12-03 08:00:07 -07:00
Benjamin Eikel 981629f701 Swap linking order of SDLmain and SDL (#0013769) 2012-12-02 14:32:47 +01:00
Patrick Gansterer 6b40e1ba3e VS: Ignore LIBC.lib when linking the CompilerId executables
Some Windows CE linkers want to link against LIBC.lib, but can not
find them. Since they are not required we can simply ignore it.
2012-11-30 15:17:50 +01:00
Patrick Gansterer 8e85822e2b VS: Add the entry point when compiling for WindowsCE
Set the entry point to mainACRTStartup to make sure that main()
can be found when linking the application to check the compiler.
2012-11-30 15:15:06 +01:00
Patrick Gansterer 5bf9fd8253 VS: Set the correct SubSystem when determinating the CompilerId
Some WinCE linker only work when the subsystem is set to WINDOWSCE.
2012-11-30 14:14:27 +01:00
Mathias Gaunard 965358fcf6 enable CTEST_USE_LAUNCHERS with Ninja too 2012-11-30 03:46:55 +01:00
Alex Neundorf 4809cadfe8 FPHSA: don't succeed if only checking for XX_FOUND (#13755)
This fixes issue #13755.
FPHSA(XX DEFAULT_MSG XX_FOUND)
always succeeded due to the way how the XX_FOUND variable was set.
It was preset to TRUE, and then reset to FALSE if something was missing
(...which had the effect that XX_FOUND itself was already preset when FPHSA
checked whether XX_FOUND is set)

Now XX_FOUND is unset first, and only later on set to TRUE.

Alex
2012-11-29 09:21:18 +01:00
Brad King 581b0c0d07 Merge topic 'windows-ce'
3a1006e VS: Added "Deploy" at project configuration for WindowsCE targets
40c36c9 VS: Make DetermineCompilerId working with WinCE too
038df9e VS: Allow setting the name of the target platform
6fe4fcb VS: Add parser for WCE.VCPlatform.config to read WinCE platforms
2118a20 VS: Support setting correct subsystem and entry point for WinCE
6920fed VS: Change variable type of Name from const char* to string
102521b VS: Change variable type of ArchitectureId from const char* to string
332dc09 VS: Add static method to get the base of the registry
d41d4d3 VS: Add CMAKE_VS_PLATFORM_NAME definition to cmMakefile
14861f8 VS: Remove TargetMachine for linker when checking compiler id
2012-11-28 08:49:56 -05:00
Brad King d5adbbcf9c Merge topic 'winflexbison'
df29336 FindFLEX: Add support for the Win flex-bison distribution
e593f8a FindBISON: Add support for the Win flex-bison distribution
2012-11-27 13:34:57 -05:00
Brad King dcb3701d76 Merge topic 'FindBullet-windows-configs'
f180b24 FindBullet: Search in per-config dirs on Windows (#13738)
2012-11-27 13:34:51 -05:00