Commit Graph

536 Commits

Author SHA1 Message Date
Brad King 9ee0f9801a Split SunPro compiler information files
This moves platform-independent SunPro compiler flags into separate
"Compiler/SunPro-<lang>.cmake" modules.  Platform-specific flags are
left untouched.
2009-08-21 10:32:26 -04:00
Brad King 2ce6a7d0fb Split Intel compiler information files
This moves platform-independent Intel compiler flags into separate
"Compiler/Intel-<lang>.cmake" modules.  Platform-specific flags are
left untouched.
2009-08-21 09:54:42 -04:00
Brad King 45313dc943 Quote the target name for Borland tlib tool
The Borland librarian tool "tlib" requires that the output target name
be quoted if it contains the character '-' (and perhaps a few others).
This commit restores the use of the TARGET_QUOTED rule variable
replacement for this purpose.  Otherwise no static library can have a
'-' in its name.

This problem was exposed by the 'Testing' test when it builds the
pcStatic library with the '-dbg' suffix.
2009-08-12 09:09:41 -04:00
Brad King 115ecc5750 Teach compiler id about VisualAge -> XL rebranding
IBM rebranded its VisualAge compiler to XL starting at version 8.0.  We
use the compiler id "XL" for newer versions and "VisualAge" for older
versions.  We now also recognize the "z/OS" compiler, which is distinct
from XL.
2009-08-07 10:13:07 -04:00
Brad King 34c6588b6e Move flag to Compiler/VisualAge-Fortran module
The CMAKE_Fortran_DEFINE_FLAG value applies to the IBM Fortran compilers
on all platforms.  This moves the setting to the platform-independent
compiler information file.
2009-08-07 10:12:34 -04:00
Brad King ee7231c03f Use NetBSD to initialize OpenBSD configuration
We teach Modules/Platform/OpenBSD.cmake to load NetBSD first since the
platforms are so similar.  This enables RPATH support on OpenBSD.
2009-08-07 09:56:20 -04:00
Brad King 071ce33ec9 ENH: Install all Modules and Templates
This removes the file-wise installation rules for Modules and Templates
and instead installs the whole directories.  This approach is much less
error-prone.  The old approach was left from before CMake had the
install(DIRECTORY) command.
2009-07-24 13:17:41 -04:00
Bill Hoffman d10d57fedd ENH: remove debug message 2009-07-15 12:43:09 -04:00
Bill Hoffman 6d80f66456 ENH: do not use /INCREMENTAL:YES with VS 10 compiler 2009-07-15 12:18:37 -04:00
Brad King 82c081ba35 BUG: Fix rpath-link flag for SunPro C++ on Linux
This teaches Modules/Platform/Linux-SunPro-CXX.cmake the -rpath-link flag.  The
SunPro C++ compiler does not have a '-Wl,' option, so we just pass the flag
directly.

This problem was exposed by the ExportImport test now that it links an
executable through the C++ compiler with the -rpath-link flag.
2009-07-13 10:40:15 -04:00
Brad King b4b52451ae BUG: Look in arch-specific HPUX implicit link dirs
On HP-UX machines some system libraries appear in architecture-specific
implicit linker search paths.  We need to add these paths to our system
library search path.  However, at the time we construct the search path
we do not know the target architecture.

A full solution requires re-organizing platform configuration files so
that the target architecture can be known when needed.  Until that
happens we can avoid the problem by searching in both 32-bit and 64-bit
implicit link directories.  By telling CMake that they are implicit
directories the generated link lines will never pass the paths, leaving
the linker free to find the library of the proper architecture even if
the find_library call finds the wrong one.
2009-06-19 17:09:36 -04:00
Bill Hoffman b6fc0a78ff ENH: put the 64 bit paths first 2009-06-15 13:17:54 -04:00
Bill Hoffman 62a634aeba ENH: add more search paths on HPUX 2009-06-15 12:39:12 -04:00
Bill Hoffman 8446a48054 ENH: use .exe on vms 2009-06-11 15:25:48 -04:00
Brad King 41b0f92c6a ENH: Enable basic OpenVMS platform support
This adds the Modules/Platform/OpenVMS.cmake platform file for OpenVMS.
We just use Unix-like rules to work with the GNV compiler front-end.

A problem with process execution currently prevents CMake link scripts
from working, so we avoid using them.
2009-06-10 13:04:04 -04:00
Brad King d2b108150f BUG: Recognize .so shared libraries on HP-UX
HP-UX uses both .sl and .so as extensions for shared libraries.  This
teaches CMake to recognize .so shared libraries so they are treated
properly during link dependency analysis.
2009-06-03 15:08:30 -04:00
Brad King a6bc1c34b1 ENH: Auto-import symbols for cygwin executables
This enables the --enable-auto-import linker flag on Cygwin when linking
executables.  It works with the old gcc 3.x compiler and is necessary
for the new gcc 4.x compiler.  See issue #9071.
2009-05-27 11:33:37 -04:00
Brad King cb788e8f6d ENH: Re-enable system include dir suppression
This creates variable CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES to
specify implicit include directories on a per-language basis.  This
replaces the previous platform-wide variable.  It is necessary to
avoid explicit specification of -I/usr/include on some compilers
(such as HP aCC) because:

  1.) It may break ordering among system include directories defined
      internally by the compiler, thus getting wrong system headers.
  2.) It tells the compiler to treat the system include directory
      as a user include directory, enabling warnings in the headers.

