Commit Graph

7964 Commits

Author SHA1 Message Date
Brad King 16186ec18c BUG: Remove InstallNameFixupPath from cmTarget and cmInstallTargetGenerator.
- Motivation:
    - It depended on the order of installation
    - It supported only a single destination for each target
    - It created directory portions of an install name without user request
  - Updated ExportImport test to install targets in an order that expoed
    this bug
2008-02-01 13:08:12 -05:00
Bill Hoffman 15741325e0 ENH: fix warnings 2008-02-01 12:35:50 -05:00
Clinton Stimpson f1b334ca7a ENH: Show version number in window title. 2008-02-01 11:48:00 -05:00
Bill Hoffman 2564097e8c ENH: fix more warnings 2008-02-01 11:40:55 -05:00
Bill Hoffman 5343910cba ENH: fix more warnings 2008-02-01 11:36:06 -05:00
Bill Hoffman 889d900ef2 ENH: fix more warnings 2008-02-01 11:34:42 -05:00
Bill Hoffman f6826df4f3 ENH: fix more warnings 2008-02-01 11:33:14 -05:00
Bill Hoffman 9b55f81522 ENH: fix some warnings and 64 bit build windows 2008-02-01 11:30:08 -05:00
Bill Hoffman 32409bb8e3 ENH: fix win64 build and a warning 2008-02-01 11:09:39 -05:00
Clinton Stimpson 41ad9d20df ENH: Use translation file if it exists for the locale.
Consolidate some strings.

      More responsive interrupting.  Prompt user if they try to close during
      configure, and allow them to close.
2008-02-01 10:41:29 -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 f28f1585f6 COMP: Fix shadowed local warning. 2008-02-01 08:55:41 -05:00
Brad King 6223f3f763 STYLE: Nightly Date Stamp 2008-02-01 00:01:03 -05:00
Bill Hoffman cc7c89ca51 ENH: try to fix hp and vs 6, again... 2008-01-31 21:33:32 -05:00
Bill Hoffman 5a36673807 STYLE: line length 2008-01-31 16:38:45 -05:00
Bill Hoffman 294dca62ee ENH: fixes for borland 2008-01-31 16:37:52 -05:00
Ken Martin 70e9412dc7 BUG: minor fix for ctest 2008-01-31 16:33:07 -05:00
Bill Hoffman dc0f41c298 ENH: remove extra junk 2008-01-31 16:10:32 -05:00
Brad King 2cff26fa52 ENH: Support linking to shared libs with dependent libs
- Split IMPORTED_LINK_LIBRARIES into two parts:
      IMPORTED_LINK_INTERFACE_LIBRARIES
      IMPORTED_LINK_DEPENDENT_LIBRARIES
  - Add CMAKE_DEPENDENT_SHARED_LIBRARY_MODE to select behavior
  - Set mode to LINK for Darwin (fixes universal binary problem)
  - Update ExportImport test to account for changes
