Commit Graph

713 Commits

Author SHA1 Message Date
Brad King e28c16b482 Split GNU compiler information files
This moves GNU compiler flags into new-style modules

  Compiler/GNU-<lang>.cmake
  Platform/<os>-GNU-<lang>.cmake

We use language-independent helper modules

  Compiler/GNU.cmake
  Platform/<os>-GNU.cmake

to define macros consolidating the information.
2009-12-02 09:52:00 -05:00
Brad King 1f06c33f8e Drop -rdynamic from Linux build rules
This is a GNU-specific option that should not be specified for all
compilers on Linux.  It tells the GNU compiler to pass -export-dynamic
to the linker to export symbols from executables for use by plugins.
Since we provide the ENABLE_EXPORTS target property to do the same thing
in a cross-platform way, there is no need to pass -rdynamic always.

Since the option is not useful for GNU tools and breaks other tools on
Linux we simply remove it from CMAKE_SHARED_LIBRARY_LINK_<lang>_FLAGS.
This also allows us to stop setting the variable in other Linux compiler
files just to erase the bad flag.

See issue #9985.
2009-12-01 14:25:21 -05:00
Brad King 4f43c1f276 Singly-quote target names for Watcom linker
The Watcom tools do their own command-line parsing and do not accept
double-quotes.  Instead we single-quote the target output name when
invoking wlink and other Watcom tools.  This fixes support for spaces in
the target output directory path when it is not under the build tree.
2009-11-30 11:16:24 -05:00
Bill Hoffman 4430bccc70 Change the way 32/64 bit compiles are detected with MSVC and intel makefile builds. Use the platform ID preprocessor approach. 2009-11-19 21:58:42 -05:00
Brad King 537906b467 Fix flags for Intel Fortran on Windows
We replace "/MD" with ifort-specific flags as follows:

  /MD  -> /threads /libs:dll
  /MDd -> /threads /libs:dll /dbglibs

We also enable the "/MD" equivalent for all Fortran configurations.
Previously multithreaded dll runtimes were used for release builds and
threaded static runtimes for debug builds.  For mixed Fortran C/C++
projects, this led to link warnings for Debug but not for Release.

See issue #8744.
2009-10-29 10:06:10 -04:00
Brad King ccdd3e943d Fix Intel Fortran SHARED libraries on Linux
The Intel Fortran compiler needs options '-i_dynamic' and '-nofor_main'
to create shared libraries on Linux (for at least one architecture).
2009-10-27 10:50:43 -04:00
Brad King 707d05e936 Fix Intel and MinGW Fortran DLL import libraries
We add Intel and MinGW Fortran linker options to create the import
library portion of a DLL.  This allows other binaries to link to a
Fortran DLL.

We also update the Fortran test to use a .def file to specify exports
since there is no __declspec(dllexport) markup syntax in Fortran.
2009-10-26 11:07:27 -04:00
Brad King 0653286dc6 Split Borland compiler information files
This commit re-writes Borland compiler build rules.  We split the rules
into modern <os>-<id>-<lang> information modules but share a common
macro between languages to avoid duplication.

We also address a bug in the previous rules that would build some target
types against the static Borland runtime and others against the shared
Borland runtime in one build tree.  Now we always use the shared runtime
as is the default in the rules for MS tools.
2009-10-08 11:56:07 -04:00
Bill Hoffman 0556075034 Teach intel compiler on windows to place .lib files and .pdb files. 2009-10-05 13:17:53 -04:00
Bill Hoffman 57ece74730 Teach intel compiler on windows to place .lib files and .pdb files. 2009-10-05 12:49:51 -04:00
Brad King f98a4e63fd Avoid (Unix|Windows)Paths.cmake multiple include
Block multiple inclusion because "Modules/CMakeCInformation.cmake"
includes "Platform/${CMAKE_SYSTEM_NAME}" even though the generic
module "CMakeSystemSpecificInformation.cmake" already included it.

