Commit Graph

17535 Commits

Author SHA1 Message Date
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
Brad King 61e862986a Factor makefile generator link rule lookup into helper function
This provides a place in the makefile generators to adjust the link
rules for both libraries and executables.
2011-12-05 16:37:43 -05:00
Brad King a603250a13 Load platform files that need to know the ABI when possible
Load platform files named in CMAKE_<lang>_ABI_FILES for each language
once the ABI sizeof(void*) is known.  During the first configuration
this is after the test for working compiler and ABI detection checks.
During later configurations the ABI information is immediately available
because it has been saved in CMake<lang>Compiler.cmake.
2011-12-05 16:35:42 -05:00
Brad King ecd8414757 Fortran: Detect pointer size in gfortran on MinGW
Use __SIZEOF_POINTER__ which the GNU Fortran compiler defines at least
on 64-bit MinGW.  Assume default size 4 on MinGW if gfortran does not
define the size.
2011-12-05 16:32:29 -05:00
KWSys Robot 89f6fbaae3 KWSys Nightly Date Stamp 2011-11-29 00:05:04 -05:00
KWSys Robot 912c02c682 KWSys Nightly Date Stamp 2011-11-28 00:05:05 -05:00
KWSys Robot 10c3113464 KWSys Nightly Date Stamp 2011-11-27 00:05:05 -05:00
KWSys Robot 66f44dcdf4 KWSys Nightly Date Stamp 2011-11-26 00:05:08 -05:00
KWSys Robot d63af6df7c KWSys Nightly Date Stamp 2011-11-25 00:05:06 -05:00
KWSys Robot 27e6ea9d2a KWSys Nightly Date Stamp 2011-11-24 00:05:05 -05:00
David Cole 7ed2ed9a2e Merge topic 'CheckImportedFileExistenceInConfigDotCMakeFiles'
5c03438 install(EXPORT): Improve target import failure message format
a2be068 install(EXPORT): Enforce existence of imported target files
2011-11-23 08:16:15 -05:00
David Cole 1ec3801a3a Merge topic 'target-link-libraries-interfaces'
b1f12f8 target_link_libraries: Simplify argument processing state tests
5fc95df target_link_libraries: Add missing space in documentation
9143822 target_link_libraries: Add LINK_(PUBLIC|PRIVATE) options
cf64218 target_link_libraries: Trim trailing whitespace
2011-11-23 08:16:10 -05:00
KWSys Robot 57a85237ac KWSys Nightly Date Stamp 2011-11-23 00:05:08 -05:00
Brad King b1f12f8042 target_link_libraries: Simplify argument processing state tests
Remove extra parens in test for not handling LINK_INTERFACE_LIBRARIES.
Remove redundant test for equality with ProcessingPrivateInterface
subsumed by test for inequality with ProcessingPublicInterface.
2011-11-22 17:21:36 -05:00
Brad King 5fc95dff46 target_link_libraries: Add missing space in documentation
Change "thelink" to "the link".
2011-11-22 17:19:04 -05:00
Stephen Kelly 914382224d target_link_libraries: Add LINK_(PUBLIC|PRIVATE) options
Makes it possible to specify the link dependencies and link
interfaces in one command without repetition.
2011-11-22 16:52:35 -05:00
Stephen Kelly cf64218eeb target_link_libraries: Trim trailing whitespace 2011-11-22 16:52:27 -05:00
David Cole d9df0cca66 Merge topic 'crypto-hash'
0599c5f sha2: Zero entire SHA_CTX structure during cleanup
0a6705c sha2: Suppress -Wcast-align warning from Clang
24b1feb sha2: Cast safe conversions to smaller integer types
1ec3fa0 Merge branch 'update-KWIML' into crypto-hash
6495b59 cmCryptoHash: Add virtual destructor
8302608 Fix CMake.File hash test for CRLF checkouts
9fb1a9c sha2: Wrap long lines in third-party declarations
b0853b5 Disable file() and string() hash commands during bootstrap
9da8340 sha2: Suppress Borland warnings in third-party code
23b3df7 sha2: Use KWIML fixed-size integer constant macros
2e9c26c Add string(MD5) and string(SHA*) commands to compute hashes
293a7f4 cmCryptoHash: Provide factory "New" method
46ab056 sha2: Use "static const" instead of "const static" declarations
38771d3 Add file(SHA*) commands to compute cryptographic hashes
73efd4a sha2: Build as part of CMakeLib
c1856a3 sha2: Use KWIML fixed-size integer types and endian-ness
fcc3ce5 Merge branch 'import-sha2' into crypto-hash
042f796 Add file(MD5) command to compute cryptographic hash
ed7cef5 Factor Compute(File|String)MD5 into cmCryptoHash helper
8251b20 Import sha2 implementation 1.1 from Aaron D. Gifford
9912c41 Import sha2 implementation 1.0 from Aaron D. Gifford
2011-11-22 16:24:21 -05:00
David Cole 7db42fc255 Merge topic 'update-KWIML'
ec358d1 Merge branch 'upstream-kwiml' into update-KWIML
b421c24 KWIML: Avoid MSVC linker warning about not using C++ runtime
5796f88 Merge branch 'upstream-kwiml' into update-KWIML
ae7cf91 KWIML: Teach ABI.h about PGI compiler
aaf3765 Merge branch 'upstream-kwiml' into update-KWIML
9ccd639 KWIML: Ignore _LONGLONG on MS compiler
8be93fc KWIML: Test header inclusion after system headers
2011-11-22 16:24:04 -05:00
David Cole 7b1b13c8f0 Merge topic 'EclipseImprovedSourceProject'
982b766 Eclipse: use new variable CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT
1110e45 Eclipse: create links to subprojects also in the source-project (#12579)
2011-11-22 16:23:56 -05:00
David Cole f0419b439a Merge topic 'fix-11792-improve-ctest-site-handling'
92af1da CTest: Disallow problem chars in build and site names (#11792)
2011-11-22 16:23:48 -05:00
David Cole f4e266f41f Merge topic 'FindPNG_Provide_PNG_INCLUDE_DIRS_Variable'
df0f302 FindPNG: provide PNG_INCLUDE_DIRS, as the readme.txt says (#11312)
2011-11-22 16:23:36 -05:00
David Cole e9547efa96 Merge topic 'FindBISON-version-regex'
20cb5ed FindBISON: Fix matching output of "bison --version"
f30f9a5 FindBISON: Fix bison++ version parsing to avoid "Offending entry"
2011-11-22 16:23:31 -05:00
David Cole 636740c478 Merge topic 'fix-12445-add-call-for-batch-files-vs10'
46c7054 VS: Use "call " keyword with .cmd and .bat file custom commands (#12445)
2011-11-22 16:23:23 -05:00
David Cole e8fc3bc8d0 Merge topic 'FixGettextPoProcessingWithMultipleDots'
65dde30 FindGettext: two more fixes for files with multiple dots
e48fcff -make GETTEXT_PROCESS_PO_FILES() work with files with multiple dots
ecb4459 Strip trailing whitespace
2011-11-22 16:23:14 -05:00
Brad King 5c03438661 install(EXPORT): Improve target import failure message format 2011-11-22 15:55:04 -05:00
Alex Neundorf a2be068c75 install(EXPORT): Enforce existence of imported target files
Typical <package>Config.cmake files for find_package() rely only on the
files generated by install(EXPORT).  They might be wrong, for whatever
reasons, like people manually deleted files, projects were packaged
wrong by distributions, whatever.  To protect against this, add checks
that the file locations we are importing actually exist on disk.

Alex
2011-11-22 15:55:00 -05:00
KWSys Robot 3bbe46daa2 KWSys Nightly Date Stamp 2011-11-22 00:05:06 -05:00
Brad King ec358d17a7 Merge branch 'upstream-kwiml' into update-KWIML 2011-11-21 11:03:29 -05:00
Brad King b421c2477c KWIML: Avoid MSVC linker warning about not using C++ runtime
Teach KWIML_test to use part of the C++ runtime library.  Otherwise the
linker complains:

  warning LNK4089: all references to 'MSVCP71.dll' discarded by /OPT:REF
2011-11-21 11:02:26 -05:00
KWSys Robot ad9bffdc3c KWSys Nightly Date Stamp 2011-11-21 00:05:04 -05:00
KWSys Robot 6580434f16 KWSys Nightly Date Stamp 2011-11-20 00:05:04 -05:00
Alex Neundorf 982b766f29 Eclipse: use new variable CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT
Previously ECLIPSE_CDT4_GENERATE_SOURCE_PROJECT was used, but the
new name CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT is more in line with
the general naming conventions in cmake, and, more importantly IMO,
in cmake-gui it now appears right next to the other eclipse-related
variables, which all start with CMAKE_ECLIPSE_.

A warning is printed if the old variable is TRUE and the new one isn't,
so users should notice that they have to enable the new one.

Alex
2011-11-19 11:18:51 +01:00
Alex Neundorf 1110e455c2 Eclipse: create links to subprojects also in the source-project (#12579)
Alex
2011-11-19 11:01:03 +01:00
KWSys Robot fa878d27bf KWSys Nightly Date Stamp 2011-11-19 00:05:04 -05:00
David Cole 92af1dad06 CTest: Disallow problem chars in build and site names (#11792)
Also, use "(empty)" rather than actually sending an empty string
if build or site name is not set properly.
2011-11-18 17:13:07 -05:00
Brad King 5796f88d92 Merge branch 'upstream-kwiml' into update-KWIML 2011-11-18 13:52:15 -05:00
Brad King ae7cf91b13 KWIML: Teach ABI.h about PGI compiler
The PGI compiler appears to define "long long" as size 8 but does not
provide a feature macro for it.  It does provide options for the
signedness of char (-Mschar, -Muchar) but does not define a feature
macro indicating the choice.  The default is signed, at least on Linux.
2011-11-18 13:46:22 -05:00
Alex Neundorf df0f302485 FindPNG: provide PNG_INCLUDE_DIRS, as the readme.txt says (#11312)
Also improve the documentation a bit.

Alex
2011-11-18 19:20:07 +01:00
Rolf Eike Beer 20cb5edbca FindBISON: Fix matching output of "bison --version"
The output may contain semicolons, which will confuse the IF() because of
missing quoting.
2011-11-18 10:47:28 -05:00
David Cole 46c70540ed VS: Use "call " keyword with .cmd and .bat file custom commands (#12445)
Similar fix to commit d093abef for the Makefile generators. Prevents
premature exit from sequence of commands. Even when no errors occur,
the previous construct without "call " was exiting the sequence before
executing the full set of commands...
2011-11-18 10:15:58 -05:00
KWSys Robot 8e1bbee4d9 KWSys Nightly Date Stamp 2011-11-18 00:05:04 -05:00
Brad King 0599c5f546 sha2: Zero entire SHA_CTX structure during cleanup
Convert lines of the form

  MEMSET_BZERO(context, sizeof(context));

to the correct form

  MEMSET_BZERO(context, sizeof(*context));

as suggested by Clang.
2011-11-17 11:18:08 -05:00
Brad King 0a6705cbda sha2: Suppress -Wcast-align warning from Clang
The code does contain a cast that increases alignment but only for
pointers into structures known to be sufficiently aligned.
2011-11-17 11:12:00 -05:00
Brad King 24b1feb5ca sha2: Cast safe conversions to smaller integer types
Add a cast to lines converting "uint64_t" to "unsigned int" that are
known safe due to use of modulus with a small integer.  This avoids
compiler warnings such as

  conversion from 'cm_sha2_uint64_t' to 'unsigned int',
  possible loss of data

from MSVC.
2011-11-17 11:07:43 -05:00
Brad King 1ec3fa00c9 Merge branch 'update-KWIML' into crypto-hash 2011-11-17 10:19:36 -05:00
Brad King aaf376594c Merge branch 'upstream-kwiml' into update-KWIML 2011-11-17 10:16:57 -05:00
Brad King 9ccd639ad7 KWIML: Ignore _LONGLONG on MS compiler
The VS 7.0 header <yvals.h> included by most C++ system headers defines
the macro _LONGLONG as __int64.  Teach ABI.h to ignore the definition in
this case because "long long" does not exist.
2011-11-17 10:15:02 -05:00
Brad King 8be93fc487 KWIML: Test header inclusion after system headers
Some system headers may define macros that interfere with preprocessor
tests in KWIML headers.  Test this case to be sure that the verification
checks at the bottom of the headers do not fail.
2011-11-17 08:57:26 -05:00
KWSys Robot 21469b65dd KWSys Nightly Date Stamp 2011-11-17 00:05:11 -05:00