2008-01-31 15:45:31 -05:00
Bill Hoffman 52e75800b4 ENH: fix for qnx, I hope, and fix indent stuff 2008-01-31 15:34:09 -05:00
Bill Hoffman 99ebc1e728 ENH: fix build errors with asm stuff on mingw and hopefully win64 2008-01-31 15:10:19 -05:00
Bill Hoffman 414b89b903 ENH: fix build for mingw 2008-01-31 14:50:08 -05:00
Bill Hoffman b270a4ee7b ENH: split into implementation and interface class to clean up namespace issues with #define stuff 2008-01-31 14:34:11 -05:00
Brad King 82d8264b9f BUG: Need to install cstddef header. 2008-01-31 12:56:18 -05:00
Bill Hoffman 48b554dee8 ENH: remove a const cast 2008-01-31 12:19:00 -05:00
Ken Martin 21852384e0 ENH: read in old file formats Dart as well 2008-01-31 11:43:44 -05:00
Brad King 065f23ba38 STYLE: Work-around std:: check since this is a platform test. 2008-01-31 08:32:08 -05:00
Brad King e3c2c1923a STYLE: Remove references to std:: inside KWSys, even in comments. This will allow a commit check to be added. 2008-01-31 08:21:35 -05:00
Brad King d81875fb87 COMP: Replace kwsys_stl:: with kwsys_ios:: for streams access. 2008-01-31 08:21:27 -05:00
Brad King afd7d4ca4c ENH: Add target property LINK_SEARCH_END_STATIC to help people building static binaries on some platforms. 2008-01-31 08:05:34 -05:00
Brad King 3a05425309 BUG: Move decision to switch library paths found in implicit link directories to use -l options from cmFindLibraryCommand to cmComputeLinkInformation. Existing projects may depend on find_library returning a full path. This slightly weakens cmComputeLinkInformation but is necessary for compatibility. 2008-01-31 07:50:40 -05:00
Brad King 73a5f0846f COMP: Remove unused parameter. 2008-01-31 06:51:43 -05:00
Brad King 3edc8e83ef STYLE: Nightly Date Stamp 2008-01-31 00:01:05 -05:00
Bill Hoffman 6903d2df8b ENH: remove const 2008-01-30 22:56:34 -05:00
Bill Hoffman 2a6e918c1f COMP: use kwsys_stl and not std:: 2008-01-30 21:40:43 -05:00
Brad King 0ac845b7da BUG: Fixed previous commit in cmExportFileGenerator to separate libraries correctly in the import link list. 2008-01-30 17:57:54 -05:00
Brad King 7902bc06aa ENH: Implemented link-interface specification feature.
- Shared libs and executables with exports may now have
    explicit transitive link dependencies specified
  - Created LINK_INTERFACE_LIBRARIES and related properties
  - Exported targets get the interface libraries as their
    IMPORTED_LINK_LIBRARIES property.
  - The export() and install(EXPORT) commands now give
    an error when a linked target is not included since
    the user can change the interface libraries instead
    of adding the target.
2008-01-30 17:25:52 -05:00
Bill Hoffman 22be36f8d5 ENH: make sure global targets are in the right projects 2008-01-30 16:22:51 -05:00
Bill Hoffman 2d0e838339 ENH: fix for vs 70 2008-01-30 12:55:59 -05:00
Brad King ed5661821c BUG: cmComputeLinkDepends should not follow the dependencies of executables. 2008-01-30 12:15:17 -05:00
Bill Hoffman 8a83f09637 ENH: fix for bug 3218 dependant projects are written out automatically if they are in the project. Also fix bug 5829, remove hard coded CMAKE_CONFIGURATION_TYPES from vs 7 generator 2008-01-30 12:04:38 -05:00
Bill Hoffman 21e6791789 ENH: remove warnings 2008-01-30 11:54:55 -05:00
Brad King e9503a174e ENH: Make add_custom_command interpret relative OUTPUT locations with respect to the build tre instead of the source tree. This can greatly simplify user code since generating a file will not need to reference CMAKE_CURRENT_BINARY_DIR. The new behavior is what users expect 99% of the time. 2008-01-30 11:22:10 -05:00
Brad King d5db5a275a BUG: Add cmSourceFile::GetPropertyForUser to centralize the LOCATION property hack. This fixes the LOCATION property when retrieved via the get_property command. 2008-01-30 11:21:54 -05:00
Bill Hoffman c4093afc52 ENH: enhancements for cdash, include system information and better time entries 2008-01-30 11:17:36 -05:00
Brad King 45d0dd1344 BUG: Fix misuse of stl vector that caused definitions to be dropped by cmMakefile::PushScope. 2008-01-30 08:37:38 -05:00
Brad King d2f901bebf COMP: Fix warnings on VS9. 2008-01-30 07:44:24 -05:00
Brad King bd822c734b STYLE: Nightly Date Stamp 2008-01-30 00:01:04 -05:00
Brad King 52b3f85642 ENH: Enable use of link script whenever incremental archive construction rules are available. Enable use of archive construction rules on MSYS. 2008-01-29 21:16:49 -05:00
Brad King 66e0b4212f ENH: Added build rule variables CMAKE_<LANG>_ARCHIVE_CREATE, CMAKE_<LANG>_ARCHIVE_APPEND, and CMAKE_<LANG>_ARCHIVE_FINISH to support creation of static archive libraries out of a large number of objects. See bug #6284. 2008-01-29 20:46:25 -05:00
Brad King 44cf465ff5 BUG: Fix uninitialzed members of cmCacheManager. 2008-01-29 17:30:48 -05:00
Brad King 6066e92ba2 BUG: cmTarget instances should not be copied. Removed pass-by-value arguments from cmLocalVisualStudio7Generator::WriteGroup and cmLocalVisualStudio6Generator::WriteGroup. Updated cmTarget to make this easier to find. 2008-01-29 17:30:34 -05:00
Clinton Stimpson f9114a0510 ENH: Correctly format multi-line error messages. 2008-01-29 15:54:49 -05:00
Brad King 319c4c4d80 ENH: Update cmInstallTargetGenerator to get the shared libraries linked by a target from cmComputeLinkInformation instead of duplicating the computation. 2008-01-29 15:47:18 -05:00
Brad King ffac622a85 ENH: Add cmTarget::GetLinkInformation method to allow several places in the generators to share link information while only computing it once per configuration for a target. Use it to simplify the chrpath feature. 2008-01-29 15:07:33 -05:00
Brad King 3406e1ef2c ENH: Added not to find_package documentation about unspecified choice among multiple versions. 2008-01-29 09:57:39 -05:00
Brad King a099551882 STYLE: Nightly Date Stamp 2008-01-29 00:01:03 -05:00
Brad King 41c2895b75 ENH: Added version support to Config mode of find_package command.
- Added EXACT option to request an exact version.
  - Enforce version using check provided by package.
  - Updated FindPackageTest to test versioning in config mode.
