Commit Graph

1502 Commits

Author SHA1 Message Date
David Cole 31efe9e9f6 ENH: Add script GetPrerequisites.cmake to help analyze what shared libraries executable files depend on. Primary uses are to determine what shared libraries should be copied into Mac OSX bundle applications to create standalone bundles apps and to determine what shared library files need to be installed for an executable to run on any platform. Requires native platform tools dumpbin, otool and ldd to generate results. 2008-03-04 08:18:40 -05:00
Brad King 8364ce8ff9 STYLE: Remove trailing whitespace. 2008-03-03 20:31:51 -05:00
Brad King 8868244de0 STYLE: Remove trailing whitespace. 2008-03-03 20:24:18 -05:00
Brad King b6684a79b5 STYLE: Remove trailing whitespace. 2008-03-03 15:56:04 -05:00
Brad King 079c5e22f7 STYLE: Remove trailing whitespace. 2008-03-03 11:57:02 -05:00
Brad King 5f8feedbac STYLE: Fixed docs of new CMakeForceCompiler 2008-03-03 11:18:49 -05:00
Brad King e124891b0c ENH: Restore CMAKE_FORCE_C_COMPILER and CMAKE_FORCE_CXX_COMPILER macros in CMakeForceCompiler module. 2008-03-03 11:16:32 -05:00
Brad King 34c76d4304 ENH: Use builtin chrpath instead of relinking ELF targets
- Add cmSystemTools::ChangeRPath method
  - Add undocumented file(CHRPATH) command
  - When installing use file(CHRPATH) to change the rpath
    instead of relinking
  - Remove CMAKE_CHRPATH lookup from CMakeFindBinUtils
  - Remove CMAKE_USE_CHRPATH option since this should
    always work
2008-03-01 12:51:07 -05:00
Brad King 230c8972f7 BUG: Do not place $(CMAKE_COMMAND) in link scripts. 2008-03-01 09:08:34 -05:00
Bill Hoffman 22dc873ef0 ENH: allow cdash not to trigger 2008-02-29 14:58:33 -05:00
Bill Hoffman b548b34a11 ENH: add vs9 stuff, still need msvc9 mfc 2008-02-29 14:36:33 -05:00
Brad King dfe2ea6406 ENH: Handle large object file lists on some platforms
- Use a response file when enabled by
    CMAKE_<LANG>_USE_RESPONSE_FILE_FOR_OBJECTS
  - Enable for C and CXX with cl (MSVC)
  - Enable for Fortran with ifort (Intel Fortran)
2008-02-27 17:10:45 -05:00
Brad King e840a9dff3 BUG: Apply patch from bug#6445. Add preprocessor definitions to assembly and preprocessing build rules. 2008-02-27 14:31:09 -05:00
Brad King 83c5f1b3f0 ENH: Add support to C compiler identification for void return type from main. Cross-compilers for embedded platforms may require it. 2008-02-25 18:47:19 -05:00
Alexander Neundorf 09829174a3 BUG: fix rpmbuild bug, which expands variables in comments :-/
apparently rpmbuild can't handle paths with spaces and can't handle
variables in comments...

Alex
2008-02-25 14:23:24 -05:00
Brad King 9211b0d234 ENH: Improvied compiler identification robustness
- Write a single source file into the compiler id directory
  - This avoid requiring the compiler to behave correctly with
    respect to include rules and the current working directory
  - Helps to identify cross-compiling toolchains with unusual
    default behavior
2008-02-25 09:23:14 -05:00
Brad King 58480575a3 ENH: Simplify make build rule generation by removing use of OBJECTS_QUOTED and TARGET_QUOTED rule variables and updating the generation of OBJECTS to always use the newer cmLocalGenerator::Convert method. 2008-02-24 14:05:21 -05:00
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
Brad King 068d0d9b91 BUG: Fix passing of nodefaultrpath flag to linker through c++ compiler. 2008-02-18 12:01:41 -05:00
Bill Hoffman ef537ffec7 ENH: have cpack work with DESTDIR install and ingest qt framework libs into cmake-gui 2008-02-18 10:26:28 -05:00
Bill Hoffman 1871f06ad6 BUG: fix double cmakefiles directory 2008-02-17 17:40:01 -05:00
Bill Hoffman 703be12c58 ENH: add script to ingest library depends into a bundle 2008-02-16 16:33:08 -05:00
Alexander Neundorf a8f493686a STYLE: use global property instead of helper target to collect all python
modules from a source tree

Alex
2008-02-15 18:26:37 -05:00
Brad King ed76198b84 ENH: Cleanup building of OS X bundle content
- Fixes repeated rebuild of bundles by Makefile generators
 - Add special rules to copy sources to their
   MACOSX_PACKAGE_LOCATION bundle directory
 - Remove MacOSX_Content language hack
   - Remove EXTRA_CONTENT property
   - Remove MACOSX_CONTENT
   - Remove corresponding special cases in object names
