aboutsummaryrefslogtreecommitdiff
path: root/libs/archive/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'libs/archive/CMakeLists.txt')
-rw-r--r--libs/archive/CMakeLists.txt37
1 files changed, 37 insertions, 0 deletions
diff --git a/libs/archive/CMakeLists.txt b/libs/archive/CMakeLists.txt
new file mode 100644
index 0000000..fa5d783
--- /dev/null
+++ b/libs/archive/CMakeLists.txt
@@ -0,0 +1,37 @@
+cmake_minimum_required(VERSION 3.16)
+
+include(CMakePackageConfigHelpers)
+
+project(archive)
+
+set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+option(BUILD_SHARED_LIBS "Build using shared libraries" ON)
+
+add_subdirectory(src)
+
+configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/config.cmake.in
+ "${CMAKE_CURRENT_BINARY_DIR}/mo2-archive-config.cmake"
+ INSTALL_DESTINATION "lib/cmake/mo2-archive"
+ NO_SET_AND_CHECK_MACRO
+ NO_CHECK_REQUIRED_COMPONENTS_MACRO
+)
+
+file(READ "${CMAKE_CURRENT_SOURCE_DIR}/src/version.rc" archive_version)
+string(REGEX MATCH "#define VER_FILEVERSION[ \t]*([0-9]+),([0-9]+),([0-9]+)" _ ${archive_version})
+set(archive_version_major ${CMAKE_MATCH_1})
+set(archive_version_minor ${CMAKE_MATCH_2})
+set(archive_version_patch ${CMAKE_MATCH_3})
+
+message(STATUS "[MO2] Found version '${archive_version_major}.${archive_version_minor}.${archive_version_patch}'.")
+
+write_basic_package_version_file(
+ "${CMAKE_CURRENT_BINARY_DIR}/mo2-archive-config-version.cmake"
+ VERSION "${archive_version_major}.${archive_version_minor}.${archive_version_patch}"
+ COMPATIBILITY AnyNewerVersion
+)
+
+install(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/mo2-archive-config.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/mo2-archive-config-version.cmake
+ DESTINATION lib/cmake/mo2-archive
+)