2008-01-28 20:38:48 -05:00
Brad King e75932b61f STYLE: Updated TODO comment for PUBLIC_HEADER_LOCATION export. 2008-01-28 15:22:07 -05:00
Brad King 64b6c0b950 ENH: Document PRIVATE_HEADER, PUBLIC_HEADER, and RESOURCE target properties and corresponding arguments to INSTALL(TARGETS). 2008-01-28 15:12:12 -05:00
Brad King e3b1bdb058 ENH: Support exporting/importing of AppBundle targets.
- Imported bundles have the MACOSX_BUNDLE property set
  - Added cmTarget::IsAppBundleOnApple method to simplify checks
  - Document BUNDLE keyword in INSTALL command
  - Updated IMPORTED_LOCATION property documentation for bundles
  - Updated ExportImport test to test bundles
2008-01-28 14:46:16 -05:00
Brad King 437043bb04 BUG: Fix export/import file generation to not store link dependencies of executables or modules. 2008-01-28 13:37:59 -05:00
Brad King 6388ebceb1 ENH: Restored APPEND option to EXPORT() command in new implementation. 2008-01-28 13:21:42 -05:00
Brad King 28ea034737 ENH: Support exporting/importing of Framework targets.
- Imported frameworks have the FRAMEWORK property set
  - Added cmTarget::IsFrameworkOnApple method to simplify checks
  - Also remove separate IMPORTED_ENABLE_EXPORTS property and just use ENABLE_EXPORTS since, like FRAMEWORK, it just represents the target type.
  - Document FRAMEWORK keyword in INSTALL command.
  - Updated IMPORTED_LOCATION property documentation for Frameworks
