aboutsummaryrefslogtreecommitdiff
path: root/libs/archive/CMakeLists.txt
blob: fa5d78350adae1c8366e2ee347dcd37eab0c3311 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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
)