The two test sources must remain identical. Apply to ComplexOneConfig
the change that commit f578381e (Fix vs2010 project generation error
when HEADER_FILE_ONLY is set, 2010-12-20) made to Complex.
Configure the result as definition HAVE_STRUCT_STATVFS_F_IOSIZE and use
the member only if it exists. At least one platform (IRIX) provides
struct statvfs without this member.
VS 6 warns verbosely when WINVER >= 0x0500. Avoid defining WINVER and
_WIN32_WINNT to higher than 0x0400 on VS 6. Provide missing API
declarations in archive_windows.h when we do not get them from
<windows.h>. Provide GetVolumePathNameW because VS 6 does not declare
it regardless of the API version.
At least one compiler (Borland) defines mode_t as just "short" which is
signed. This breaks code like
switch(archive_entry_filetype(e)) {
case AE_IFREG:
...
}
if AE_IFREG and other constants have a longer signed type (int) because
sign extension of the mode_t return type from archive_entry_filetype
changes its value. Avoid the problem by ensuring the type of the
constants matches mode_t.
This change was originally made in commit a73acfbe (Fix for mode_t with
signed types, 2009-11-07). Port it to the new libarchive snapshot.
Mangle the open_FILE symbols to avoid conflict with open_file:
Warning: public '_archive_read_open_file'
in module 'archive_read_open_filename.c' clashes with
prior module 'archive_read_open_file.c'
Warning: public '_archive_write_open_file'
in module 'archive_write_open_filename.c' clashes with
prior module 'archive_write_open_file.c'
This workaround should not go upstream because it will break when
mixing compilers.
Restore Windows 64-bit lseek removed by upstream svn revision 3826
(Cast away __la_lseek(), use _lseeki64() instead, 2011-11-21). We
need it on Borland.
Make changes equivalent to those originally made by commits
bd56626a (Fixes for the OSF operating system build, 2010-09-08)
92c082b1 (Add a fix for the inline keyword on the osf os, 2010-09-10)
but based on the updated libarchive snapshot.
Re-enable the option to build libarchive within CMake now that we have
imported a new snapshot. Force libarchive ENABLE_* cache options to the
values CMake needs. Set ENABLE_OPENSSL based on CMAKE_USE_OPENSSL to
preserve the behavior introduced in commit ee55a4f7 (Use OpenSSL only if
CMAKE_USE_OPENSSL, 2011-02-08).
Remove add_subdirectory() calls for directories not included in the
reduced libarchive snapshot. Remove options that configure settings in
the missing directories.
This addresses Bug 11882 which provided a sample implementation for adding
support for cusparse. I went ahead and added all the libraries I thought
appropriate.
This adds a test that uses two project commands in the same CMakeLists.txt
file. It also adds a fix so that cmake --build will work in that case.
The fix sets the name of the last project command in the top level
CMakeLists.txt in the cache variable CMAKE_PROJECT_NAME. This variable
is used by cmake --build to find the project name.
Now also CMAKE_ASM_INCLUDE_PATH is written into
CMakeDirectoryInformation.cmake, which is necessary to make
the dependency scanning for included files work.
Alex