Archived
1
Fork 0
This repository has been archived on 2025-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
libxiv/CMakeLists.txt
Joshua Goins 29d3a1aabf Improve Windows support
Will now compile out of the box on Windows MSVC.
Right now, out of the box game installation is not supported
as per unshield being non-functional on Windows, will be porting
to Windows or finding a workaround in the near future.
2022-03-27 21:06:14 -04:00

62 lines
No EOL
1.3 KiB
CMake

project(libxiv)
find_package(fmt QUIET)
if(TARGET fmt::fmt)
message("Using system library for fmt")
set(LIBRARIES fmt::fmt ${LIBRARIES})
else()
message("Using built-in fmt")
FetchContent_Declare(
fmt
GIT_REPOSITORY https://github.com/fmtlib/fmt
GIT_TAG master
)
FetchContent_MakeAvailable(fmt)
set(LIBRARIES fmt::fmt ${LIBRARIES})
endif()
# note: unshield does not work on windows per maintainer notice in README, so we might as well not even attempt to look
# for it.
if(NOT WIN32)
set(LIBRARIES unshield ${LIBRARIES})
endif()
find_package(ZLIB QUIET)
if(TARGET ZLIB::ZLIB)
message("Using system library for zlib")
set(LIBRARIES ZLIB::ZLIB ${LIBRARIES})
else()
message("Using built-in zlib")
FetchContent_Declare(
zlib
GIT_REPOSITORY https://github.com/madler/zlib.git
GIT_TAG master
)
FetchContent_MakeAvailable(zlib)
set(LIBRARIES zlib ${LIBRARIES})
endif()
add_library(libxiv STATIC
src/fiinparser.cpp
src/indexparser.cpp
src/crc32.cpp
src/gamedata.cpp
src/compression.cpp
src/exhparser.cpp
src/exdparser.cpp
src/installextract.cpp
src/patch.cpp)
target_include_directories(libxiv PUBLIC include PRIVATE src)
target_link_libraries(libxiv PUBLIC
${LIBRARIES})