diff options
author | Martin Matuska <martin@matuska.org> | 2017-03-13 15:49:38 +0100 |
---|---|---|
committer | Martin Matuska <martin@matuska.org> | 2017-03-14 12:48:53 +0100 |
commit | f57d129d828f411d6f1eb81ca51dfd9e1fead353 (patch) | |
tree | 2683fbe533ae01206a3e0a2365ae2d263eb5e697 /libarchive/CMakeLists.txt | |
parent | 500b90526996eb64b9cb5a02ac9de61f0a2ec14f (diff) | |
download | libarchive-f57d129d828f411d6f1eb81ca51dfd9e1fead353.tar.gz |
Move platform-specific ACL code to individual source files.
This makes the code much more readable and eases the addition of new
ACL implementatons in the future.
Additional changes:
- most of ACL detection is now done at configure stage
- configuration now reports what ACL was detected
- NFSv4 ACL tests now test INHERIT_ONLY and NO_PROPAGATE_INHERIT
Diffstat (limited to 'libarchive/CMakeLists.txt')
-rw-r--r-- | libarchive/CMakeLists.txt | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt index d55fa2d8..0ed3fa48 100644 --- a/libarchive/CMakeLists.txt +++ b/libarchive/CMakeLists.txt @@ -14,6 +14,7 @@ SET(include_HEADERS # Sources and private headers SET(libarchive_SOURCES archive_acl.c + archive_acl_private.h archive_check_magic.c archive_cmdline.c archive_cmdline_private.h @@ -47,6 +48,7 @@ SET(libarchive_SOURCES archive_pathmatch.c archive_pathmatch.h archive_platform.h + archive_platform_acl.h archive_ppmd_private.h archive_ppmd7.c archive_ppmd7_private.h @@ -109,7 +111,6 @@ SET(libarchive_SOURCES archive_version_details.c archive_virtual.c archive_write.c - archive_write_disk_acl.c archive_write_disk_posix.c archive_write_disk_private.h archive_write_disk_set_standard_lookup.c @@ -211,6 +212,28 @@ IF(WIN32 AND NOT CYGWIN) LIST(APPEND libarchive_SOURCES filter_fork_windows.c) ENDIF(WIN32 AND NOT CYGWIN) +IF(ARCHIVE_ACL_DARWIN) + LIST(APPEND libarchive_SOURCES archive_acl_maps.h) + LIST(APPEND libarchive_SOURCES archive_acl_maps_darwin.c) + LIST(APPEND libarchive_SOURCES archive_read_disk_acl_darwin.c) + LIST(APPEND libarchive_SOURCES archive_write_disk_acl_darwin.c) +ELSEIF(ARCHIVE_ACL_FREEBSD) + LIST(APPEND libarchive_SOURCES archive_acl_maps.h) + LIST(APPEND libarchive_SOURCES archive_acl_maps_freebsd.c) + LIST(APPEND libarchive_SOURCES archive_read_disk_acl_freebsd.c) + LIST(APPEND libarchive_SOURCES archive_write_disk_acl_freebsd.c) +ELSEIF(ARCHIVE_ACL_LIBACL) + LIST(APPEND libarchive_SOURCES archive_acl_maps.h) + LIST(APPEND libarchive_SOURCES archive_acl_maps_linux.c) + LIST(APPEND libarchive_SOURCES archive_read_disk_acl_linux.c) + LIST(APPEND libarchive_SOURCES archive_write_disk_acl_linux.c) +ELSEIF(ARCHIVE_ACL_SUNOS) + LIST(APPEND libarchive_SOURCES archive_acl_maps.h) + LIST(APPEND libarchive_SOURCES archive_acl_maps_sunos.c) + LIST(APPEND libarchive_SOURCES archive_read_disk_acl_sunos.c) + LIST(APPEND libarchive_SOURCES archive_write_disk_acl_sunos.c) +ENDIF() + # Libarchive is a shared library ADD_LIBRARY(archive SHARED ${libarchive_SOURCES} ${include_HEADERS}) TARGET_LINK_LIBRARIES(archive ${ADDITIONAL_LIBS}) |