diff --git a/CMakeLists.txt b/CMakeLists.txt index da0e5a91..d6ee9ec7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.15) -project(libxml2 C) +project(libxml2 VERSION 2.9.10 LANGUAGES C) include(CheckCSourceCompiles) include(CheckFunctionExists) @@ -11,16 +11,6 @@ include(CheckSymbolExists) include(CMakePackageConfigHelpers) include(GNUInstallDirs) -set(LIBXML_MAJOR_VERSION 2) -set(LIBXML_MINOR_VERSION 9) -set(LIBXML_MICRO_VERSION 10) - -set(VERSION "${LIBXML_MAJOR_VERSION}.${LIBXML_MINOR_VERSION}.${LIBXML_MICRO_VERSION}") -set(LIBXML_VERSION ${LIBXML_MAJOR_VERSION}0${LIBXML_MINOR_VERSION}0${LIBXML_MICRO_VERSION}) -set(LIBXML_VERSION_STRING "${LIBXML_VERSION}") -set(LIBXML_VERSION_EXTRA "") -set(LIBXML_VERSION_NUMBER ${LIBXML_VERSION}) - option(BUILD_SHARED_LIBS "Build shared libraries" ON) set(LIBXML2_WITH_AUTOMATA ON) option(LIBXML2_WITH_C14N "Add the Canonicalization support" ON) @@ -105,6 +95,16 @@ foreach(VARIABLE IN ITEMS WITH_AUTOMATA WITH_C14N WITH_CATALOG WITH_DEBUG WITH_D endif() endforeach() +set(LIBXML_MAJOR_VERSION ${PROJECT_VERSION_MAJOR}) +set(LIBXML_MINOR_VERSION ${PROJECT_VERSION_MINOR}) +set(LIBXML_MICRO_VERSION ${PROJECT_VERSION_PATCH}) + +set(VERSION "${LIBXML_MAJOR_VERSION}.${LIBXML_MINOR_VERSION}.${LIBXML_MICRO_VERSION}") +set(LIBXML_VERSION ${LIBXML_MAJOR_VERSION}0${LIBXML_MINOR_VERSION}0${LIBXML_MICRO_VERSION}) +set(LIBXML_VERSION_STRING "${LIBXML_VERSION}") +set(LIBXML_VERSION_EXTRA "") +set(LIBXML_VERSION_NUMBER ${LIBXML_VERSION}) + set(MODULE_EXTENSION "${CMAKE_SHARED_LIBRARY_SUFFIX}") set(PACKAGE "libxml2") @@ -493,7 +493,7 @@ set_target_properties( OUTPUT_NAME xml2 POSITION_INDEPENDENT_CODE ON PREFIX lib - VERSION ${VERSION} + VERSION ${PROJECT_VERSION} ) if(WIN32) @@ -637,7 +637,7 @@ if(LIBXML2_WITH_PYTHON) IMPORT_PREFIX lib OUTPUT_NAME xml2mod PREFIX lib - VERSION ${VERSION} + VERSION ${PROJECT_VERSION} ) install( TARGETS LibXml2Mod @@ -659,30 +659,30 @@ install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/libxml2 COMPONEN configure_package_config_file( libxml2-config.cmake.cmake.in libxml2-config.cmake - INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${VERSION} + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${PROJECT_VERSION} ) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2-config.cmake - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${VERSION} + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${PROJECT_VERSION} COMPONENT development ) write_basic_package_version_file( ${CMAKE_CURRENT_BINARY_DIR}/libxml2-config-version.cmake - VERSION ${VERSION} + VERSION ${PROJECT_VERSION} COMPATIBILITY ExactVersion ) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libxml2-config-version.cmake - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${VERSION} + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${PROJECT_VERSION} COMPONENT development ) install( EXPORT LibXml2 - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${VERSION} + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxml2-${PROJECT_VERSION} NAMESPACE LibXml2:: FILE libxml2-export.cmake COMPONENT development