Update the requirement specified in the top-level CMakeLists.txt file.
Drop the special-case minimum required version of 2.8.0 because the new
minimum subsumes it.
Revert commit 6c611c6b (libarchive: Restore CMake 2.6.3 as minimum
version, 2012-01-05) since our requirement now subsumes libarchive's.
The WindowsCache.cmake file hard-codes results for MS and similar
Windows toolchains. They are not valid for MinGW tools and also
interfere with cmlibarchive checks. Allow the checks to run.
35c48e1 Check*.cmake: Expand imported targets in CMAKE_REQUIRED_LIBRARIES
61cb4ea bootstrap: move while() and endwhile() into the bootstrap build
c9f2886 -don't pull in CheckTypeSize.cmake from the cmake which is being built
628f365 -remove trailing whitespace
We can be sure that at least cmake 2.6.3 is used when building cmcurl.
This means we always get in the first branch of the if().
I think it is not a good idea to pull a cmake module from the cmake
which is being built in, since this may use features which are not
supported in the cmake which is used to build cmake (e.g. CMAKE_CURRENT_LIST_DIR
which does not exist in cmake 2.6.3 which is the minimum for cmcurl).
A bit further below there is anyway code to handle the case that cmake is
older than 2.8.0, so it should be ok.
Alex
The CMake TarTest fails with the error
mbsnrtowcs.c:116: __mbsnrtowcs: Assertion
`status == GCONV_OK || status != GCONV_EMPTY_INPUT ||
status == GCONV_ILLEGAL_INPUT || status == GCONV_INCOMPLETE_INPUT ||
status == GCONV_FULL_OUTPUT' failed.
on very old glibc versions. Work around the problem by pretending that
mbsnrtowcs does not exist. Libarchive will fall back to mbrtowc.
Use the approach originally used in commit f91b3c1d (Add options to
build with system utility libraries, 2006-10-19) for all other
third-party libraries. Create a "cm_bzlib.h" header wrapper that
robustly includes the header from the bzip2 library chosen for the CMake
build (either builtin or system version). Include the header wrapper
anywhere we need the API provided by <bzlib.h>.
6c611c6 libarchive: Restore CMake 2.6.3 as minimum version
2f5b677 libarchive: Update README-CMake.txt for new snapshot
156cb3b Merge branch 'libarchive-upstream' into update-libarchive
fd42bf1 libarchive: Set .gitattributes to allow trailing whitespace
4f4fe6e libarchive 3.0.2-r4051 (reduced)
65b6e19 libarchive: Avoid bogus conversion warning from PGI compiler
9ccaeb1 libarchive: Suppress PathScale compiler warnings
2309438 libarchive: Rename isoent_rr_move_dir parameter isoent => curent
b6ca96e libarchive: Include linux/types.h before linux/fiemap.h
f293b73 libarchive: Define _XOPEN_SOURCE=500 on HP-UX
6781a09 libarchive: Cleanup after ZLIB_WINAPI check
f15d757 libarchive: Remove hard-coded build configuration
3a9f449 libarchive: Use Apple copyfile.h API only if available
6af6b96 libarchive: Do not use MNT_NOATIME if not defined
02d5e40 libarchive: Check for 'struct statvfs' member 'f_iosize'
8b7ee30 libarchive: Do not use ST_NOATIME if not defined
...
Upstream libarchive now requires CMake 2.8 to get the newer add_test
functionality. Since we do not build libarchive's tests we do not
need the requirement.
We cannot suppress PGI compiler warnings completely because even with
the "-w" flag the compiler still writes a message containing "compilation
completed with warnings" to stderr.
A warning is triggered by expressions like
test ? NULL : ptr_to_const_char
test ? ".." : ptr_to_const_char
that the PGI compiler handles incorrectly. It chooses the pointer type
of the first option (either void* or char*) and warns about conversion
of the second without a cast. Flip the expression logic to
!test ? ptr_to_const_char : NULL
!test ? ptr_to_const_char : ".."
to help the compiler choose the proper result type.
The HP-UX <wchar.h> header provides 'mbstate_t' in C89/C90 mode only if
_XOPEN_SOURCE is defined to exactly 500. Type 'mbstate_t' was
introduced in C89/C90 Normative Amendment 1, aka C94/C95, adding support
international character sets. It is part of C99 but not C89/C90.