1
0
mirror of https://github.com/ScrelliCopter/tmx2gba.git synced 2025-02-21 03:29:25 +11:00

zstd support

This commit is contained in:
2024-03-25 22:24:26 +11:00
parent b43b39b8b8
commit fb7cef3bc8
97 changed files with 76282 additions and 26 deletions

View File

@@ -64,36 +64,21 @@ endif()
# if we want external zip and xml libs find them and tell the compiler
if(USE_EXTLIBS)
target_compile_definitions(${PROJECT_NAME} PRIVATE USE_EXTLIBS)
target_compile_definitions(${PROJECT_NAME} PRIVATE USE_ZSTD)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules/")
find_package(ZLIB REQUIRED)
find_package(PUGIXML REQUIRED)
find_package(Zstd REQUIRED)
find_package(ZLIB REQUIRED)
find_package(PUGIXML REQUIRED)
find_package(Zstd REQUIRED)
target_compile_definitions(${PROJECT_NAME} PRIVATE USE_EXTLIBS USE_ZSTD)
target_include_directories(${PROJECT_NAME} PRIVATE ${ZLIB_INCLUDE_DIRS} ${PUGIXML_INCLUDE_DIR} ${ZSTD_INCLUDE_DIR})
target_link_libraries(${PROJECT_NAME} ${ZLIB_LIBRARIES} ${PUGIXML_LIBRARY} ${ZSTD_LIBRARY})
else()
# add miniz and pugixml from source
target_link_libraries(${PROJECT_NAME} pugixml::static External::miniz)
if(USE_ZSTD)
target_compile_definitions(${PROJECT_NAME} PRIVATE USE_ZSTD)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules/")
find_package(Zstd REQUIRED)
target_include_directories(${PROJECT_NAME} PRIVATE ${ZSTD_INCLUDE_DIR})
target_link_libraries(${PROJECT_NAME} zstd::static)
endif()
endif()
if(USE_EXTLIBS)
target_link_libraries(${PROJECT_NAME} ${ZLIB_LIBRARIES} ${PUGIXML_LIBRARY} ${ZSTD_LIBRARY})
else()
if(USE_ZSTD)
target_link_libraries(${PROJECT_NAME} ${ZSTD_LIBRARY})
endif()
endif()
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)

View File

@@ -146,6 +146,7 @@ void TileLayer::parseBase64(const pugi::xml_node& node)
LOG("Failed to decompress layer data, node skipped.\nError: " + err, Logger::Type::Error);
}
}
break;
#else
Logger::log("Library must be built with USE_EXTLIBS or USE_ZSTD for Zstd compression", Logger::Type::Error);
return {};