Commit Graph

445 Commits

Author SHA1 Message Date
Brad King fd37a6ec3d ENH: Better linker search path computation.
- Use linker search path -L.. -lfoo for lib w/out soname
    when platform sets CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME
  - Rename cmOrderRuntimeDirectories to cmOrderDirectories
    and generalize it for both soname constraints and link
    library constraints
  - Use cmOrderDirectories to order -L directories based
    on all needed constraints
  - Avoid processing implicit link directories
  - For CMAKE_OLD_LINK_PATHS add constraints from libs
    producing them to produce old ordering
2008-02-21 11:41:11 -05:00
Alexander Neundorf 969ea3f449 ENH: add support for creating the documentation in docbook format
(http://www.oasis-open.org/docbook/xml/4.2/), which users can then convert
to other formats.
Tested with meinproc from KDE, which generates HTML pages which look good.

Alex
2008-02-19 14:33:43 -05:00
Brad King 4987e17f46 ENH: Improve link line generation for static library cycles.
- Move Tarjan algorithm from cmComputeTargetDepends
    into its own class cmComputeComponentGraph
  - Use cmComputeComponentGraph to identify the component DAG
    of link dependencies in cmComputeLinkDepends
  - Emit non-trivial component members more than once but always
    in a contiguous group on the link line
2008-02-07 16:14:05 -05:00
Bill Hoffman 7dfcc3fc12 ENH: add DOWNLOAD option to FILE command 2008-02-06 09:35:02 -05:00
Brad King 523ddedac5 ENH: Analyze inter-target dependencies to safely fix cycles
- Cycles may be formed among static libraries
  - Native build system should not have cycles in target deps
  - Create cmComputeTargetDepends to analyze dependencies
  - Identify conneced components and use them to fix deps
  - Diagnose cycles containing non-STATIC targets
  - Add debug mode property GLOBAL_DEPENDS_DEBUG_MODE
  - Use results in cmGlobalGenerator as target direct depends
2008-02-05 23:10:41 -05:00
Brad King 82fcaebe28 ENH: Pass dependent library search path to linker on some platforms.
- Move runtime path ordering out of cmComputeLinkInformation
    into its own class cmOrderRuntimeDirectories.
  - Create an instance of cmOrderRuntimeDirectories for runtime
    path ordering and another instance for dependent library
    path ordering.
  - Replace CMAKE_DEPENDENT_SHARED_LIBRARY_MODE with explicit
    CMAKE_LINK_DEPENDENT_LIBRARY_FILES boolean.
  - Create CMAKE_LINK_DEPENDENT_LIBRARY_DIRS boolean.
  - Create variables to specify -rpath-link flags:
      CMAKE_SHARED_LIBRARY_RPATH_LINK_<LANG>_FLAG
      CMAKE_EXECUTABLE_RPATH_LINK_<LANG>_FLAG
  - Enable -rpath-link flag on Linux and QNX.
  - Documentation and error message updates
2008-02-01 08:56:00 -05:00
Brad King 5594ad4885 ENH: Updated exporting and importing of targets to support libraries and configurations.
- Created cmExportFileGenerator hierarchy to implement export file generation
  - Installed exports use per-config import files loaded by a central one.
  - Include soname of shared libraries in import information
  - Renamed PREFIX to NAMESPACE in INSTALL(EXPORT) and EXPORT() commands
  - Move addition of CMAKE_INSTALL_PREFIX to destinations to install generators
  - Import files compute the installation prefix relative to their location when loaded
  - Add mapping of importer configurations to importee configurations
  - Rename IMPORT targets to IMPORTED targets to distinguish from windows import libraries
  - Scope IMPORTED targets within directories to isolate them
  - Place all properties created by import files in the IMPORTED namespace
  - Document INSTALL(EXPORT) and EXPORT() commands.
  - Document IMPORTED signature of add_executable and add_library
  - Enable finding of imported targets in cmComputeLinkDepends
2008-01-28 08:38:36 -05:00
Brad King 99b97dece8 ENH: Created cmComputeLinkDepends to compute link dependencies.
- This will be useful for imported library dependencies
  - Replaces old cmTarget analyze-lib-depends stuff for linking
  - Formalizes graph construction and dump
  - Explicitly represents dependency inferral sets
  - Use BFS of initial dependencies to preserve order
2008-01-27 13:42:49 -05:00
Brad King 96fd5909d9 ENH: Implement linking with paths to library files instead of -L and -l separation. See bug #3832
- This is purely an implementation improvement.  No interface has changed.
  - Create cmComputeLinkInformation class
  - Move and re-implement logic from:
      cmLocalGenerator::ComputeLinkInformation
      cmOrderLinkDirectories
  - Link libraries to targets with their full path (if it is known)
  - Dirs specified with link_directories command still added with -L
  - Make link type specific to library names without paths
    (name libfoo.a without path becomes -Wl,-Bstatic -lfoo)
  - Make directory ordering specific to a runtime path computation feature
    (look for conflicting SONAMEs instead of library names)
  - Implement proper rpath support on HP-UX and AIX.
2008-01-22 09:13:04 -05:00
Bill Hoffman 58f671bb1c ENH: add support for vs 9 win64 2007-12-17 14:43:11 -05:00
David Cole 867de7fc67 ENH: Add ability to call Visual Studio macros from CMake. Add a CMake Visual Studio macro to reload a solution file automatically if CMake makes changes to .sln files or .vcproj files. Add code to call the macro automatically for any running Visual Studio instances with the .sln file open at the end of the Visual Studio Generate call. Only call the macro if some .sln or .vcproj file changed during Generate. Also, add handling for REG_EXPAND_SZ type to SystemTools::ReadRegistryValue - returned string has environment variable references expanded. 2007-11-16 07:01:58 -05:00
Ken Martin 8eae7fddf2 ENH: move CMAKE_STRICT option to the top 2007-11-06 14:14:18 -05:00
Bill Hoffman 743cec67d5 ENH: change name 2007-11-05 16:55:45 -05:00
Bill Hoffman 62decc533b ENH: change name of class 2007-11-05 16:33:19 -05:00
Bill Hoffman 8079907714 ENH: add option for qt dialog 2007-11-02 12:03:29 -04:00
Ken Martin 6cdf032505 ENH: change to make the documentation class more generic, about halfway there, also provides secitons for Variables now 2007-10-22 12:49:09 -04:00
Bill Hoffman 5c4eadba23 ENH: add docs for variables 2007-10-18 09:10:42 -04:00
Ken Martin 236d1ebf56 ENH: added CMAKE_STRICT option for var and property checking 2007-10-16 14:28:37 -04:00
Brad King 00c33e7e8f ENH: Updated CMAKE_REGENERATE_YACCLEX option to support cmDependsFortran. Fixed to work with spaces in path. 2007-10-03 15:23:54 -04:00
Alexander Neundorf c5f249bdbd STYLE: move the code for the different formats of the generated help into
their own classes, making cmDocumentation smaller and also making it easier
to eventually add another format

Alex
2007-09-19 09:05:28 -04:00
Bill Hoffman 9cbb998737 ENH: add support for vs 2008 beta 2 2007-09-17 15:21:47 -04:00
Alexander Neundorf 9eb4ffcc3f COMP: make it build on Linux
Alex
2007-08-21 16:21:09 -04:00
Alexander Neundorf dfbd4ce0f2 ENH: deb generator: don't use the system provided ar, but do it yourself
using the code from OpenBSD ar
COMP: don't build all package generators on all platforms

Alex
2007-08-14 08:40:40 -04:00
Alexander Neundorf 9bd32386c2 COMP: this copy of curl is unused, the one in Utilities/cmcurl/ is used
Alex
2007-08-09 14:26:10 -04:00
Alexander Neundorf 7432ef206e ENH: add empty RPM package generator, Eric Noulard wants to work on it
Alex
2007-08-08 11:33:42 -04:00
Alexander Neundorf f7f522e61a ENH: add Eclipse CDT4 generator, patch from Miguel A. Figueroa-Villanueva
Alex
2007-08-01 09:18:50 -04:00
Alexander Neundorf a39aff52a0 ENH: add an empty debian package generator, Mathieu volunteered to fill it
:-)

