Building cmake-3.9.0-rc2 with MinGW fails
cmake-3.9.0-rc2 builds with Visual Studio 2017 but with the current MinGW I had a few problems summarised below.
-
Source/bindexplib.cxx
#include <initguid.h>
needed for CLSID definition. -
Source/kwsys/SystemInformation.cxx
The following enums (and derived pointer types) are not declared in the MinGW headers:
enum LOGICAL_PROCESSOR_RELATIONSHIP
enum PROCESSOR_CACHE_TYPE
enum CACHE_DESCRIPTOR -
Utilities/cmlibarchive/libarchive/archive_entry.c
Changed ssize_t to la_ssize_t in two function headers to match the header file: archive_entry_acl_to_text_w(struct archive_entry *entry,la_ssize_t
*len, ...
archive_entry_acl_to_text(struct archive_entry *entry,la_ssize_t
*len, ... -
Utilities/cmlibarchive/libarchive/archive_read.c
Changed ssize_t to la_ssize_t in function header to match the header file:
la_ssize_t
archive_read_data(struct archive *_a, void *buff, size_t s) -
Utilities/cmlibarchive/libarchive/archive_virtual.c
Changed ssize_t to la_ssize_t in two function headers to match the header file:
la_ssize_t
archive_write_data(struct archive *a, const void *buff, size_t s)
la_ssize_t
archive_write_data_block(struct archive *a, const void *buff, size_t s, int64_t o) -
Utilities/cmlibarchive/libarchive/archive_write.c
Changed ssize_t to la_ssize_t in two function headers to match the header file:
staticla_ssize_t
_archive_write_data(struct archive *, const void *, size_t);
staticla_ssize_t
_archive_write_data(struct archive *_a, const void *buff, size_t s) -
Utilities/cmlibuv/src/win/tty.c
Added definition for InterlockedOr (not in MinGW). -
Utilities/cmvssetup/Setup.Configuration.h
#include <oleauto.h>
for SysAllocStringByteLen and SysStringByteLen (required in Source/cmVSSetuphelper.h).