CMake/Modules/Platform
Brad King afb00fef19 Add CMAKE_GNUtoMS option to convert GNU .dll.a to MS .lib
Teach the Windows-GNU.cmake platform file to look for Visual Studio
tools matching the target ABI.  Add an extra step to the link command
for shared libraries and executables that export symbols and on which a
new GNUtoMS property is set (initialized by the CMAKE_GNUtoMS option).
Tell the GNU linker to output a module definition (.def) file listing
exported symbols in addition to the GNU-format import library (.dll.a).
Pass the .def file to the MS "lib" tool to construct a MS-format DLL
import library (.lib).

Teach the install(TARGETS) command to install the MS import library next
to the GNU one.  Teach the install(EXPORT) and export() command to set
the IMPORTED_IMPLIB property pointing at the import library to use the
import library matching the tools in the importing project.
2011-12-05 18:13:49 -05:00
..
AIX-GNU-C.cmake Split GNU compiler information files 2009-12-02 09:52:00 -05:00
AIX-GNU-CXX.cmake Split GNU compiler information files 2009-12-02 09:52:00 -05:00
AIX-GNU-Fortran.cmake Split GNU compiler information files 2009-12-02 09:52:00 -05:00
AIX-GNU.cmake Move RPATH flags to AIX per-compiler information files 2011-03-02 11:21:54 -05:00
AIX-VisualAge-C.cmake Split XL compiler information files 2009-09-30 09:37:35 -04:00
AIX-VisualAge-CXX.cmake Split XL compiler information files 2009-09-30 09:37:35 -04:00
AIX-VisualAge-Fortran.cmake XL: Fix old VisualAge branding of Fortran compiler 2011-08-02 17:26:29 -04:00
AIX-XL-ASM.cmake Add ASM platform information for XL compiler on AIX 2011-03-02 13:48:04 -05:00
AIX-XL-C.cmake Factor AIX and XL compiler flags into common module 2011-03-02 11:20:50 -05:00
AIX-XL-CXX.cmake Factor AIX and XL compiler flags into common module 2011-03-02 11:20:50 -05:00
AIX-XL-Fortran.cmake Factor AIX and XL compiler flags into common module 2011-03-02 11:20:50 -05:00
AIX-XL.cmake Move RPATH flags to AIX per-compiler information files 2011-03-02 11:21:54 -05:00
AIX.cmake Move RPATH flags to AIX per-compiler information files 2011-03-02 11:21:54 -05:00
BSDOS.cmake BUG: also include UnixPaths.cmake on these platforms, this also sets UNIX to 1 2007-08-10 08:54:42 -04:00
BeOS.cmake Reduce duplication in Platform/<os>.cmake files 2009-12-02 15:17:53 -05:00
BlueGeneL.cmake ENH: Rename SET_PROPERITES command to SET_PROPERTY and give it a more powerful signature. 2008-01-17 15:54:49 -05:00
BlueGeneP-base.cmake Fixed link bugs in BlueGeneP build. 2011-08-28 22:08:11 -07:00
BlueGeneP-dynamic-GNU-C.cmake Add platform files for BlueGene/P systems 2010-08-13 12:17:57 -04:00
BlueGeneP-dynamic-GNU-CXX.cmake Add platform files for BlueGene/P systems 2010-08-13 12:17:57 -04:00
BlueGeneP-dynamic-GNU-Fortran.cmake Add platform files for BlueGene/P systems 2010-08-13 12:17:57 -04:00
BlueGeneP-dynamic-XL-C.cmake Add platform files for BlueGene/P systems 2010-08-13 12:17:57 -04:00
BlueGeneP-dynamic-XL-CXX.cmake Add platform files for BlueGene/P systems 2010-08-13 12:17:57 -04:00
BlueGeneP-dynamic-XL-Fortran.cmake Add platform files for BlueGene/P systems 2010-08-13 12:17:57 -04:00
BlueGeneP-dynamic.cmake Add platform files for BlueGene/P systems 2010-08-13 12:17:57 -04:00
BlueGeneP-static-GNU-C.cmake Add platform files for BlueGene/P systems 2010-08-13 12:17:57 -04:00
BlueGeneP-static-GNU-CXX.cmake Add platform files for BlueGene/P systems 2010-08-13 12:17:57 -04:00
BlueGeneP-static-GNU-Fortran.cmake Add platform files for BlueGene/P systems 2010-08-13 12:17:57 -04:00
BlueGeneP-static-XL-C.cmake Add platform files for BlueGene/P systems 2010-08-13 12:17:57 -04:00
BlueGeneP-static-XL-CXX.cmake Add platform files for BlueGene/P systems 2010-08-13 12:17:57 -04:00
BlueGeneP-static-XL-Fortran.cmake Add platform files for BlueGene/P systems 2010-08-13 12:17:57 -04:00
BlueGeneP-static.cmake Add platform files for BlueGene/P systems 2010-08-13 12:17:57 -04:00
CYGWIN-GNU-C.cmake Split GNU compiler information files 2009-12-02 09:52:00 -05:00
CYGWIN-GNU-CXX.cmake Split GNU compiler information files 2009-12-02 09:52:00 -05:00
CYGWIN-GNU-Fortran.cmake Split GNU compiler information files 2009-12-02 09:52:00 -05:00
CYGWIN-GNU.cmake Add support for windres to cygwin. 2010-12-23 17:04:50 -05:00
CYGWIN-windres.cmake Add support for windres to cygwin. 2010-12-23 17:04:50 -05:00
CYGWIN.cmake Cygwin: Do not define 'WIN32' (#10122) 2010-12-17 14:19:58 -05:00
Catamount.cmake ENH: Rename SET_PROPERITES command to SET_PROPERTY and give it a more powerful signature. 2008-01-17 15:54:49 -05:00
Darwin-Absoft-Fortran.cmake Absoft: Detect implicit link libraries on Linux and Mac 2011-05-20 08:57:51 -04:00
Darwin-GNU-C.cmake Fix issue #10155 - default value of CMAKE_OSX_DEPLOYMENT_TARGET should always be the empty string. When the value of CMAKE_OSX_DEPLOYMENT_TARGET is the empty string, the -mmacosx-version-min flag should not show up on the compiler command line. The logic for selecting default value of CMAKE_OSX_SYSROOT is orthogonal to and independent of the value of the deployment target. The default value for CMAKE_OSX_SYSROOT is the SDK that corresponds to the current version of Mac OSX on which cmake is running. 2010-01-29 11:56:35 -05:00
Darwin-GNU-CXX.cmake Fix issue #10155 - default value of CMAKE_OSX_DEPLOYMENT_TARGET should always be the empty string. When the value of CMAKE_OSX_DEPLOYMENT_TARGET is the empty string, the -mmacosx-version-min flag should not show up on the compiler command line. The logic for selecting default value of CMAKE_OSX_SYSROOT is orthogonal to and independent of the value of the deployment target. The default value for CMAKE_OSX_SYSROOT is the SDK that corresponds to the current version of Mac OSX on which cmake is running. 2010-01-29 11:56:35 -05:00
Darwin-GNU-Fortran.cmake Fix OS X dylib and module GNU flags 2009-12-02 15:09:03 -05:00
Darwin-GNU.cmake Pass Mac linker flag through all compilers with -Wl, 2010-12-22 16:28:54 -05:00
Darwin-NAG-Fortran.cmake Add NAG Fortran compiler information files 2010-12-09 18:12:34 -05:00
Darwin-VisualAge-C.cmake Split XL compiler information files 2009-09-30 09:37:35 -04:00
Darwin-VisualAge-CXX.cmake Split XL compiler information files 2009-09-30 09:37:35 -04:00
Darwin-XL-C.cmake Split XL compiler information files 2009-09-30 09:37:35 -04:00
Darwin-XL-CXX.cmake Split XL compiler information files 2009-09-30 09:37:35 -04:00
Darwin-icc.cmake Pass Mac linker flag through all compilers with -Wl, 2010-12-22 16:28:54 -05:00
Darwin-icpc.cmake ENH: Add Intel compiler module files for the Mac. Thanks to Mike Jackson for contributing. 2008-03-31 08:04:12 -04:00
Darwin.cmake Strip trailing space from xcode-select output (#10723) 2011-02-01 14:16:30 -05:00
DragonFly.cmake ENH: add DragonFly BSD, which is very close to FreeBSD (#4500) 2007-07-13 11:20:42 -04:00
FreeBSD.cmake Reduce duplication in Platform/<os>.cmake files 2009-12-02 15:17:53 -05:00
GNU.cmake multiarch: Set CMAKE_LIBRARY_ARCHITECTURE_REGEX for Linux|Hurd|kFreeBSD 2011-06-13 11:12:23 -04:00
GNUtoMS_lib.bat.in Add CMAKE_GNUtoMS option to convert GNU .dll.a to MS .lib 2011-12-05 18:13:49 -05:00
GNUtoMS_lib.cmake Add CMAKE_GNUtoMS option to convert GNU .dll.a to MS .lib 2011-12-05 18:13:49 -05:00
Generic-ADSP-ASM.cmake ENH: add support for the ADSP toolchains for Blackfin, Shark and TigerShark 2007-07-12 13:41:00 -04:00
Generic-ADSP-C.cmake ENH: add support for the ADSP toolchains for Blackfin, Shark and TigerShark 2007-07-12 13:41:00 -04:00
Generic-ADSP-CXX.cmake ENH: add support for the ADSP toolchains for Blackfin, Shark and TigerShark 2007-07-12 13:41:00 -04:00
Generic-ADSP-Common.cmake ENH: add support for the ADSP toolchains for Blackfin, Shark and TigerShark 2007-07-12 13:41:00 -04:00
Generic-SDCC-C.cmake 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
Generic.cmake -add basic search directories for the "Generic" platform 2010-04-14 22:09:19 +02:00
HP-UX-GNU-C.cmake Split GNU compiler information files 2009-12-02 09:52:00 -05:00
HP-UX-GNU-CXX.cmake Split GNU compiler information files 2009-12-02 09:52:00 -05:00
HP-UX-GNU-Fortran.cmake Split GNU compiler information files 2009-12-02 09:52:00 -05:00
HP-UX-GNU.cmake Modules: Fix spelling 'To distributed' -> 'To distribute' 2010-08-09 08:48:31 -04:00
HP-UX-HP-ASM.cmake Add ASM platform information for HP compiler on HP 2011-03-02 17:49:17 -05:00
HP-UX-HP-C.cmake Factor HP compiler flags into per-platform/per-compiler files 2011-03-02 17:24:36 -05:00
HP-UX-HP-CXX.cmake Factor HP compiler flags into per-platform/per-compiler files 2011-03-02 17:24:36 -05:00
HP-UX-HP-Fortran.cmake Factor HP compiler flags into per-platform/per-compiler files 2011-03-02 17:24:36 -05:00
HP-UX-HP.cmake Add ASM platform information for HP compiler on HP 2011-03-02 17:49:17 -05:00
HP-UX.cmake Factor HP compiler flags into per-platform/per-compiler files 2011-03-02 17:24:36 -05:00
Haiku.cmake Reduce duplication in Platform/<os>.cmake files 2009-12-02 15:17:53 -05:00
IRIX.cmake Reduce duplication in Platform/<os>.cmake files 2009-12-02 15:17:53 -05:00
IRIX64.cmake Reduce duplication in Platform/<os>.cmake files 2009-12-02 15:17:53 -05:00
Linux-Absoft-Fortran.cmake Absoft: Detect implicit link libraries on Linux and Mac 2011-05-20 08:57:51 -04:00
Linux-Clang-C.cmake Recognize Clang C and C++ compilers (see #10693) 2010-05-17 14:11:20 -04:00
Linux-Clang-CXX.cmake Recognize Clang C and C++ compilers (see #10693) 2010-05-17 14:11:20 -04:00
Linux-GNU-C.cmake Create Linux GNU compiler flag consolidation macro 2010-01-13 08:13:19 -05:00
Linux-GNU-CXX.cmake Create Linux GNU compiler flag consolidation macro 2010-01-13 08:13:19 -05:00
Linux-GNU-Fortran.cmake Create Linux GNU compiler flag consolidation macro 2010-01-13 08:13:19 -05:00
Linux-GNU.cmake Modules: Fix spelling 'To distributed' -> 'To distribute' 2010-08-09 08:48:31 -04:00
Linux-Intel-C.cmake Consolidate Linux Intel compiler information 2009-12-04 09:20:24 -05:00
Linux-Intel-CXX.cmake Consolidate Linux Intel compiler information 2009-12-04 09:20:24 -05:00
Linux-Intel-Fortran.cmake Consolidate Linux Intel compiler information 2009-12-04 09:20:24 -05:00
Linux-Intel.cmake Modules: Fix spelling 'To distributed' -> 'To distribute' 2010-08-09 08:48:31 -04:00
Linux-NAG-Fortran.cmake Add NAG Fortran compiler information files 2010-12-09 18:12:34 -05:00
Linux-PGI-C.cmake Generalize support for Portland Group Compiler 2009-12-04 10:21:57 -05:00
Linux-PGI-CXX.cmake Generalize support for Portland Group Compiler 2009-12-04 10:21:57 -05:00
Linux-PGI-Fortran.cmake Generalize support for Portland Group Compiler 2009-12-04 10:21:57 -05:00
Linux-PGI.cmake Modules: Fix spelling 'To distributed' -> 'To distribute' 2010-08-09 08:48:31 -04:00
Linux-PathScale-C.cmake Add PathScale shared library flags on Linux 2010-01-21 09:09:27 -05:00
Linux-PathScale-CXX.cmake Add PathScale shared library flags on Linux 2010-01-21 09:09:27 -05:00
Linux-PathScale-Fortran.cmake Add PathScale shared library flags on Linux 2010-01-21 09:09:27 -05:00
Linux-PathScale.cmake Modules: Fix spelling 'To distributed' -> 'To distribute' 2010-08-09 08:48:31 -04:00
Linux-SunPro-CXX.cmake Fix rpath-link flag for SunPro C++ 5.11 on Linux 2010-06-07 10:15:58 -04:00
Linux-VisualAge-C.cmake Teach compiler id about VisualAge -> XL rebranding 2009-08-07 10:13:07 -04:00
Linux-VisualAge-CXX.cmake Fix XL C++ compiler flags on Linux 2009-09-16 12:33:24 -04:00
Linux-VisualAge-Fortran.cmake Teach compiler id about VisualAge -> XL rebranding 2009-08-07 10:13:07 -04:00
Linux-XL-C.cmake Remove GNU-specific flags from Linux.cmake 2009-12-04 10:22:30 -05:00
Linux-XL-CXX.cmake Remove GNU-specific flags from Linux.cmake 2009-12-04 10:22:30 -05:00
Linux-XL-Fortran.cmake Remove GNU-specific flags from Linux.cmake 2009-12-04 10:22:30 -05:00
Linux-como.cmake Drop -rdynamic from Linux build rules 2009-12-01 14:25:21 -05:00
Linux.cmake multiarch: Set CMAKE_LIBRARY_ARCHITECTURE_REGEX for Linux|Hurd|kFreeBSD 2011-06-13 11:12:23 -04:00
MP-RAS.cmake BUG: also include UnixPaths.cmake on these platforms, this also sets UNIX to 1 2007-08-10 08:54:42 -04:00
NetBSD.cmake Reduce duplication in Platform/<os>.cmake files 2009-12-02 15:17:53 -05:00
OSF1.cmake Tru64: Use full-path include directives in Makefiles (#10569) 2010-06-14 13:06:39 -04:00
OpenBSD.cmake OpenBSD: Work-around static/runtime linker inconsistency 2010-03-26 09:33:28 -04:00
OpenVMS.cmake ENH: use .exe on vms 2009-06-11 15:25:48 -04:00
QNX.cmake Reduce duplication in Platform/<os>.cmake files 2009-12-02 15:17:53 -05:00
RISCos.cmake BUG: also include UnixPaths.cmake on these platforms, this also sets UNIX to 1 2007-08-10 08:54:42 -04:00
SCO_SV.cmake Factor SCO compiler info out of platform file (#11700) 2011-01-17 09:57:17 -05:00
SINIX.cmake ENH: add more search paths and add UnixPaths to all unix platforms 2006-03-27 10:46:42 -05:00
SunOS-GNU-C.cmake Fix GNU C and Fortran flags on SunOS 2009-12-04 08:51:46 -05:00
SunOS-GNU-CXX.cmake Split GNU compiler information files 2009-12-02 09:52:00 -05:00
SunOS-GNU-Fortran.cmake Fix GNU C and Fortran flags on SunOS 2009-12-04 08:51:46 -05:00
SunOS-GNU.cmake Modules: Fix spelling 'To distributed' -> 'To distribute' 2010-08-09 08:48:31 -04:00
SunOS.cmake Move GNU flags from SunOS.cmake to SunOS-GNU.cmake 2009-12-02 16:58:52 -05:00
Tru64.cmake ENH: add more search paths and add UnixPaths to all unix platforms 2006-03-27 10:46:42 -05:00
ULTRIX.cmake ENH: add more search paths and add UnixPaths to all unix platforms 2006-03-27 10:46:42 -05:00
UNIX_SV.cmake ENH: add more search paths and add UnixPaths to all unix platforms 2006-03-27 10:46:42 -05:00
UnixPaths.cmake Search MacPorts /opt/local prefix on Mac 2010-09-01 08:50:51 -04:00
UnixWare.cmake ENH: add more search paths and add UnixPaths to all unix platforms 2006-03-27 10:46:42 -05:00
Windows-Borland-C.cmake Split Borland compiler information files 2009-10-08 11:56:07 -04:00
Windows-Borland-CXX.cmake Split Borland compiler information files 2009-10-08 11:56:07 -04:00
Windows-Borland.cmake Modules: Fix spelling 'To distributed' -> 'To distribute' 2010-08-09 08:48:31 -04:00
Windows-G95-Fortran.cmake Teach CMake how to work with G95 on mingw. 2010-03-23 11:32:40 -04:00
Windows-GNU-C-ABI.cmake Add CMAKE_GNUtoMS option to convert GNU .dll.a to MS .lib 2011-12-05 18:13:49 -05:00
Windows-GNU-C.cmake Modernize GNU compiler info on Windows 2009-12-02 11:27:59 -05:00
Windows-GNU-CXX-ABI.cmake Add CMAKE_GNUtoMS option to convert GNU .dll.a to MS .lib 2011-12-05 18:13:49 -05:00
Windows-GNU-CXX.cmake Modernize GNU compiler info on Windows 2009-12-02 11:27:59 -05:00
Windows-GNU-Fortran-ABI.cmake Add CMAKE_GNUtoMS option to convert GNU .dll.a to MS .lib 2011-12-05 18:13:49 -05:00
Windows-GNU-Fortran.cmake Fortran: Detect pointer size in gfortran on MinGW 2011-12-05 16:32:29 -05:00
Windows-GNU.cmake Add CMAKE_GNUtoMS option to convert GNU .dll.a to MS .lib 2011-12-05 18:13:49 -05:00
Windows-Intel-ASM.cmake Add support for the Intel compiler used for ASM under Windows 2011-03-02 16:46:25 +01:00
Windows-Intel-C.cmake Modernize Intel compiler info on Windows 2010-12-16 09:50:05 -05:00
Windows-Intel-CXX.cmake Modernize Intel compiler info on Windows 2010-12-16 09:50:05 -05:00
Windows-Intel-Fortran.cmake Modernize Intel compiler info on Windows 2010-12-16 09:50:05 -05:00
Windows-Intel.cmake Enable resource building with the intel compiler on windows. 2011-01-03 14:02:22 -05:00
Windows-NMcl.cmake ENH: add platform file for bounds checker 2008-08-15 15:07:56 -04:00
Windows-cl.cmake Add VisualStudio 9 and 10 generators for Itanium platform 2011-06-20 08:31:13 -04:00
Windows-cl.cmake.in Fix missing set of MSVC10 and add CheckCompilerRelatedVariables test. 2010-04-30 00:46:24 -04:00
Windows-df.cmake Add module-dir flag for Compaq Visual Fortran (#11248) 2010-09-20 09:53:45 -04:00
Windows-wcl386.cmake Merge topic 'fix-11866-add-watcom-sys-libs' 2011-08-02 15:11:35 -04:00
Windows-windres.cmake Add support for windows resources with mingw/msys. 2010-12-23 17:04:49 -05:00
Windows.cmake ENH: UNIX, CYGWIN, WIN32, APPLE, QNXNTO and BEOS are not longer set in 2007-08-09 14:45:23 -04:00
WindowsPaths.cmake Modules: Fix spelling 'To distributed' -> 'To distribute' 2010-08-09 08:48:31 -04:00
Xenix.cmake ENH: add more search paths and add UnixPaths to all unix platforms 2006-03-27 10:46:42 -05:00
cl.cmake ENH: Handle large object file lists on some platforms 2008-02-27 17:10:45 -05:00
eCos.cmake ENH: Fix eCos.cmake to not require a forced compiler 2008-02-11 17:01:02 -05:00
gas.cmake ENH: initial support for assembler in cmake, needs testing by our users 2007-06-28 09:14:27 -04:00
kFreeBSD.cmake multiarch: Set CMAKE_LIBRARY_ARCHITECTURE_REGEX for Linux|Hurd|kFreeBSD 2011-06-13 11:12:23 -04:00
syllable.cmake Reduce duplication in Platform/<os>.cmake files 2009-12-02 15:17:53 -05:00