Alex
2007-07-25 10:57:33 -04:00
Alexander Neundorf 27244a1fde ENH: build codeblocks generator also on Windows
Alex
2007-07-18 10:19:33 -04:00
Alexander Neundorf 378a8e99f9 ENH: add a simple CodeBlocks extra generator, early alpha stage, there seems
to be interest in it

Alex
2007-07-13 00:58:43 -04:00
Alexander Neundorf c0d000d234 ENH: add INSTALL(EXPORT ...) mode and INSTALL( TARGETS ... EXPORT <set> ) ,
tests still have to be added

Alex
2007-06-19 13:10:21 -04:00
Brad King 35936433e1 ENH: Merging changes from branch CMake-SourceFile2-b between tags
CMake-SourceFile2-bp and CMake-SourceFile2-b-mp1 to trunk.  This
commit is surrounded by tags CMake-SourceFile2-b-mp1-pre and
CMake-SourceFile2-b-mp1-post on the trunk.

The changes re-implement cmSourceFile and the use of it to allow
instances to be created much earlier.  The use of cmSourceFileLocation
allows locating a source file referenced by a user to be much simpler
and more robust.  The two SetName methods are no longer needed so some
duplicate code has been removed.  The strange "SourceName" stuff is
gone.  Code that created cmSourceFile instances on the stack and then
sent them to cmMakefile::AddSource has been simplified and converted
to getting cmSourceFile instances from cmMakefile.  The CPluginAPI has
preserved the old API through a compatibility interface.

