diff --git a/CMakeLists.txt b/CMakeLists.txt index dae638be8..dd5d17794 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -64,6 +64,7 @@ option(USE_SHARED_CURL "Use your installed copy of curl" off) option(USE_SHARED_GIFLIB "Use your installed copy of giflib" off) option(USE_SHARED_JPEGLIB "Use your installed copy of jpeglib" off) option(USE_SHARED_ZLIB "Use your installed copy of zlib" off) +option(USE_SHARED_LIBARCHIVE "Use your installed copy of libarchive" off) option(USE_SHARED_LIBPNG "Use your installed copy of libpng" off) option(USE_SHARED_LIBLOADPNG "Use your installed copy of libloadpng" off) option(USE_SHARED_LIBWEBP "Use your installed copy of libwebp" off) @@ -193,6 +194,15 @@ else() endif() include_directories(${ZLIB_INCLUDE_DIRS}) +# libarchive +if(USE_SHARED_LIBARCHIVE) + find_library(ARCHIVE_LIBRARIES NAMES archive) + find_path(ARCHIVE_INCLUDE_DIRS NAMES archive.h) +else() + add_definitions(-DLIBARCHIVE_STATIC) + set(ARCHIVE_LIBRARIES archive_static) +endif() + # libpng if(USE_SHARED_LIBPNG) find_package(PNG REQUIRED) @@ -294,7 +304,7 @@ if(USE_SHARED_CMARK) else() add_definitions(-DCMARK_STATIC_DEFINE) set(CMARK_LIBRARIES libcmark_static) - include_directories(${CMAKE_BINARY_DIR}/third_party/cmark) + include_directories(${CMARK_DIR}) endif() if(USE_SHARED_CURL) diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt index a9e80d73c..619acac92 100644 --- a/src/app/CMakeLists.txt +++ b/src/app/CMakeLists.txt @@ -82,9 +82,6 @@ if(WITH_WEBP_SUPPORT) add_definitions(-DASEPRITE_WITH_WEBP_SUPPORT) endif() -# libarchive definitions -add_definitions(-DLIBARCHIVE_STATIC) - ###################################################################### # app-lib target @@ -551,7 +548,7 @@ target_link_libraries(app-lib ${FREETYPE_LIBRARIES} ${HARFBUZZ_LIBRARIES} json11 - archive_static) + ${ARCHIVE_LIBRARIES}) if(ENABLE_SCRIPTING) target_link_libraries(app-lib script-lib) diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt index 596ffa2e4..977816439 100644 --- a/third_party/CMakeLists.txt +++ b/third_party/CMakeLists.txt @@ -113,13 +113,15 @@ endif() add_subdirectory(json11) # libarchive -set(ENABLE_TEST OFF CACHE BOOL "Enable unit and regression tests") -set(ENABLE_COVERAGE OFF CACHE BOOL "Enable code coverage (GCC only, automatically sets ENABLE_TEST to ON)") -set(ENABLE_LZMA OFF CACHE BOOL "Enable the use of the system LZMA library if found") -set(ENABLE_CNG OFF CACHE BOOL "Enable the use of CNG(Crypto Next Generation)") -add_subdirectory(libarchive) -target_include_directories(archive_static INTERFACE - $) +if(NOT USE_SHARED_LIBARCHIVE) + set(ENABLE_TEST OFF CACHE BOOL "Enable unit and regression tests") + set(ENABLE_COVERAGE OFF CACHE BOOL "Enable code coverage (GCC only, automatically sets ENABLE_TEST to ON)") + set(ENABLE_LZMA OFF CACHE BOOL "Enable the use of the system LZMA library if found") + set(ENABLE_CNG OFF CACHE BOOL "Enable the use of CNG(Crypto Next Generation)") + add_subdirectory(libarchive) + target_include_directories(archive_static INTERFACE + $) +endif() # benchmark if(ENABLE_BENCHMARKS)