You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

38 lines
1.2 KiB

if(NOT TARGET ZLIB::ZLIB)
find_package(ZLIB REQUIRED)
endif()
if(NOT TARGET BZip2::BZip2)
find_package(BZip2 REQUIRED)
endif()
include(functions/FetchContent_ExcludeFromAll_backport)
include(FetchContent)
FetchContent_Declare_ExcludeFromAll(libmpq
URL https://github.com/diasurgical/libmpq/archive/7c2924d4553513eba1a70bbdb558198dd8c2726a.tar.gz
URL_HASH MD5=315c88c02b45851cdfee8460322de044
)
FetchContent_MakeAvailable_ExcludeFromAll(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()
if(DEVILUTIONX_WINDOWS_NO_WCHAR)
target_compile_definitions(libmpq PRIVATE LIBMPQ_WINDOWS_NO_WCHAR)
endif()