# # Copyright Kitware, Inc. # Distributed under the OSI-approved BSD 3-Clause License. # See accompanying file Copyright.txt for details. # if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") cmake_minimum_required(VERSION 3.0 FATAL_ERROR) set(kwiml_standalone 1) project(KWIML) include(CTest) mark_as_advanced(BUILD_TESTING) if(BUILD_TESTING) set(KWIML_TEST_ENABLE 1) endif() if(NOT DEFINED KWIML_INSTALL_INCLUDE_DIR) set(KWIML_INSTALL_INCLUDE_DIR include) endif() set(KWIML_INCLUDE_PREFIX kwiml) else() cmake_minimum_required(VERSION 2.8.2 FATAL_ERROR) set(kwiml_standalone 0) if(KWIML_INSTALL_INCLUDE_DIR AND NOT DEFINED KWIML_INCLUDE_PREFIX) message(FATAL_ERROR "Host project must set KWIML_INCLUDE_PREFIX") endif() endif() get_property(KWIML_LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES) foreach(lang ${KWIML_LANGUAGES}) set(KWIML_LANGUAGE_${lang} 1) endforeach() if(NOT KWIML_LANGUAGE_C AND NOT KWIML_LANGUAGE_CXX) set(BUILD_TESTING OFF) endif() if(KWIML_INSTALL_INCLUDE_DIR) install(FILES include/kwiml/abi.h include/kwiml/int.h DESTINATION ${KWIML_INSTALL_INCLUDE_DIR}/${KWIML_INCLUDE_PREFIX} ${KWIML_INSTALL_INCLUDE_OPTIONS} ) endif() if(KWIML_TEST_ENABLE) add_subdirectory(test) endif() if(NOT kwiml_standalone) return() endif() #---------------------------------------------------------------------------- set(KWIML_VERSION 1.0.0) if(KWIML_VERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)") set(KWIML_VERSION_MAJOR "${CMAKE_MATCH_1}") set(KWIML_VERSION_MINOR "${CMAKE_MATCH_2}") set(KWIML_VERSION_PATCH "${CMAKE_MATCH_3}") math(EXPR KWIML_VERSION_DECIMAL "${KWIML_VERSION_MAJOR}*1000000 + ${KWIML_VERSION_MINOR}*1000 + ${KWIML_VERSION_PATCH}") else() message(FATAL_ERROR "Failed to parse KWIML_VERSION='${KWIML_VERSION}'") endif() configure_file(src/version.h.in include/kwiml/version.h @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/include/kwiml/version.h DESTINATION ${KWIML_INSTALL_INCLUDE_DIR}/kwiml ) if(NOT KWIML_INSTALL_PACKAGE_DIR) set(KWIML_INSTALL_PACKAGE_DIR share/cmake/kwiml-${KWIML_VERSION_MAJOR}.${KWIML_VERSION_MINOR}) endif() add_library(kwiml INTERFACE) target_include_directories(kwiml INTERFACE $/${KWIML_INSTALL_INCLUDE_DIR}> $ $ ) export(TARGETS kwiml NAMESPACE kwiml:: FILE kwiml-targets.cmake ) install(TARGETS kwiml DESTINATION lib EXPORT kwiml-targets ) install(EXPORT kwiml-targets NAMESPACE kwiml:: DESTINATION ${KWIML_INSTALL_PACKAGE_DIR} ) configure_file(src/kwiml-config.cmake.in kwiml-config.cmake @ONLY) include(CMakePackageConfigHelpers) write_basic_package_version_file( "${CMAKE_CURRENT_BINARY_DIR}/kwiml-config-version.cmake" VERSION ${KWIML_VERSION} COMPATIBILITY AnyNewerVersion ) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kwiml-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/kwiml-config-version.cmake DESTINATION ${KWIML_INSTALL_PACKAGE_DIR} )