IF(ENABLE_TEST)
ENABLE_TESTING()
ENDIF(ENABLE_TEST)
-IF(WIN32 AND NOT CYGWIN)
- # Currently, dynamic build only.
- SET(ENABLE_TAR_SHARED ON)
- SET(ENABLE_CPIO_SHARED ON)
-ENDIF(WIN32 AND NOT CYGWIN)
#
INCLUDE(CheckFileOffsetBits)
IF(WIN32 AND NOT CYGWIN)
LIST(APPEND bsdcpio_SOURCES cpio_windows.c)
LIST(APPEND bsdcpio_SOURCES cpio_windows.h)
- LIST(APPEND bsdcpio_SOURCES ../libarchive/archive_windows.c)
ENDIF(WIN32 AND NOT CYGWIN)
SET(bsdcpio_MANS bsdcpio.1)
# Register target
#
ADD_EXECUTABLE(bsdcpio ${bsdcpio_SOURCES})
+ IF(WIN32 AND NOT CYGWIN)
+ ADD_DEPENDENCIES(bsdcpio archive_windows_static)
+ ENDIF(WIN32 AND NOT CYGWIN)
IF(ENABLE_CPIO_SHARED)
TARGET_LINK_LIBRARIES(bsdcpio archive ${ADDITIONAL_LIBS})
ELSE(ENABLE_CPIO_SHARED)
TARGET_LINK_LIBRARIES(bsdcpio archive_static ${ADDITIONAL_LIBS})
+ SET_TARGET_PROPERTIES(bsdcpio PROPERTIES COMPILE_DEFINITIONS
+ LIBARCHIVE_STATIC)
ENDIF(ENABLE_CPIO_SHARED)
IF(WIN32 AND NOT CYGWIN)
SET_TARGET_PROPERTIES(bsdcpio PROPERTIES
test_passthrough_reverse.c
test_pathmatch.c
)
- IF(WIN32 AND NOT CYGWIN)
- LIST(APPEND bsdcpio_test_SOURCES ../../libarchive/archive_windows.c)
- ENDIF(WIN32 AND NOT CYGWIN)
#
# Generate the list.h
# Register target
#
ADD_EXECUTABLE(bsdcpio_test ${bsdcpio_test_SOURCES})
+ IF(WIN32 AND NOT CYGWIN)
+ ADD_DEPENDENCIES(bsdcpio_test archive_windows_static)
+ ENDIF(WIN32 AND NOT CYGWIN)
SET(num 0)
FOREACH(test ${bsdcpio_test_SOURCES})
IF(test MATCHES "^test_[^/]+[.]c$")
+############################################
+#
+# How to build libarchive_windows_static
+#
+# This library is internal library and is used for libarchive programs
+# on Windows platform only.
+# We don't install this one anywhere.
+#
+############################################
+IF(WIN32 AND NOT CYGWIN)
+ SET(libarchive_windows_SOURCES
+ archive_windows.c
+ archive_windows.h
+ )
+ #
+ # Register target
+ #
+ ADD_LIBRARY(archive_windows_static STATIC ${libarchive_windows_SOURCES})
+ENDIF(WIN32 AND NOT CYGWIN)
############################################
#
)
IF(WIN32 AND NOT CYGWIN)
- LIST(APPEND libarchive_SOURCES archive_windows.c)
- LIST(APPEND libarchive_SOURCES archive_windows.h)
LIST(APPEND libarchive_SOURCES filter_fork_windows.c)
ENDIF(WIN32 AND NOT CYGWIN)
# Libarchive is a library
ADD_LIBRARY(archive SHARED ${libarchive_SOURCES} ${include_HEADERS})
TARGET_LINK_LIBRARIES(archive ${ADDITIONAL_LIBS})
+IF(WIN32 AND NOT CYGWIN)
+ ADD_DEPENDENCIES(archive archive_windows_static)
+ENDIF(WIN32 AND NOT CYGWIN)
SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION})
SET_TARGET_PROPERTIES(archive PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
ADD_LIBRARY(archive_static STATIC ${libarchive_SOURCES} ${include_HEADERS})
+TARGET_LINK_LIBRARIES(archive_static ${ADDITIONAL_LIBS})
+IF(WIN32 AND NOT CYGWIN)
+ ADD_DEPENDENCIES(archive_static archive_windows_static)
+ENDIF(WIN32 AND NOT CYGWIN)
SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS
LIBARCHIVE_STATIC)
SET_TARGET_PROPERTIES(archive_static PROPERTIES
#
ADD_EXECUTABLE(libarchive_test ${libarchive_test_SOURCES})
TARGET_LINK_LIBRARIES(libarchive_test ${ADDITIONAL_LIBS})
+ IF(WIN32 AND NOT CYGWIN)
+ ADD_DEPENDENCIES(libarchive_test archive_windows_static)
+ ENDIF(WIN32 AND NOT CYGWIN)
SET_PROPERTY(TARGET libarchive_test PROPERTY COMPILE_DEFINITIONS
LIBARCHIVE_STATIC)
SET(num 0)
IF(WIN32 AND NOT CYGWIN)
LIST(APPEND bsdtar_SOURCES bsdtar_windows.c)
LIST(APPEND bsdtar_SOURCES bsdtar_windows.h)
- LIST(APPEND bsdtar_SOURCES ../libarchive/archive_windows.c)
ENDIF(WIN32 AND NOT CYGWIN)
SET(bsdtar_MANS bsdtar.1)
# Register target
#
ADD_EXECUTABLE(bsdtar ${bsdtar_SOURCES})
+ IF(WIN32 AND NOT CYGWIN)
+ ADD_DEPENDENCIES(bsdtar archive_windows_static)
+ ENDIF(WIN32 AND NOT CYGWIN)
IF(ENABLE_TAR_SHARED)
TARGET_LINK_LIBRARIES(bsdtar archive ${ADDITIONAL_LIBS})
ELSE(ENABLE_TAR_SHARED)
TARGET_LINK_LIBRARIES(bsdtar archive_static ${ADDITIONAL_LIBS})
+ SET_TARGET_PROPERTIES(bsdtar PROPERTIES COMPILE_DEFINITIONS
+ LIBARCHIVE_STATIC)
ENDIF(ENABLE_TAR_SHARED)
IF(WIN32 AND NOT CYGWIN)
SET_TARGET_PROPERTIES(bsdtar PROPERTIES
test_version.c
)
IF(WIN32 AND NOT CYGWIN)
- LIST(APPEND bsdtar_test_SOURCES ../../libarchive/archive_windows.c)
LIST(APPEND bsdtar_test_SOURCES test_windows.c)
ENDIF(WIN32 AND NOT CYGWIN)
# Register target
#
ADD_EXECUTABLE(bsdtar_test ${bsdtar_test_SOURCES})
+ IF(WIN32 AND NOT CYGWIN)
+ ADD_DEPENDENCIES(bsdtar_test archive_windows_static)
+ ENDIF(WIN32 AND NOT CYGWIN)
SET(num 0)
FOREACH(test ${bsdtar_test_SOURCES})
IF(test MATCHES "^test_[^/]+[.]c$")