2008-01-28 13:05:58 -05:00
Brad King 3d94b3b717 COMP: Add virtual destructor to cmExportFileGenerator to avoid warnings about other virtual functions. 2008-01-28 09:53:21 -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 a7cb9d1120 STYLE: Nightly Date Stamp 2008-01-28 00:01:02 -05:00
Brad King 8f97980615 COMP: Use kwsys to get STL set_intersection algorithm. 2008-01-27 15:09:58 -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 c631aa2a87 STYLE: Nightly Date Stamp 2008-01-27 00:01:07 -05:00
Brad King a35145fb27 STYLE: Nightly Date Stamp 2008-01-26 00:01:03 -05:00
Brad King 386a6ebf25 COMP: Need to return a value from fake MD5 method under bootstrap. 2008-01-25 08:11:04 -05:00
Brad King 817d17e822 STYLE: Nightly Date Stamp 2008-01-25 00:01:03 -05:00
Brad King f1c5b50cb7 COMP: Cannot do MD5 from KWSys during CMake bootstrap. 2008-01-24 16:11:06 -05:00
Brad King 1dec54489a ENH: Add cmSystemTools::ComputeStringMD5 method. 2008-01-24 14:41:18 -05:00
Brad King 02b1767e42 BUG: Make cmake -E remove_directory work when directory is not present. 2008-01-24 14:37:48 -05:00
Brad King 3a462fa673 ENH: Apply new implicit link directory find_library policy when loading a cache from an earlier CMake. 2008-01-24 07:37:15 -05:00
Brad King 7213408287 ENH: Added cmMakefile::NeedCacheCompatibility method and support for it in cmCacheManager. This will allow commands to modify their behavior when running with a cache loaded from an earlier CMake version. 2008-01-24 07:37:08 -05:00
Brad King f5d86035f2 COMP: Add include of <limits.h> to get USHRT_MAX constant. 2008-01-24 07:31:59 -05:00
Brad King 8b1117e6c9 STYLE: Nightly Date Stamp 2008-01-24 00:01:03 -05:00
Alexander Neundorf cebb599b53 STYLE: fix typo
Alex
2008-01-23 18:34:19 -05:00
Brad King 11ad0bace4 ENH: Remove sparcv9 architecture subdir added earlier. The new implicit link directory policy takes care of the problem. 2008-01-23 17:53:18 -05:00
Brad King f5a5b1ffd6 ENH: Simplify code by removing unnecessary LINK_DIRECTORIES call. 2008-01-23 16:53:33 -05:00
Brad King 7adb808244 ENH: Teach find_library to avoid returning library paths in system directories that may be converted to architecture-specific directories by the compiler when it invokes the linker. 2008-01-23 16:21:49 -05:00
Brad King 48fddd602d BUG: Fix cmComputeLinkInformation cycle detection. 2008-01-23 15:56:17 -05:00
Brad King f27379e3f7 ENH: Added CMAKE_LINK_OLD_PATHS compatibility mode for linker search paths. 2008-01-23 15:22:38 -05:00
Brad King 65c1d62902 COMP: Fix build on Borland 5.5. 2008-01-23 13:37:28 -05:00
Brad King 09af624dee BUG: Fix generation of Watcom link lines.
- Work-around bug in Watcom command line parsing for spaces in paths.
  - Add 'library' option before libraries specified by file path.
2008-01-23 13:30:55 -05:00
Brad King 865c2bc6d6 BUG: Work-around bug in MSVC 6 command line parsing. 2008-01-23 13:03:03 -05:00
Ken Martin 3d63c85f75 ENH: look for CTestConfiguration.ini first 2008-01-23 12:51:24 -05:00
Ken Martin 0e69d38004 ENH: add return and break support to cmake, also change basic command invocation signature to be able to return extra informaiton via the cmExecutionStatus class 2008-01-23 10:28:26 -05:00
Brad King 72a301f880 BUG: Be less aggressive about finding conflicts in the runtime path when the real soname is not known. 2008-01-23 10:21:08 -05:00
Brad King e417fb7100 ENH: Enable library search path suffix for sparcv9 architecture. This should be generalized to a platform file later. 2008-01-23 09:53:33 -05:00
Brad King 78fcb26695 STYLE: Nightly Date Stamp 2008-01-23 00:01:03 -05:00
Brad King ceb716575e BUG: When a library file name is linked without a path make sure the link type is restored after the -l option. 2008-01-22 10:05:27 -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
Brad King 0df9e6904c COMP: Remove inline keyword from forward declaration for VS9. 2008-01-22 08:52:48 -05:00
Brad King a6af060b35 STYLE: Nightly Date Stamp 2008-01-22 00:01:10 -05:00
Brad King 480d733daf ENH: Updated find_package documentation to describe common usage first. 2008-01-21 22:48:07 -05:00
Brad King 16247cbfc3 ENH: Add support to find_library to transform /lib to /lib32 on some architectures. 2008-01-21 18:30:36 -05:00