|
|
|
|
if(NOT TARGET ZLIB::ZLIB)
|
|
|
|
|
find_package(ZLIB REQUIRED)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(NOT TARGET BZip2::BZip2)
|
|
|
|
|
find_package(BZip2 REQUIRED)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
include(functions/FetchContent_MakeAvailableExcludeFromAll)
|
|
|
|
|
|
|
|
|
|
include(FetchContent)
|
|
|
|
|
FetchContent_Declare(libmpq
|
|
|
|
|
URL https://github.com/diasurgical/libmpq/archive/34ace76ecb18c3c72300a6b8352ca0c96333488d.tar.gz
|
|
|
|
|
URL_HASH MD5=e76ab7e4f9dfd7f96c152dd7d8418fee
|
|
|
|
|
)
|
|
|
|
|
FetchContent_MakeAvailableExcludeFromAll(libmpq)
|
|
|
|
|
|
|
|
|
|
add_library(libmpq STATIC
|
|
|
|
|
${libmpq_SOURCE_DIR}/libmpq/common.c
|
|
|
|
|
${libmpq_SOURCE_DIR}/libmpq/explode.c
|
|
|
|
|
${libmpq_SOURCE_DIR}/libmpq/extract.c
|
|
|
|
|
${libmpq_SOURCE_DIR}/libmpq/huffman.c
|
|
|
|
|
${libmpq_SOURCE_DIR}/libmpq/mpq.c
|
|
|
|
|
${libmpq_SOURCE_DIR}/libmpq/wave.c
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_include_directories(libmpq PUBLIC ${libmpq_SOURCE_DIR})
|
|
|
|
|
target_include_directories(libmpq PRIVATE ${CMAKE_CURRENT_LIST_DIR})
|
|
|
|
|
|
|
|
|
|
target_link_libraries(libmpq PRIVATE ZLIB::ZLIB BZip2::BZip2)
|
|
|
|
|
|
|
|
|
|
if(LIBMPQ_FILE_BUFFER_SIZE)
|
|
|
|
|
target_compile_definitions(libmpq PRIVATE "LIBMPQ_FILE_BUFFER_SIZE=${LIBMPQ_FILE_BUFFER_SIZE}")
|
|
|
|
|
endif()
|