See issue #8598.
2009-02-25 11:44:46 -05:00
Brad King 39f8b91125 BUG: Remove implicit include dir suppression
We used to suppress generation of -I/usr/include (and on OSX also
-I/usr/local/include).  This behavior seems to cause more trouble than
it's worth, so I'm removing it until someone encounters the original
problem it fixed.  See issue #8598.
2009-02-24 15:37:09 -05:00
David Cole 553ddde8d1 BUG: Allow third component of Mac OSX sw_vers output to be empty. Mac OSX 10.5 was recently reinstalled on dashmacmini3 and pointed out the fact that this expression is faulty when the reported version is simply 10.5 rather than 10.5.x... for example. This fixes it. 2009-02-17 16:59:58 -05:00
David Cole 75fb6798ab BUG: Remove unnecessary double quotes from SET statements. Hopefully resolves the strange and difficult to diagnose (or reproduce) test failures on the dashmacmini2 Continuous dashboard. 2009-01-29 14:57:38 -05:00
Brad King 7ca59f1724 BUG: Fix OS X dylib version flags for more linkers
Some OS X linkers want a 'dylib_' prefix on the -compatiblity_version
and -current_version flags while others do not.  This passes the flags
through gcc instead since it never wants the prefix and translates the
flags for the linker correctly.
2009-01-29 13:41:58 -05:00
Bill Hoffman 9b0fe5738b BUG: fix for # 8413 add more haiku searching 2009-01-29 11:42:07 -05:00
David Cole 2cd839142d BUG: Fix careless typo that only caused test failures on clean builds... 2009-01-28 06:10:12 -05:00
David Cole 9e3705b5b8 BUG: Try to fix the universal binary continuous dashboard on dashmacmini2. I am deducing that the value of CMAKE_OSX_ARCHITECTURES_DEFAULT is responsible for the failure, although I cannot reproduce it on other builds or even by running the test via ctest interactively *on* the continuous dashboard's build... 2009-01-27 15:51:43 -05:00
David Cole 2853326e7a BUG: Only set CMAKE_OSX_DEPLOYMENT_TARGET on Mac OSX 10.4 or later. The gcc that runs on 10.3 and earlier does not understand the compiler flag it maps to... 2009-01-27 11:50:41 -05:00
David Cole 1dee719cdc BUG: Fix issue #6195. Add CMAKE_OSX_DEPLOYMENT_TARGET cache variable to specify the target deployment runtime OS version of the built executables on Mac OSX. Thanks to Mike Jackson for the patch. 2009-01-27 10:30:55 -05:00
David Cole b640257884 BUG: Fix install_name_tool problem on the Mac when a PROJECT(... NONE) is followed by multiple calls to ENABLE_LANGUAGE. Use find_program to set the CMAKE_INSTALL_NAME_TOOL variable so it gets saved in the cache as a full path to the install_name_tool executable rather than a simple set which eventually goes out of scope. 2008-12-30 09:11:54 -05:00
Brad King d5c1191349 ENH: Use 32-bit and 64-bit Program Files folders
On 64-bit Windows there may be two Program Files folders, one for 32-bit
binaries and one for 64-bit binaries.  When we compute
CMAKE_SYSTEM_PREFIX_PATH we should put both folders in the path.
2008-12-17 09:23:30 -05:00
Bill Hoffman c553c29e9f ENH: fix curses on haiku 2008-12-03 16:13:17 -05:00
Bill Hoffman 619151d014 ENH: fix fortran flags on g77 windows 2008-11-11 13:58:55 -05:00
Bill Hoffman a4f04d5817 ENH: fix fortran flags on sun 2008-11-11 13:58:31 -05:00
Bill Hoffman 9d9582ffef ENH: fix problem where rc language recursively included itself because CMAKE_BASE_NAME was used from c compiler, do the same fix for other uses of CMAKE_BASE_NAME 2008-10-14 16:07:11 -04:00
Bill Hoffman 9430c3f335 ENH: better error message for mis-configured nmake environment 2008-10-14 11:42:45 -04:00
Bill Hoffman 9d6cec87e0 BUG: fix for 5705, link in standard libs for mingw 2008-10-02 12:11:02 -04:00
Bill Hoffman 6a1a1b632d BUG: fix for bug 4772, enable_language should now work on linux with correct flags 2008-10-01 13:24:51 -04:00
Bill Hoffman cf5609221b BUG: fix for 7704 2008-09-25 17:02:06 -04:00
Brad King 434a99bbeb ENH: Teach find_library to find OpenBSD-style libs
OpenBSD shared libraries use a ".so.<major>.<minor>" extension and do
not have a symlink with just a ".so" extension.  Its "ld" is capable of
finding the library with the best version.  This change adds support for
finding such libraries.  See issue #3470.
2008-09-22 11:08:17 -04:00
Bill Hoffman 64fc597de2 ENH: add initial support for HAIKU OS from bug# 7425 2008-09-15 17:53:28 -04:00
Bill Hoffman 3c96dc6086 BUG: make sure the intel compiler uses the intel linker 2008-09-02 14:47:41 -04:00
Bill Hoffman 736da84b4f BUG: fix for 6710 CMAKE_OSX_SYSROOT should be a PATH 2008-08-19 14:23:38 -04:00
Bill Hoffman 0ea69917d9 ENH: add platform file for bounds checker 2008-08-15 15:07:56 -04:00
Brad King 397336a244 ENH: Add preprocessor and assembly rules for Intel 2008-08-06 16:05:01 -04:00
Brad King 4e5e3161a3 BUG: Fix dylib versioning flags for old OSX.
- ld flags -dylib_compatibility_version and -dylib_current_version
    are libtool flags -compatibility_version and -current_version
  - OSX 10.3 does not like the dylib_ prefixes.
