mirror of
https://github.com/ModOrganizer2/modorganizer-uibase.git
synced 2026-07-27 14:03:49 -07:00
45 lines
1.4 KiB
CMake
45 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
|
|
include(CMakePackageConfigHelpers)
|
|
|
|
project(uibase)
|
|
|
|
find_package(mo2-cmake CONFIG REQUIRED)
|
|
|
|
add_subdirectory(src)
|
|
|
|
mo2_set_project_to_run_from_install(uibase EXECUTABLE ${CMAKE_INSTALL_PREFIX}/bin/ModOrganizer.exe)
|
|
set_property(DIRECTORY ${PROJECT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT uibase)
|
|
|
|
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/config.cmake.in
|
|
"${CMAKE_CURRENT_BINARY_DIR}/mo2-uibase-config.cmake"
|
|
INSTALL_DESTINATION "lib/cmake/mo2-uibase"
|
|
NO_SET_AND_CHECK_MACRO
|
|
NO_CHECK_REQUIRED_COMPONENTS_MACRO
|
|
)
|
|
|
|
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/src/version.rc" uibase_version)
|
|
string(REGEX MATCH "#define VER_FILEVERSION[ \t]*([0-9]+)[.]([0-9]+)[.]([0-9]+)" _ ${uibase_version})
|
|
set(uibase_version_major ${CMAKE_MATCH_1})
|
|
set(uibase_version_minor ${CMAKE_MATCH_2})
|
|
set(uibase_version_patch ${CMAKE_MATCH_3})
|
|
|
|
write_basic_package_version_file(
|
|
"${CMAKE_CURRENT_BINARY_DIR}/mo2-uibase-config-version.cmake"
|
|
VERSION "${uibase_version_major}.${uibase_version_minor}.${uibase_version_patch}"
|
|
COMPATIBILITY AnyNewerVersion
|
|
ARCH_INDEPENDENT
|
|
)
|
|
|
|
install(FILES
|
|
${CMAKE_CURRENT_BINARY_DIR}/mo2-uibase-config.cmake
|
|
${CMAKE_CURRENT_BINARY_DIR}/mo2-uibase-config-version.cmake
|
|
DESTINATION lib/cmake/mo2-uibase
|
|
)
|
|
|
|
set(BUILD_TESTING ${BUILD_TESTING} CACHE BOOL "build tests for uibase")
|
|
if (BUILD_TESTING)
|
|
enable_testing()
|
|
add_subdirectory(tests)
|
|
endif()
|