Source lists are gone.  Targets now get real instances of cmSourceFile
right away instead of storing a list of strings until the final pass.

TraceVSDependencies has been re-written to avoid the use of
SourceName.  It is now called TraceDependencies since it is not just
for VS.  It is now implemented with a helper object which makes the
code simpler.
2007-06-18 11:59:23 -04:00
Ken Martin 0f0a83a51f ENH: more cleanup of some CMakeLists files 2007-05-11 09:02:17 -04:00
Bill Hoffman 18b7cbd700 ENH: add test for a simple depend test, does an exe re-link if a library that it uses changes 2007-05-10 10:31:44 -04:00
Bill Hoffman b39d96dff8 ENH: add a very simple framework test 2007-05-08 10:58:35 -04:00
Brad King 3fe86c98cf ENH: Plugin test should now work on QNX. 2007-04-18 00:12:16 -04:00
Brad King fc9ceda5e7 ENH: Fixed Plugin test on Cygwin. 2007-04-17 18:18:42 -04:00
Brad King cb190cdb87 BUG: Disable Plugin test on Cygwin until it is implemented. 2007-04-17 16:42:15 -04:00
Brad King fe5386be81 ENH: Re-enabling Plugin test now that it should work on MacOSX. I will let it run one night to see what platforms are still not implemented. Currently it is not run on QNX because it is known to not be implemented there. 2007-04-17 16:34:07 -04:00
Brad King 84584e1184 BUG: Disable Plugin test until it works everywhere. 2007-04-17 15:06:04 -04:00
Brad King 0164f2faae ENH: Added test for executables with plugins that use an API exported by the executable itself. 2007-04-17 14:08:30 -04:00
Brad King 2c1204e361 ENH: Added cmGlobalVisualStudioGenerator as superclass to all VS global generators. 2007-04-04 11:22:14 -04:00
Ken Martin abf2704785 BUG: typo in if test 2007-03-21 13:49:40 -04:00
Ken Martin 3abf39eda0 ENH: support for --build-config-sample feature #1022 2007-03-19 13:04:10 -04:00
Brad King 1d75e47dee ENH: Enable SubDirSpaces test when building with bootstrapped cmake. 2007-03-08 13:13:58 -05:00
Brad King fd3688fa72 ENH: Fixed recursive make call target escaping for Borland to support SubDirSpaces test. 2007-03-08 13:05:02 -05:00
Ken Martin d12455fccb BUG: oops bad arg for new test 2007-03-07 13:01:00 -05:00
Ken Martin bfb3598c4b BUG: improve bad argument handling for INCLUDE_DIRECTORIES and ADD_DEFINITIONS bug 4364 2007-03-07 11:03:57 -05:00
Brad King 0edbb68352 ENH: Cleaned up KWSys tests to use test drivers. 2007-03-03 10:47:06 -05:00
Ken Martin 56e3a35ece BUG: allow system information to accept the -G option 2007-02-28 12:25:19 -05:00
Ken Martin 08ccfacf03 BUG: possible fix for new SystemInfo test 2007-02-27 13:04:29 -05:00
Ken Martin 4d9bc90e58 BUG: possible fix for new SystemInfo test 2007-02-27 11:59:34 -05:00
Ken Martin 31a700188b ENH: added --system-information option to CMake 2007-02-27 10:10:10 -05:00
Andy Cedilnik da72f0a07a COMP: Disable test until generators are fixed 2007-02-23 14:37:23 -05:00
Andy Cedilnik b34f2d5c06 ENH: Try to fix spaces in the path problem 2007-02-23 11:30:04 -05:00
Andy Cedilnik 8ad3430931 ENH: Make EXCLUDE_FROM_ALL a target and directory properties. Also, make IsInAll use EXCLUDE_FROM_ALL. Also, enable the test that tests this 2007-02-23 09:46:27 -05:00
Bill Hoffman abb67cae48 ENH: actually keep the output 2007-02-22 10:31:12 -05:00
Bill Hoffman 13bd83c953 ENH: make sure EXECUTE_PROCESS is there because in bootstrap it is not 2007-02-22 10:05:50 -05:00
Bill Hoffman 5647e6e254 ENH: fix parens in the path with spaces in the path 2007-02-21 21:24:17 -05:00
Ken Martin 806001bbb6 ENH: turn on spaces test for more platforms 2007-02-21 14:58:33 -05:00
Ken Martin 276d61c90b ENH: turn on spaces test for more platforms 2007-02-21 11:58:58 -05:00
Ken Martin 4ddfe5f9a4 ENH: only add the test for some platforms 2007-02-20 15:03:22 -05:00
Bill Hoffman 1d8e7e9411 BUG: fix for bug 4423 set language fixes 2007-02-20 09:35:21 -05:00
Bill Hoffman 5c0a340a9e ENH: remove ConvLib test for now 2007-02-19 16:34:05 -05:00
Bill Hoffman c856f76de3 ENH: use correct name 2007-02-19 15:12:06 -05:00
Ken Martin 245e7c3482 ENH: make the test really test targets with spaces 2007-02-19 14:48:04 -05:00
Bill Hoffman 303048d3dc ENH: add test for conv libraries 2007-02-19 13:26:38 -05:00
Ken Martin 09699018cc ENH: turn on spaces in path test 2007-02-19 13:20:27 -05:00
Brad King 83466bf12e ENH: Added PrecompiledHeader test for MSVC compilers. 2007-02-08 16:18:21 -05:00
Ken Martin 551397b898 ENH: add more time to bootstrap test 2007-02-05 11:13:18 -05:00
Bill Hoffman 4925e64b97 ENH: add support for cygwin source and binary packaging 2007-02-02 14:40:26 -05:00
Ken Martin c160587130 ENH: allow the dashboard to override the timeouts for CTestTest 2007-02-02 10:14:50 -05:00
Andy Cedilnik b0cd96983b COMP: Remove osx bundle from OSXScriptLauncher 2007-01-31 13:54:02 -05:00
Andy Cedilnik c32af51867 COMP: Add missing file in the installation 2007-01-31 13:37:46 -05:00
Andy Cedilnik 4a2474765f COMP: Fix bootstrap 2007-01-30 11:48:17 -05:00
Ken Martin 49085f7fed BUG: fixes so that --build-and-test will honor timeouts 2007-01-30 11:35:17 -05:00
Bill Hoffman bd531d3fae BUG: fix for 4186, kdevelop adding file twice 2007-01-25 15:44:52 -05:00
Andy Cedilnik de5540f7e5 ENH: First pass at CPack generator for OSX X11 applications. This are applications that require X11 to work. This is not really installed but a bundle packager 2007-01-10 15:30:26 -05:00
Bill Hoffman 1936242ad4 ENH: add test I removed by mistake 2006-12-07 10:15:41 -05:00
Ken Martin 27379d7b08 ENH: make properties a bit more formal with documentation and chaining 2006-12-07 09:45:32 -05:00
Bill Hoffman 26b527ac0f ENH: fix bug in full path to target depends stuff 2006-12-06 23:05:10 -05:00
Ken Martin ff67e8a65d ENH: added properties into the compile, but not that many 2006-12-04 11:19:59 -05:00
Ken Martin 011532e0c3 ENH: added properties into the compile 2006-12-04 11:05:23 -05:00
Bill Hoffman 445e091ffa ENH: fix test to run with debug or release and put the exe next to the dll, still shows the bug this is testing for 2006-11-29 21:36:13 -05:00
Bill Hoffman b56a60d01e ENH: fix errors for unix builds 2006-11-29 17:45:55 -05:00
Bill Hoffman f211823b55 ENH: fix test for configuration type builds 2006-11-29 17:02:35 -05:00
Bill Hoffman 46f8ed0648 BUG: fix a problem where it tried to link .dll.lib files 2006-11-29 15:58:19 -05:00
Bill Hoffman 64389317f8 ENH: use the built cmake for file compare as older versions of cmake may not support this 2006-11-28 09:49:53 -05:00
Bill Hoffman 1ae24c15c3 ENH: use correct project name 2006-11-27 16:15:28 -05:00
Bill Hoffman 31a576abe6 ENH: add a test for a target name with the same name as the output of a custom command 2006-11-27 15:14:42 -05:00
Bill Hoffman 05e12b0ba5 ENH: make sure it is qt3 before running test 2006-11-22 14:26:01 -05:00
Andy Cedilnik 9192f3638b COMP: Remove unnecessary provocation 2006-10-25 09:54:54 -04:00
Bill Hoffman 212eeff04c ENH: remove failing test 2006-10-24 11:06:44 -04:00
Bill Hoffman 0c52510f21 ENH: remove broken test 2006-10-22 19:21:05 -04:00
Brad King f91b3c1daa ENH: Add options to build with system utility libraries. Organize inclusion of third party libraries into a single header per library. This addresses bug#3653. 2006-10-19 15:00:10 -04:00
Bill Hoffman 48fdfdaedd ENH: use core and not all of carbon 2006-10-03 15:25:58 -04:00
Andy Cedilnik 07fa9ac09c ENH: Implement TarCompress generator using compress library 2006-08-21 12:37:40 -04:00
Bill Hoffman f39e1c780e ENH: fix project names to be case sensitive and change name to linkline from inkline 2006-08-17 16:40:41 -04:00
Brad King 8a72d43c17 ENH: Started implementing INSTALL(DIRECTORY) command mode. This is not yet finished so it is undocumented and there is no test. These changes also separate the notions of file and directory permissions. 2006-08-17 14:48:54 -04:00
Brad King 3c9744f406 ENH: Applying patch from bug#3443 to implement FindwxWidgets.cmake properly. It also updates the UseWX test and WXDialog sources to use the new find script. 2006-07-21 15:43:19 -04:00
Brad King d56e6a9241 BUG: Fixed building of C++-only projects and added a test. 2006-07-21 11:53:23 -04:00