The extra inclusion is a work-around to address issue #4772 without
intrusive platform file changes.  Once those changes are made the
work-around and these include blockers can be removed.  See issue #9656.
2009-10-05 11:47:25 -04:00
Brad King 3dc80f8d8c Add copyright notice to (Unix|Windows)Paths.cmake
This commit adds our copyright notice to these non-trivial platform
modules.
2009-10-05 11:47:05 -04:00
Brad King c118fd4c55 Find locally installed software first
This commit re-orders the search path prefix list from

  /
  /usr
  /usr/local

to

  /usr/local
  /
  /usr

so that locally-installed software is preferred.

This makes the search consistent with the Filesystem Hierarchy Standard:

  http://www.pathname.com/fhs/

See issue #9657.
2009-10-05 11:09:15 -04:00
Brad King 451d68b7e3 Support GNU/kFreeBSD
GNU/kFreeBSD = FreeBSD kernel + userspace with glibc.  Linux.cmake
doesn't contain anything too OS specific, so we can forward to it.

Here are outputs of /bin/uname on author's machine:
  uname -p ==> i386
  uname -o ==> GNU/kFreeBSD
  uname -s ==> GNU/kFreeBSD
  uname -r ==> 5.4-1-686

Patch from Modestas Vainius.  See issue #9659.
2009-10-05 10:26:50 -04:00
Brad King c513962701 Create INTERPROCEDURAL_OPTIMIZATION build feature
This commit creates target and directory properties to enable the Intel
interprocedural optimization support on Linux.  Enabling it adds the
compiler option '-ipo' and uses 'xiar' to create archives.

See issue #9615.
2009-10-02 13:52:13 -04:00
Brad King d455eeb6d7 Fix typo in Intel xiar search code
This renames the variable '_intel_xair_hints' to '_intel_xiar_hints'.
2009-10-02 13:24:32 -04:00
Brad King 6d434ee6cc Split XL compiler information files
This moves platform-independent XL compiler flags into separate
"Compiler/XL-<lang>.cmake" modules.  Platform-specific flags go in
"Platform/<os>-XL-<lang>.cmake" modules.
2009-09-30 09:37:35 -04:00
Brad King f40406ed6b Fix default install prefix on Haiku
Since Haiku does not have /usr (and therefore /usr/local), this commit
changes the default install prefix to the equivalent directory of
/boot/common.

See issue #9607.
2009-09-30 08:31:53 -04:00
Brad King 869440f75a Fix shared library creation flag for XL on Linux
See issue #9617.
2009-09-29 13:56:57 -04:00
Brad King 180c60a86f Fix check for -isysroot on OS X
Previously we checked for this flag by parsing the version number of GCC
out of 'gcc --version', but this is not reliable because the format can
vary greatly.  Now we run 'gcc -v --help' and look for '-isysroot' in
the list of options.