2008-02-15 11:22:23 -05:00
Brad King 67f8c0fd10 ENH: Allow multiple OS X applications bundles to be created in a single build directory. Converted Info.plist files to be generated directly instead of configured with make variables. The MACOSX_BUNDLE_* variables are now properties (and vars for compatibility). 2008-02-14 15:31:08 -05:00
Brad King b459ec9f57 ENH: Updated DEFINE_PROPERTY command to be more extendible and more consistent with new SET_PROPERTY and GET_PROPERTY signatures. 2008-02-14 13:36:23 -05:00
Brad King 5b02a4a864 ENH: Re-enable diagnosis of non-unique target names.
- Re-enable enforcement in cmMakefile::EnforceUniqueName
  - Improve error message to help user resolve the problem
  - Fix Modules/CTestTargets.cmake to not duplicate testing targets
  - Move commands used by the changes to Modules/CTestTargets.cmake
    to build during bootstrap: DEFINE_PROPERTY, GET_PROPERTY
2008-02-14 11:58:32 -05:00
Brad King 8375bb4768 ENH: Remove unnecessary compiler force macros. The compiler ID can now be detected without linking an executable. 2008-02-14 10:50:43 -05:00
Clinton Stimpson f868fe3abd BUG: Fix error when paths have + in them. (special regex characters) 2008-02-14 01:11:20 -05:00
Sebastien Barre 5ee18d5c55 ENH: fix advanced bug 2008-02-13 17:00:20 -05:00
Brad King 9439cbd4ba BUG: Fix FindQt4.cmake QT4_CREATE_MOC_COMMAND macro to work with spaces in the path while using the @ syntax on MSYS builds. 2008-02-13 14:35:10 -05:00
Brad King f0cee3fe4c ENH: Fix eCos.cmake to not require a forced compiler
- Search for libtarget.a explicitly
  - Do not complain about compiler id during try-compile
2008-02-11 17:01:02 -05:00
Brad King a75079d9e0 ENH: When detecting the compiler id try compiling only to an object file. 2008-02-11 17:00:54 -05:00
Brad King 5a834b0bb0 ENH: Remove CMAKE_ANSI_CFLAGS variable and instead always add ansi flags to CMAKE_C_COMPILE_OBJECT. We should not require every project to reference CMAKE_ANSI_CFLAGS. 2008-02-11 15:31:32 -05:00
Clinton Stimpson a8c4244916 ENH: Better way to have escaping done correctly for all generators. 2008-02-08 12:01:54 -05:00
Clinton Stimpson e6c9f302f2 BUG: Fix arg for moc parameter file so it works with unix makefiles, when the
build dir has a space in it.
2008-02-07 23:26:42 -05:00
Bill Hoffman 4f44c7875f BUG: fix for bug 6117 pkgconfig 2008-02-07 13:19:38 -05:00
Alexander Neundorf 10dfc89731 STYLE: use a function instead of a macro, to keep FAIL_MESSAGE local
patch from Miguel

Alex
2008-02-06 17:02:53 -05:00
Brad King 847c8403fe BUG: Added TARGET_ARCHIVES_MAY_BE_SHARED_LIBS global property to help compute proper rpath information on AIX when shared libraries have names like "libfoo.a". 2008-02-04 15:22:10 -05:00
Brad King c12a7e388d BUG: When configuring compiler information files into the CMakeFiles directory in the project build tree, use IMMEDIATE option for CONFIGURE_FILE explicitly. It is needed in case the user sets CMAKE_BACKWARDS_COMPATIBILITY to 2.0 or lower. 2008-02-04 10:04:23 -05:00
Brad King bbbb2be765 BUG: When forcing the C and CXX compilers do not try to detect the ABI information. Cleanup configured language compiler info files by always using @ONLY. This addresses bug#6297. 2008-02-03 17:24:50 -05:00
Brad King f2dfa8925b ENH: Enable dependent library search paths on more platforms
- NetBSD needs dependent library paths in -rpath-link option.
  - kFreeBSD needs dependent library paths in -rpath-link option.
2008-02-02 08:58:53 -05:00
Clinton Stimpson 593c213f16 BUG: When preserving relative paths for moc generated files,
also consider paths to headers in the build directory.
2008-02-01 13:52:04 -05:00
Clinton Stimpson d94087ab44 ENH: Use new COMPILE_DEFINITIONS_* with set_property to
add Qt release/debug defines.
2008-02-01 12:02:19 -05:00
Brad King f49ec94e9f ENH: Enable dependent library search paths on more platforms
- HP-UX needs dependent library paths as -L options.
  - IRIX needs dependent library paths as -L options.
  - Sun needs dependent library paths as -L options.
  - FreeBSD needs dependent library paths in -rpath-link option.
2008-02-01 09:57: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 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
Ken Martin 934949edd0 ENH: use ctest to drive dashboards for make targets as opposed to tclsh 2008-01-31 13:23:04 -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 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