vcpkg/ports/casclib/CMakeLists.txt
Stijn Herfst 63dd3a30fc [casclib] Added CMake targets (#7522)
* Added CMake targets

* Windows build failure fix

* [casclib] Improve CMake find_package() integration

* [casclib] Remove unused lines
2019-08-02 13:31:48 -07:00

84 lines
2.4 KiB
CMake

cmake_minimum_required(VERSION 3.9)
project(casclib)
set(PROJECT_VERSION_MAJOR 1)
set(PROJECT_VERSION_MINOR 50)
option(INSTALL_HEADERS "Install header files" ON)
set(SRC_FILES
src/CascLib.def
src/CascCommon.cpp
src/CascDecompress.cpp
src/CascDecrypt.cpp
src/CascDumpData.cpp
src/CascFiles.cpp
src/CascFindFile.cpp
src/CascIndexFiles.cpp
src/CascOpenFile.cpp
src/CascOpenStorage.cpp
src/CascReadFile.cpp
src/CascRootFile_Diablo3.cpp
src/CascRootFile_Install.cpp
src/CascRootFile_MNDX.cpp
src/CascRootFile_OW.cpp
src/CascRootFile_Text.cpp
src/CascRootFile_TVFS.cpp
src/CascRootFile_WoW.cpp
src/common/Common.cpp
src/common/Csv.cpp
src/common/Directory.cpp
src/common/FileStream.cpp
src/common/FileTree.cpp
src/common/ListFile.cpp
src/common/RootHandler.cpp
src/jenkins/lookup3.c
)
set(MD5_FILES
src/md5/md5.cpp
)
set(ZLIB_FILES
src/zlib/adler32.c
src/zlib/crc32.c
src/zlib/inffast.c
src/zlib/inflate.c
src/zlib/inftrees.c
src/zlib/zutil.c
)
add_library(casclib ${SRC_FILES} ${ZLIB_FILES} ${MD5_FILES})
target_include_directories(casclib
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
$<INSTALL_INTERFACE:include/casclib>)
if(WIN32)
target_compile_definitions(casclib PRIVATE UNICODE _UNICODE)
endif()
install(TARGETS casclib
EXPORT casclibTargets
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
)
include(CMakePackageConfigHelpers)
set(VERSION_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/temp/casclibConfigVersion.cmake")
set(PROJECT_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/temp/casclibConfig.cmake")
set(INSTALL_DIR "share/casclib")
write_basic_package_version_file("${VERSION_CONFIG}" VERSION 1.50 COMPATIBILITY SameMajorVersion)
configure_package_config_file("Config.cmake.in"
"${PROJECT_CONFIG}"
INSTALL_DESTINATION "${INSTALL_DIR}")
install(FILES "${PROJECT_CONFIG}" "${VERSION_CONFIG}" DESTINATION "${INSTALL_DIR}")
install(EXPORT casclibTargets DESTINATION "${INSTALL_DIR}")
if(INSTALL_HEADERS)
install(FILES "src/CascLib.h" "src/CascPort.h" DESTINATION include/casclib)
endif()