We also now store the result on a per-language basis in the per-compiler
info file "CMake<LANG>Compiler.cmake".  This is necessary to make it
accessible from try-compile projects so that they generate correctly.
2009-09-19 10:14:31 -04:00
Bill Hoffman 58818d5168 Add detection of gcc versions that do not support isysroot option and do not use it for them. 2009-09-18 14:22:20 -04:00
Bill Hoffman ea282284d5 Fix for bug #9466. Change the implementation of OSX arch lists. If no ARCHs are specified by the user then no flags are set. We no longer use CMAKE_OSX_ARCHITECTURES_DEFAULT. 2009-09-17 11:53:02 -04:00
Brad King b5e558e291 Fix XL C++ compiler flags on Linux
In Platform/Linux.cmake we add GNU flags as default for the platform
which breaks non-GNU compilers.  Later we should refactor these flag
files to put compiler-specific flags only in files loaded for each
compiler.  Until then this commit fixes the XL C++ compiler flags on
Linux by erasing the GNU flags.  See issue #9469.
2009-09-16 12:33:24 -04:00
Bill Hoffman 8710cc6422 Add support for embeded manifests for Intel C/C++/Fortran compilers 2009-09-01 16:33:51 -04:00
Bill Hoffman 76d059e3fb Add a module to determine if the intel linker supports manifest creation 2009-09-01 16:23:07 -04:00
Bill Hoffman e9a170b108 Move /MANIFEST flag into -E vs_link. This is so it can be used by the intel compilers without having to specifiy it in the intel compiler files 2009-09-01 14:33:26 -04:00
Brad King 2eca4dd2d1 Use Intel for Linux flags only on Linux
The commit "Split Intel compiler information files" moved some Linux
specific flags into the platform-independent Intel compiler info files.
This moves them back.
2009-09-01 13:55:13 -04:00
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
Bill Hoffman 0cfda4a7f0 ENH: use correct flags for optimization 2006-05-03 09:23:57 -04:00
Ken Martin 3023eb7ccb ENH: Makefile performance improvements 2006-05-02 09:56:42 -04:00
Andy Cedilnik b9947a91d4 ENH: Cleanup link libraries. Remove -l from -ldl 2006-04-20 10:23:17 -04:00
Bill Hoffman e6ef33f598 ENH: name pdb files for visual studio make based builds 2006-04-19 16:36:14 -04:00
Bill Hoffman f2e2f23392 ENH: unix makefiles should work with cl 2006-04-19 15:29:19 -04:00
Bill Hoffman 4a20d4fe39 ENH: don't need two of these 2006-04-19 11:14:00 -04:00
Bill Hoffman 96c140e281 ENH: test for vs8 correctly 2006-04-19 10:56:54 -04:00
Bill Hoffman 0b490110ba ENH: check for version 1400 2006-04-19 10:11:43 -04:00
Bill Hoffman b4c7f843f9 ENH: add windows apps to mingw 2006-04-17 13:57:08 -04:00
Bill Hoffman cae4e6b37a ENH: add patch for finding applications on OSX 2006-04-13 11:00:52 -04:00
Brad King 08289893b8 ENH: Split CMAKE_STANDARD_LIBRARIES into per-language variables CMAKE_<lang>_STANDARD_LIBRARIES. This is needed to get programmable language support working with Visual Studio generators. It makes sense anyway. 2006-04-11 16:55:49 -04:00
Bill Hoffman bcfd6f7f69 ENH: add better variables for MSVC versions 2006-04-07 16:46:41 -04:00
Brad King f0e8c750d1 BUG: Fixed order of options to cl for 32-bit/64-bit test to work with VS 6 NMake. 2006-03-30 16:55:19 -05:00
Bill Hoffman 5a2668b326 ENH: add support for win64 for visual studio 2005 ide and nmake, also fix warnings produced by building for win64 2006-03-30 13:49:56 -05:00
Bill Hoffman dfbee4a92a ENH: use correct name for path 2006-03-29 16:34:50 -05:00
Andy Cedilnik 40272a16bd ENH: Add support for adding content to bundles 2006-03-28 08:54:01 -05:00
Bill Hoffman 53ab2aa6af ENH: add /opt/local/include 2006-03-27 12:21:43 -05:00
Bill Hoffman a64f629140 ENH: add unix paths 2006-03-27 11:09:19 -05:00
Bill Hoffman d33021924d ENH: add more search paths and add UnixPaths to all unix platforms 2006-03-27 10:46:42 -05:00
Brad King a59dd5d4c3 BUG: Fix '/use/lib' to be '/usr/lib'. 2006-03-24 14:15:10 -05:00
Bill Hoffman f7c1723135 ENH: add support for universal binaries 2006-03-24 09:15:05 -05:00
Brad King 0376fe4b9b ENH: Added support for linking to MS .lib libraries in MinGW. 2006-03-22 11:10:58 -05:00
Brad King 88f69f0df9 BUG: /DWIN32 and /D_WINDOWS should be defined for all configurations or if no configuration is set. 2006-03-16 17:40:48 -05:00
Brad King 8e137c54d6 ENH: Enabling soname support on FreeBSD. 2006-03-16 11:15:24 -05:00
Bill Hoffman 44e6852322 ENH: use c not cxx 2006-03-15 14:14:03 -05:00
Bill Hoffman 88bd3b5281 ENH: add support for removing language flags from shared library and shared module link commands 2006-03-14 14:03:16 -05:00
Bill Hoffman 15b5869b46 ENH: add correct initial flags for aix 2006-03-09 15:00:37 -05:00
Bill Hoffman 14cb9c5aff ENH: remove junk 2006-03-09 14:57:55 -05:00
Bill Hoffman 592aef9703 ENH: add support for language flags that allow for universal binaries 2006-03-06 15:14:53 -05:00
Bill Hoffman 3f532f5489 ENH: add support for language flags at rule expansion time 2006-03-06 15:14:23 -05:00
Bill Hoffman 36080b04bb ENH: add support for manifest stuff 2006-03-06 15:01:08 -05:00
Bill Hoffman ea8c278cd6 ENH: add manifest support for 2005 2006-03-03 12:01:04 -05:00
Bill Hoffman a5825cd11a ENH: check in new find stuff 2006-03-02 13:30:22 -05:00
Bill Hoffman 7603244509 ENH: use program files env for searching 2006-02-28 10:27:30 -05:00
Brad King 586a9427d3 ENH: Created target property INSTALL_NAME_DIR initalized by CMAKE_INSTALL_NAME_DIR specifying the directory portion of the OSX install_name field in shared libraries. This is the OSX equivalent of RPATH. 2006-02-24 13:13:14 -05:00
Bill Hoffman 0a0e459102 ENH: make command line flags more consistent with ide settings 2006-02-21 12:19:32 -05:00
Brad King 90c8ea1c03 BUG: Fixed module creation rules. Removed soname portion of all rules because it is never used on this platform. 2006-02-19 13:49:18 -05:00
Brad King 57d2f7fded BUG: Fixed cygwin module creation rules. Modules should not have the "cyg" prefix by default. Removd soname flags from creation rules because they are never used on this platform. 2006-02-19 13:34:22 -05:00
Brad King 81677b3130 ENH: Generate import libraries for DLLs on Cygwin and MinGW. 2006-02-18 15:37:23 -05:00
Bill Hoffman 79b7e0c37c ENH: remove warning suppressions for borland compiler, projects wanting this should use -w-, the default warning level is used for all other compilers. Used to be -w- -whid -waus -wpar 2006-02-15 08:05:55 -05:00
Bill Hoffman 6f96bba66d ENH: fix try compile for MFC 2006-02-14 10:51:36 -05:00
Brad King 33587ce376 ENH: Added platform settings CMAKE_FIND_LIBRARY_PREFIXES and CMAKE_FIND_LIBRARY_SUFFIXES to allow customized searching for libraries. 2006-02-09 15:05:13 -05:00
Brad King e40ca0f428 BUG: Need Windows-g++.cmake module to support C++-only projects on Windows. 2006-02-09 14:18:48 -05:00
Brad King 7953f6a467 ENH: Adding definition of MSVC when it is the compiler. 2006-02-07 17:10:13 -05:00
Brad King 63b4952f4c BUG: Removed odbc32.lib and odbccp32.lib from standard libraries on VS 8 because VC++ Express 2005 does not have them. They are SQL database access libraries and should not be needed for every application. User code can always explicitly link the library. Also replacing deprecated /GZ option with /RTC1 for VS 8. This addresses bug#2795. 2006-02-02 20:15:38 -05:00
Bill Hoffman 6d65b48279 ENH: add kFreeBSD support 2006-01-23 11:32:35 -05:00
Bill Hoffman 9891260a6d ENH: add support for watcom wmake and wcl386 2006-01-17 10:21:45 -05:00
Bill Hoffman 2694ad76c5 ENH: correct standard libraries 2006-01-17 09:27:43 -05:00
Ken Martin 4bdca3b404 ENH: put CmakeTmp into CMakeFiles 2006-01-12 13:49:32 -05:00
Bill Hoffman b08a151722 ENH: add exe stuff for cygwin 2006-01-03 14:00:48 -05:00
Bill Hoffman 86ad253427 BUG: fix for bug 2322, use CMAKE_EXECUTABLE_SUFFIX variable for exe suffix 2006-01-02 13:37:53 -05:00
Bill Hoffman b0c38460bd ENH: remove duplicates 2005-12-20 13:53:27 -05:00
Bill Hoffman 2dff0978b9 BUG: fix for bug 2488 2005-11-22 12:04:41 -05:00
Bill Hoffman 066d5259c0 ENH: more compiler flags 2005-11-22 11:44:07 -05:00
Brad King 036a78056c BUG: Fixed flag-to-vcproj-attribute conversion code to work again (it was broken by the optimization changes). Added conversion of /nologo flag to SuppressStartupBanner attribute and /Gy flag to EnableFunctionLevelLinking attribute. 2005-11-18 10:36:52 -05:00
Bill Hoffman b94d785df9 ENH: add all libs 2005-11-10 14:28:51 -05:00
Andy Cedilnik 37dc4bdc6e COMP: On mingw, -fPIC is not necessary and it actually produces warnings 2005-10-18 13:25:54 -04:00
Bill Hoffman 8ed25a5b89 ENH: add flags for debug release for aix 2005-08-29 17:09:29 -04:00
Bill Hoffman cb0cd91ff3 ENH: /nologo must be first 2005-08-02 17:41:42 -04:00
Ken Martin c6b011e35e ENH: put cmake files intoa CMakeFiles subdir to clean up bin tree 2005-07-29 09:19:25 -04:00
Bill Hoffman ff250565a2 ENH: move flags next to compiler, so if env contains compiler and some flag, they stay together 2005-07-20 12:54:12 -04:00
Bill Hoffman 6571799492 FIX: for 1852 fix fortran case 2005-07-13 08:29:56 -04:00
Brad King 6048659e66 BUG: Fixed escaped quote at end of . 2005-06-30 11:18:56 -04:00
Brad King 387bcc5d20 BUG: Need to use the -c option for implib to produce case-sensitive symbols in the .lib files. 2005-06-29 12:07:09 -04:00
Ken Martin e1e7b11437 ENH: fixed some spelling errors 2005-06-20 16:31:34 -04:00
Ken Martin 8108786494 ENH: fix for incorrect setting of CONFIZGURATION_TYPES 2005-06-07 12:07:34 -04:00
Andy Cedilnik 6adbe6d049 ENH: Be more verbose, handle network paths, and write compiler output to the log files 2005-05-19 14:36:19 -04:00
Bill Hoffman f50e904faf ENH: fix install test with xcode, the xcode generator does not support library versioning yet 2005-04-07 16:09:13 -04:00
Brad King 1c4337d778 ENH: Removed CMAKE_GENERATOR_NEW now that the old unix makefile generator is never used. 2005-04-06 15:06:08 -04:00
Bill Hoffman dbf7410bb2 ENH: try to fix rpath on qnx 2005-03-14 12:18:23 -05:00
Brad King a116420839 ENH: Initial attempt at QNX support. Submitted by Tim Arney. 2005-03-11 10:15:36 -05:00
Brad King 54c99dc5fd ENH: Adding support for shared library versioning using the -install_name option on the OSX linker. This is actually needed to support relative -o paths which are used by cmLocalUnixMakefileGenerator2. 2005-03-01 12:26:25 -05:00
Brad King a21c0449ab BUG: Added installation of .in files as well as .cmake files. 2005-02-24 11:46:27 -05:00
Bill Hoffman 16dec1dd0d ENH: remove debug print 2005-01-28 08:30:56 -05:00
Bill Hoffman 36dd18efce ENH: stuff to keep compiler tests from re-running all the time 2005-01-20 12:30:03 -05:00
Bill Hoffman e7bc462755 BUG: fix running of cl in trycompiles 2005-01-17 15:20:41 -05:00
Bill Hoffman 080a626d8f ENH: fix for OpenBSD 2004-12-16 17:26:59 -05:00
Bill Hoffman 2aaac85694 FIX: fix for bug 1325, Tru64 not True64 2004-12-06 12:39:18 -05:00
Bill Hoffman a8fb3b69e2 ENH: try and fix aix xlC with gcc 2004-11-23 17:34:59 -05:00
Bill Hoffman 04ca53e686 ENH: try and fix aix xlC with gcc 2004-11-23 17:28:28 -05:00
Bill Hoffman bdb660bad4 ENH: try to fix aix with native cxx and gcc 2004-11-23 14:07:46 -05:00
Bill Hoffman 7cef36c628 ENH: add the ability to generate custom commands for a language that is not supported by an IDE 2004-10-21 14:34:02 -04:00
Bill Hoffman 5bc54263a6 ENH: use c++ with c++ and c flags with c 2004-09-24 09:11:42 -04:00
Bill Hoffman 692ba48c4e ENH: major changes to support addition of languages from cmake modules directory. 2004-09-22 14:42:05 -04:00
Bill Hoffman b18faffcf0 add ifort support 2004-09-09 16:05:42 -04:00
Bill Hoffman 3708ed4ec8 try to fix fortran on hp 2004-09-09 11:50:14 -04:00
Bill Hoffman 0d4cd0436b ENH better test for free VC tools 2004-09-03 15:19:58 -04:00
Bill Hoffman 652823dc83 ENH: check for ms free command line tools 2004-09-03 12:01:46 -04:00
Bill Hoffman 4fb678e40d Make sure cmake uses consistent module prefixes 2004-08-30 12:14:31 -04:00
Andy Cedilnik ad4f98f3cf ENH: Cleanup. Use relative path to modules 2004-08-26 22:52:53 -04:00
Bill Hoffman c9eaf38653 hack to try and fix sun platform 2004-08-26 21:43:27 -04:00
Bill Hoffman 66a08c10e5 ENH: more uniform approach to enable language, one step closer to being able to enable a language without modifing cmake source code 2004-08-26 14:55:55 -04:00
Andy Cedilnik fa84ecf7bf ENH: Initial import for Darwin using xlC 2004-08-17 19:18:59 -04:00
Ken Martin d8bada47a6 ENH: Initial import 2004-08-09 18:20:07 -04:00
Bill Hoffman 9655299f08 ENH: initial fortran support 2004-08-06 14:51:41 -04:00
Bill Hoffman 86195caf6a ENH: add support for VCExpress 2005 2004-07-05 12:16:33 -04:00
Bill Hoffman dc4a6f63b0 C++ compiler is not set for c only projects 2004-06-23 16:15:21 -04:00
Bill Hoffman b6466061cb ENH: add NDEBUG to windows release builds for both ide and nmake 2004-06-14 12:16:25 -04:00
Brad King 830e1ac1d9 BUG#895: Adding -DNDEBUG to C and C++ flags for release builds. 2004-06-01 14:08:04 -04:00
Ken Martin d8ae50b87c a guess at some OSF compiler flags 2004-05-05 10:41:40 -04:00
Andy Cedilnik ea8dc0769d ENH: Only mangle object files if CMAKE_MANGLE_OBJECT_FILE_NAMES is set. Only on borland for now. 2004-05-04 11:24:32 -04:00
Bill Hoffman a6b60841db BUG: fix for bug 116 platform files can now specify directories that should not be added by CMAKE 2004-04-28 13:21:56 -04:00
Brad King 7fa9a5f5d6 ERR: Fixed incorrect documentation for CMAKE_CXX_WARNING_LEVEL. Submitted by David Cole. 2004-03-23 15:02:07 -05:00
Bill Hoffman 07b4d8bbca BUG: fix mingw module load tests 2004-02-16 09:50:06 -05:00
Bill Hoffman eb7ab7964a shared modules are not linked so do not use lib prefix 2004-02-14 16:55:04 -05:00
Bill Hoffman f7ce654912 ENH: change mingw to use libfoo.dll instead of foo.dll since it can link to them 2004-02-13 10:51:44 -05:00
Andy Cedilnik 2f5673c894 ENH: Fix typos about copying exe flags to shared flags and to modules. Bug #518 - On borland, initial flags for bulding module are wrong 2004-01-15 13:57:21 -05:00
Ken Martin 32f1d93de3 fix in quoting 2003-12-17 08:21:45 -05:00
Brad King 128f3cbd00 ENH: Added CMAKE_SHARED_LIBRARY_SONAME_C_FLAG and CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG settings to enable shared library version support for SGI. 2003-12-12 15:42:55 -05:00
Brad King 18112d0854 ENH: Added CMAKE_SHARED_LIBRARY_SONAME_FLAG setting to enable shared library version support for HP-UX. 2003-12-12 14:44:03 -05:00
Brad King c1add9106c ENH: Using separate CMAKE_SHARED_LIBRARY_SONAME flags for C and CXX. 2003-12-12 14:35:18 -05:00
Brad King 9a096e8488 ENH: Added CMAKE_SHARED_LIBRARY_SONAME_FLAG setting to enable shared library version support for SunOS. 2003-12-12 14:20:06 -05:00
Brad King aaf0ed39ca ENH: Adding implementation of shared library version support on UNIX. This addresses the feature request described in bug#32. 2003-11-26 17:59:53 -05:00
Bill Hoffman c3530dd01f BUG: fix for bug 383 gcc flags are now always set if the compiler is gnu 2003-11-14 10:44:12 -05:00
Bill Hoffman 34853be45a BUG: fix for bug 346, borland should now support dash in the path 2003-11-05 11:18:15 -05:00
Bill Hoffman 44d6e0362e BUG: fix for bug# 317 2003-10-31 16:56:40 -05:00
Bill Hoffman db3cd82590 BUG: fix for bug 78 should be on 1.8 branch 2003-10-15 23:42:06 -04:00
Brad King de27c1207b ERR: Old -flat_namespace -undefined suppress flags for CMAKE_SHARED_MODULE_CREATE_C_FLAGS should be included when CMAKE_BACKWARDS_COMPATIBILITY is 1.6 or lower. 2003-10-15 10:14:13 -04:00
Andy Cedilnik 5d4bdcf942 ERR: allow spaces in the path 2003-10-13 11:32:37 -04:00
Yves Starreveld 2ff4690192 ENH: remove the -flat_namespace and -undefined suppress hacks from
ENH: CMAKE_SHARED_MODULE_CREATE_C_FLAGS
ENH: and fix the complex example to specify a -bundle loader for the
ENH: shared module that it builds.
2003-08-27 20:35:18 -04:00
Bill Hoffman a35d911def ENH: MinGW build now passes all the tests 2003-08-27 16:42:01 -04:00
Bill Hoffman 9cc69e8292 ENH: add configure file for gcc under windows 2003-08-22 11:56:20 -04:00
Bill Hoffman a413160fec ENH: add the unix makefile generator as an option from the windows GUI, this builds with mingw, cygwin, and combinations of make cl, bcc32 2003-08-21 16:22:23 -04:00