2008-07-09 17:45:45 -04:00
Brad King 0d54001276 ENH: Set version info for shared libs on OSX.
- Map SOVERSION major.minor.patch to compatibility_version
  - Map VERSION major.minor.patch to current_version
  - See issue #4383.
2008-07-09 10:09:46 -04:00
Bill Hoffman 6b12da90ea ENH: undo optional because we need it 2008-06-24 16:47:31 -04:00
Bill Hoffman 32d4be94a9 ENH: rc is not so optional at least with 2005 and newer, as it is used to embed the manifest files 2008-06-24 15:50:17 -04:00
Bill Hoffman 2b21d8e16b ENH: make rc optional 2008-06-23 13:37:58 -04:00
Brad King 1203774d52 ENH: Add basic flags for Portland Group fortran compiler. 2008-05-17 17:35:35 -04:00
Brad King 5515515086 ENH: Add Linux-PGI-Fortran platform file to support the Portland Group Fortran compiler (PGI). 2008-05-16 17:56:43 -04:00
Brad King a56e04593a ENH: Make /opt/SUNWspro/lib, /opt/SUNWspro/prod/lib, and /usr/ccs/lib implicit link directories on the Sun when using the SunPro compiler. 2008-04-30 14:13:11 -04:00
Bill Hoffman e1b2fb4c75 ENH: add more fortran flags 2008-04-30 11:33:54 -04:00
Bill Hoffman d4fdbeed64 ENH: allow users to set sysroot 2008-04-28 13:53:14 -04:00
Bill Hoffman 7c6c8fc365 ENH: remove c flags from cxx config file 2008-04-25 09:49:42 -04:00
Bill Hoffman 764229b5a2 ENH: rename Linux-ifort to Linux-Intel-Fortran 2008-04-25 09:43:01 -04:00
Bill Hoffman 0bc5e03dce ENH: do not force the intel ar on C from CXX 2008-04-24 22:00:08 -04:00
Bill Hoffman a3e1dde968 ENH: support intel compiler on linux 2008-04-24 21:54:13 -04:00
Bill Hoffman 20e9be907f ENH: use xiar for the intel compiler 2008-04-21 18:26:09 -04:00
David Cole b03c246a00 ENH: Add Intel compiler module files for the Mac. Thanks to Mike Jackson for contributing. 2008-03-31 08:04:12 -04:00
Brad King 9f54e1f043 ENH: Patch from Maik to add per-configuration default flags to GCC and Intel Fortran compilers on Linux. 2008-03-17 08:55:05 -04:00
Bill Hoffman ed795d283f ENH: fix c flags for 2003 free command line tools 2008-03-13 16:42:31 -04:00
Brad King 230c8972f7 BUG: Do not place $(CMAKE_COMMAND) in link scripts. 2008-03-01 09:08:34 -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 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
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 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 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
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 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
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
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
Brad King b4b9e1d44b BUG: Fix dynamic exports executable link option for Sun C compiler on Linux. 2008-01-29 07:48:22 -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 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 c0bb73787d ENH: make sure msvc90 gets set 2008-01-18 16:06:10 -05:00
Bill Hoffman e5a4da5b3c ENH: make sure MSVC90 is set 2008-01-18 15:19:19 -05:00
Brad King 8d1d5500c8 ENH: Enable use of COMPILE_DEFINITIONS property for Fortran sources. 2008-01-17 19:58:01 -05:00
Brad King b8357db11d ENH: Rename SET_PROPERITES command to SET_PROPERTY and give it a more powerful signature. 2008-01-17 15:54:49 -05:00
Brad King 18b9e7db6c ENH: Enable CMAKE_<lang>_DEFINE_FLAG for COMPILE_DEFINITIONS property implementation. 2008-01-17 10:00:19 -05:00
Brad King 2a78288064 ENH: Convert Modules/Platform specification of system search paths to use CMAKE_SYSTEM_PREFIX_PATH when possible. 2008-01-16 09:51:57 -05:00
Bill Hoffman c598da4328 BUG: fix for bug 6231, bad regex for sunos, worked by chance, but better to have it right 2008-01-15 14:19:32 -05:00
Brad King 8262ccfd4e ENH: Create COMPILE_DEFINITIONS property for targets and source files. Create <config>_COMPILE_DEFINITIONS property as per-configuration version. Add Preprocess test to test the feature. Document limitations on Xcode and VS6 generators. 2008-01-14 09:20:58 -05:00
Bill Hoffman 3f45a27a6b ENH: add support for xlf with -WF,-D for -D 2008-01-11 17:38:41 -05:00
Bill Hoffman c3b7f618d1 ENH: add support for xlf with -WF,-D for -D 2008-01-11 17:37:38 -05:00
Brad King d6a21fc25c BUG: Removed stray debugging message. 2008-01-10 14:47:19 -05:00
Bill Hoffman a40147abce ENH: add support for visual age fortran on linux 2008-01-10 10:50:46 -05:00
Brad King b761da39c1 ENH: Patch from Maik to add preprocessor directive handling to Fortran dependency scanning. Also added -fpp flag to Intel Fortran compiler on Windows by default. 2008-01-09 10:30:11 -05:00
Bill Hoffman b479c6a8a9 ENH: add ability to have manifest files and incremental linking with make and nmake 2008-01-01 15:13:41 -05:00
Brad King 19037da40f ENH: Add SunPro fortran module flags on SunOS. 2007-12-30 16:34:49 -05:00
Brad King b2e8c07af8 ENH: Implemented Fortran module output directory and search path flags. 2007-12-30 16:11:38 -05:00
Alexander Neundorf e3c84cf5a6 ENH: add support for the Syllable OS (http://www.syllable.org)
major issues:
-access() doesn't return false for an empty string (#ifdefed in cmake)
-dlopen() doesn't return 0 on failure (#ifdefed in cmake and fixed now in Syllable)
-the kwsys and Bootstrap tests fail with timeout due to the fact that I'm doing all that in qemu, which is quite slow
-RPATH is now supported, so without modifying the test adapting DLL_PATH in Syllable is required for the tests to succeed
-the Plugin test fails with an undefined reference to example_exe_function() in example_mod_1, it seems this isn't supported under Syllable

Alex
2007-11-23 20:45:49 -05:00
Bill Hoffman 90e6f983de ENH: add support for env var and better default for CMAKE_OSX_SYSROOT 2007-11-15 13:14:41 -05:00
Bill Hoffman 2f23d79969 ENH: fix bug in default arch, it was using the environment variable which is not a default 2007-11-08 14:31:56 -05:00
David Cole e3572607f4 BUG: Do not us the search_paths_first flag on older Mac OSX (10.2 and earlier) systems. 2007-11-08 09:09:14 -05:00
Bill Hoffman 5765fbbb88 ENH: fix spelling error 2007-10-22 14:01:49 -04:00
Bill Hoffman 397d7ff29d ENH: try to fix boostrap on 10.5 2007-10-22 10:17:31 -04:00
Bill Hoffman 613c35e033 ENH: do not always add -arch flags 2007-10-19 22:24:00 -04:00
Alin Elena 680cff0b9f ENH: FindBLAS.cmake and FindLAPACK.cmake modules added. They locate various implementations of blas and lapack libraries. CheckFortranFunctionExists.cmake provides a test function to check if the library is usabale. I have also changed the -KPIC flag to -fPIC in Linux-ifort.cmake. 2007-10-10 17:47:37 -04:00
Bill Hoffman f4ab553178 ENH: add support for preprocessed files in borland 2007-10-05 13:15:34 -04:00
Alexander Neundorf 4ee1ee1bd0 ENH: add support for the Portland Compiler to CMake, can build cmake and the tests pass (except the wrapping tests, which fail to link to the g++-compiled Qt)
Alex
2007-09-17 15:55:17 -04:00
Bill Hoffman 9cbb998737 ENH: add support for vs 2008 beta 2 2007-09-17 15:21:47 -04:00
Alexander Neundorf 68c2dd8009 COMP: also use -Wl,-relax and -lc -lnss etc. when using the IBM compiler
Alex
2007-08-17 10:41:27 -04:00
Bill Hoffman 038f3e240c ENH: use the correct flag for the linker 2007-08-17 09:00:13 -04:00
Alexander Neundorf 6b0e5745ab ENH: add -Wl,-relax to the default linker flags for BlueGene, otherwise you can get "relocation truncated to fit" errors
Alex
2007-08-16 15:02:14 -04:00
Bill Hoffman 8ee6fc0598 ENH: make sure osx searches static and shared libs like other platforms 2007-08-16 09:22:29 -04:00
Alexander Neundorf 5fdb818c84 COMP: fix arguments
Alex
2007-08-16 08:37:17 -04:00
Alexander Neundorf 984b0adc5f STYLE: explicitely set default options for sdcc, so it is visible for which
processor it currently compiles, use --out-fmt-ihx to enforce .ihx files

Alex
2007-08-15 14:22:54 -04:00
Alexander Neundorf f9cb0f3cb4 BUG: also include UnixPaths.cmake on these platforms, this also sets UNIX to 1
Alex
2007-08-10 08:54:42 -04:00
Alexander Neundorf 176fe63d15 ENH: UNIX, CYGWIN, WIN32, APPLE, QNXNTO and BEOS are not longer set in
cmMakefile.cxx, but now in the platform files and are now valid for the
target platform, not the host platform.
New variables CMAKE_HOST_WIN32, CMAKE_HOST_UNIX, CMAKE_HOST_APPLE and
CMAKE_HOST_CYGWIN have been added in cmMakefile.cxx (...and have now to be
used in all cmake files which are executed before
CMakeSystemSpecificInformation.cmake is loaded). For compatibility the old
set is set to the new one in CMakeDetermineSystem.cmake and reset before the
system platform files are loaded, so custom language or compiler modules
which use these should still work.

Alex
2007-08-09 14:45:23 -04:00
Alexander Neundorf dac7814841 ENH: use WindowsPaths.cmake on all Windows platforms, not only for cl, makes
the mingw cross compiler work out of the box and should help mingw users on
windows with a common install dir

Alex
2007-08-02 11:17:32 -04:00
Alexander Neundorf 21f73ebc36 ENH: add support for Catamount, the OS running on the compute nodes of Cray super computers
Alex
2007-08-01 09:14:32 -04:00
Alexander Neundorf 507896e03b ENH:
-add /usr/openwin/include and /usr/openwin/lib to the default search paths
-add /${CMAKE_INSTALL_PREFIX}/(lib|bin|include) to the default cmake search
paths -> this should help users who install stuff in their home

Alex
2007-07-27 11:57:17 -04:00
Alexander Neundorf 919265516e ENH: add ReadListFile() to cmCPackGenericGenerator, so cmMakefile can be
private again
-convert the ZIP generator to use a cmake script instead of hardcoding
everything (CPackZIP.cmake)

Alex
2007-07-24 12:52:39 -04:00
Alexander Neundorf 57f25c53e3 ENH: also look in the include/, lib/ and bin/ directories in the cmake
install dir under windows, this will help e.g. people using kdewininstaller
and similar setups

Alex
2007-07-17 08:51:45 -04:00
Alexander Neundorf ce33d80fa5 BUG: the Plugin test fails on NetBSD, let's see if this fixes it
Alex
2007-07-16 10:13:00 -04:00
Alexander Neundorf 5bd38eb630 ENH: also add the install base dir of the running cmake to the search
directories for the FIND_XXX() commands, for the case that somebody has its
own install tree

Alex
2007-07-16 09:08:45 -04:00
Alexander Neundorf 2339b9f753 ENH: add DragonFly BSD, which is very close to FreeBSD (#4500)
Alex
2007-07-13 11:20:42 -04:00
Alexander Neundorf 2509e24afe ENH: add the static libs always to the link libs, if they are not used it shouldn't hurt
Alex
2007-07-12 16:15:29 -04:00
Alexander Neundorf d090159318 ENH: add support for the ADSP toolchains for Blackfin, Shark and TigerShark
DSPs, patch from Raphael Cotty

Alex
2007-07-12 13:41:00 -04:00
Alexander Neundorf 1f7e8e6f0b ENH: add the ecos include dir and the ecos definitions by default
Alex
2007-07-10 17:11:57 -04:00
Alexander Neundorf 3974ddc69e ENH: add support for building eCos applications natively
Alex
2007-07-09 13:07:23 -04:00
Alexander Neundorf 5b18b80b58 ENH: initial support for assembler in cmake, needs testing by our users
Alex
2007-06-28 09:14:27 -04:00
Brad King eab81489f1 ENH: Added global property FIND_LIBRARY_USE_LIB64_PATHS to allow lib64 paths to be searched optionally. Turn off the feature on debian systems. This addresses debian report 419007. 2007-06-27 12:07:34 -04:00
Brad King a5e6f52a96 ENH: Added GNU/Hurd platform. Taken from debian patch 407155. 2007-06-27 11:42:10 -04:00
Alexander Neundorf 25a425ecf0 ENH: 2007-06-26 15:15:52 -04:00
Alexander Neundorf cd8687782b ENH: add basic support for sdcc (http://sdcc.sourceforge.net), needs sdcc (sdcclib) cvs for creating libraries)
Alex
2007-06-26 13:19:46 -04:00
Alexander Neundorf f8261ff9f7 STYLE: change global cmake variable CMAKE_TARGET_SUPPORTS_ONLY_STATIC_LIBS
to the first global cmake property TARGET_SUPPORTS_SHARED_LIBS

Alex
2007-06-26 13:05:27 -04:00
Alexander Neundorf 10e3efa6b5 ENH: add support for BlueGene/L
Alex
2007-06-22 10:22:27 -04:00
Alexander Neundorf 1383368628 ENH: print a warning if ADD_LIBRARY( SHARED/MODULE ) is used and the target
platform doesn't support shared libraries

Alex
2007-06-21 16:23:54 -04:00
Alexander Neundorf 6c02ec1a40 STYLE: add a comment about SetLanguageEnabled()
-add a Generic.cmake for target platforms without operating system

Alex
2007-06-11 15:47:35 -04:00
Alexander Neundorf 74750610cf ENH: determine typesize by compiling a file and reading strings from the compiled output.
Tested with various gcc, XCode, MSVC7, sdcc
For OSX when doing TRY_COMPILE() CMAKE_OSX_ARCHITECTURES is used, if there are different results an error is generated. CMAKE_OSX_ARCHITECTURES can be overwritten for the TRY_COMPILES with CMAKE_TRY_COMPILE_OSX_ARCHITECTURES.

Alex
2007-06-04 17:08:46 -04:00
Alexander Neundorf 6be930f0cf STYLE: move the two CMAKE_SHARED_LIBRARYC/CXX_FLAGS for gcc from
CMakeGenericSystem.cmake to gcc.cmake

Alex
2007-05-22 09:15:00 -04:00
Alexander Neundorf a18d286635 ENH: move hack to fix "new cmake on old build tree on OSX doesn't have CMAKE_INSTALL_NAME_TOOL in the cache" from
cmInstallTargetGenerator.cxx to Darwin.cmake

Alex
2007-05-18 11:57:29 -04:00
Brad King 92c0f41251 ENH: Use CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES from platform files to block link directories. 2007-05-18 11:36:23 -04:00
Alexander Neundorf 15a7414a60 COMP: if a new cmake runs on an old build tree, set CMAKE_LINKER to link to make it link
Alex
2007-05-18 10:55:35 -04:00
Alexander Neundorf 891f2130cf COMP: fix link rules with nmake, the linker command has to be converted to shortpath form for nmake
Alex
2007-05-18 10:32:22 -04:00
Alexander Neundorf 61d3444f93 ENH: merge CMake-CrossCompileBasic to HEAD
-add a RESULT_VARIABLE to INCLUDE()
-add CMAKE_TOOLCHAIN_FILE for specifiying your (potentially crosscompiling) toolchain
-have TRY_RUN() complain if you try to use it in crosscompiling mode (which were compiled but cannot run on this system)
-use CMAKE_EXECUTABLE_SUFFIX in TRY_RUN(), probably TRY_RUN won't be able to
run the executables if they have a different suffix because they are
probably crosscompiled, but nevertheless it should be able to find them
-make several cmake variables presettable by the user: CMAKE_C/CXX_COMPILER, CMAKE_C/CXX_OUTPUT_EXTENSION, CMAKE_SYSTEM_NAME, CMAKE_SYSTEM_INFO_FILE
-support prefix for GNU toolchains (arm-elf-gcc, arm-elf-ar, arm-elf-strip etc.)
-move ranlib on OSX from the file command to a command in executed in cmake_install.cmake
-add support for stripping during install in cmake_install.cmake
-split out cl.cmake from Windows-cl.cmake, first (very incomplete) step to support MS crosscompiling tools
-remove stdio.h from the simple C program which checks if the compiler works, since this may not exist for some embedded platforms
-create a new CMakeFindBinUtils.cmake which collects the search fro ar, ranlib, strip, ld, link, install_name_tool and other tools like these
-add support for CMAKE_FIND_ROOT_PATH for all FIND_XXX commands, which is a
list of directories which will be prepended to all search directories, right
now as a cmake variable, turning it into a global cmake property may need
some more work
-remove cmTestTestHandler::TryExecutable(), it's unused
-split cmFileCommand::HandleInstall() into slightly smaller functions

Alex
2007-05-17 13:20:44 -04:00
Brad King e1260b8468 ENH: Enabled preprocessor make rules for Watcom. 2007-05-16 13:26:47 -04:00
Bill Hoffman 9323a27989 ENH: initial support for creation of frameworks on Mac 2007-05-08 10:32:54 -04:00
Brad King 96232d4052 BUG: Detect debian with existence of /etc/debian_version so things work in a chroot install. This is suggested in bug#4805. 2007-05-07 18:17:32 -04:00
Brad King 44ab336a0c ENH: Merging CompilerId updates from branch CMake-Modules-CompilerId to the main tree. Changes between CMake-Modules-CompilerId-mp1 and CMake-Modules-CompilerId-mp2 are included. 2007-05-03 08:24:32 -04:00
Alexander Neundorf 6e2cd41138 BUG: if /opt/lib and /opt/csw/lib are searched for libs, then /opt/include
and /opt/csw/include should also be searched for headers (according to
google they also exist)

Alex
2007-04-30 10:57:32 -04:00
Brad King 2dd364f751 ENH: Add CMAKE_EXE_EXPORTS_C_FLAG and CMAKE_EXE_EXPORTS_CXX_FLAG to support executables that export symbols. 2007-04-18 00:11:47 -04:00
Brad King 66d1930f56 ENH: Added CMAKE_EXE_EXPORTS_C_FLAG and CMAKE_EXE_EXPORTS_CXX_FLAG to support executables that export symbols. 2007-04-17 23:41:51 -04:00
Brad King 60befc2e49 ENH: Added CMAKE_SHARED_MODULE_LOADER_C_FLAG and CMAKE_SHARED_MODULE_LOADER_CXX_FLAG to support linking plugins to executables. 2007-04-17 16:19:36 -04:00
Brad King a017333d9a ENH: Added option CMAKE_INSTALL_SO_NO_EXE on linux to choose whether the default permissions for shared libraries include the executable bit. This is necessary to support the conflicting policies of Debian and Fedora. These changes address bug#4805. 2007-04-10 11:22:15 -04:00
Brad King 0526552b10 ENH: Enabled use of soname and therefore versioning symlinks. Patch is from bug#4558. 2007-04-10 08:36:33 -04:00
Brad King 5a32aa5919 ENH: Added target property ENABLE_EXPORTS for executable targets. It enables the executables for linking by loadable modules that import symbols from the executable. This finishes the executable import library support mentioned in bug #4210. 2007-03-22 09:45:25 -04:00
Brad King 56ce727d10 BUG: Disable creation of import libraries for executables on Borland until it can be made optional. Otherwise all executables get a .lib with the same name which is unexpected behavior for users. 2007-03-20 09:14:27 -04:00
Brad King fc7c433463 ENH: Added support for import libraries created by executable and module targets. The module import libraries should never be used but some windows compilers always create them for .dll files since there is no distinction from shared libraries on that platform. The executable import libraries may be used to create modules that when loaded bind to symbols from the executables. This is an enhancement related to bug#4210 though not requested by it explicitly. 2007-03-19 10:00:36 -04:00
Brad King 2f09a22411 BUG: Do not create import library for MODULEs. This is an incremental fix for bug#4210. 2007-03-10 07:49:47 -05:00
Brad King 007fa79037 BUG: Fixed MSVC8 module build rule to not use /implib option. This is an incremental fix for bug#4210. 2007-03-10 07:37:42 -05:00
Brad King 475447870f BUG: Shared library creation should use /implib option to specify the name of the import library explicitly. This is an incremental step for bug #4210. 2007-03-09 13:59:18 -05:00
Brad King 0e8515fa4c BUG: Get rid of ancient variables CMAKE_CXX_WARNING_LEVEL, CMAKE_CXX_USE_RTTI, CMAKE_CXX_STACK_SIZE which are only partially implemented and now taken care of by flag mapping anyway. 2007-03-07 15:57:52 -05:00
Brad King 42e1ffb7f5 BUG: Do not create import library for MODULEs. The TARGET_IMPLIB name is not set correctly for MODULE rules anyway. 2007-03-03 10:09:18 -05:00
Andy Cedilnik b9ab2b1932 BUG: Propagate platform settings such as CMAKE_OSX_ARCHITECTURES to the try compile 2007-03-02 11:33:37 -05:00
Bill Hoffman 846b058f73 ENH: force c++ when building c++ objects 2007-02-21 11:45:38 -05:00
Bill Hoffman b8eede3b19 BUG: fix for bug 3950 add support for df compiler on windows 2007-02-20 16:43:32 -05:00
Bill Hoffman c96c175484 ENH: try to force c++ on qnx 2007-02-20 11:33:40 -05:00
Brad King a7042f2e97 BUG: Applied patch from bug#4462. 2007-02-19 13:53:25 -05:00
Bill Hoffman a47820ca86 ENH: add beos file 2006-12-07 16:14:09 -05:00
Bill Hoffman 5ac4801a04 BUG: use different commands for shared libraries and exe for manifest stuff fix for bug#4039 2006-11-11 14:04:29 -05:00
Brad King b155f3aa1c ENH: Adding image version number (major.minor) property to windows binaries. Default is 0.0, but the VERSION target property may change the value. Windows now has first-class support for dll and exe versioning. This addresses bug#1219. 2006-10-16 18:17:14 -04:00
Brad King 7f7374e818 BUG: Do not enable -isystem support for Xcode generator until it is implemented. 2006-10-06 09:16:53 -04:00
Brad King e0a662a3dd ENH: Adding version number to the name of a DLL built in cygwin but not the import library. This addresses bug#3571. 2006-10-05 16:30:47 -04:00
Brad King 48470eaa00 ENH: Enabling link-type selection flags on Cygwin, MSYS, and MinGW. This addresses bug#1644 on these platforms. 2006-10-05 15:08:23 -04:00
Brad King e1799a5f88 BUG: QNX GCC does not have -isystem. 2006-10-05 09:33:03 -04:00
Brad King c11cf31c9b ENH: Adding SYSTEM option to INCLUDE_DIRECTORIES command. This addresses bug #3462. 2006-10-05 08:55:59 -04:00
Bill Hoffman 131d8205f5 BUG: fix for bug# 3584 missing SONAME for fortran on darwin 2006-10-04 10:54:53 -04:00
Bill Hoffman 115521338c BUG: fix for bug#3652 use link /lib instead of lib 2006-10-03 16:12:50 -04:00
Bill Hoffman 943de01060 ENH: disable static shared stuff on AIX, see comment 2006-10-03 13:35:41 -04:00
Brad King 506dca3990 BUG: Header and library search path ordering should be consistent. 2006-09-28 11:42:19 -04:00
Brad King 8e3bb08b81 ENH: Enabling link type selection flags for this platform. See bug#1644 for details. 2006-09-18 09:40:12 -04:00
Brad King 147b4ff102 BUG: Need -Wl, to pass linker flags when using gcc on Sun. 2006-09-16 11:47:21 -04:00
Brad King 690543c612 ENH: Enabling link type selection flags for this platform. See bug#1644 for details. 2006-09-15 15:19:11 -04:00
Brad King b2a5495922 STYLE: Updated comment about link type flags and passing directly to ld. 2006-09-15 15:18:34 -04:00
Brad King e21b65cbb9 BUG: Fix CMAKE_SHARED_*_LINK_*_C_FLAGS to pass link type selection flags directly to the linker. 2006-09-15 15:14:55 -04:00
Brad King 5845843156 ENH: Enabling link type selection flags for this platform. See bug#1644 for details. 2006-09-15 15:05:03 -04:00
Brad King 3079a67133 ENH: Enabling link type selection flags for this platform. See bug#1644 for details. 2006-09-15 14:58:30 -04:00
Brad King 1d0502927c ENH: Adding support to link specifically to an archive or a shared library based on the file name specified. This fixes the problem of having -lfoo linking to libfoo.so even when it came from libfoo.a being specified. 2006-09-15 14:09:10 -04:00
Brad King 276e7e21a3 ENH: Adding flags to force generation of manifest files when building with VC 8. 2006-08-15 15:33:20 -04:00
Brad King cd3d44881f ENH: Enabling preprocessed source and asembly source generation rules on AIX compilers. 2006-08-09 13:59:22 -04:00
Brad King 8e6a9b2065 ENH: Enabled generation of preprocessed and assembly source rules for MSVC with NMake. 2006-08-09 13:45:13 -04:00
Brad King 8fbf4a0de6 ENH: Enabling preprocessed source and asembly source generation rules on SGI MIPSpro compilers. 2006-08-09 13:14:48 -04:00
Brad King 3b99b5ede3 ENH: Enabling preprocessed source and asembly source generation rules on HP aCC and cc. 2006-08-09 13:10:01 -04:00
Brad King 00e0c5c8e6 ENH: Enabling preprocessed source and asembly source generation rules on Sun CC. 2006-08-09 11:48:36 -04:00
Brad King dd37d0652f ENH: Changed preprocessed source extension to .i and assembly extension to .s for more portability. 2006-08-09 11:43:35 -04:00
Brad King 5cfa1b02ab ENH: Added generation of rules to manually request preprocessed or generated assembly sources. 2006-08-07 23:25:21 -04:00
Brad King c9506c30f0 BUG: Fixed shared library version support for Fortran. This addresses bug#3558. 2006-08-01 15:36:49 -04:00
Bill Hoffman 47ef504530 BUG: fix for bug 3550, for release builds do not build incremental 2006-07-26 11:15:28 -04:00
Ken Martin e206d58027 BUG: fix for CXX only projects 2006-07-24 16:13:33 -04:00
Ken Martin 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 2006-06-14 12:28:32 -04:00
Ken Martin 77b401ddb2 ENH: removed logo info from the manifest tool 2006-06-12 13:17:47 -04:00
Bill Hoffman f08b1a2c96 ENH: add the flag for creating windows gui's 2006-05-05 21:49:02 -04:00