# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. cmake_minimum_required (VERSION 3.21) if(DEFINED DIRECTXMATH_VERSION) set(XDSP_VERSION ${DIRECTXMATH_VERSION}) else() set(XDSP_VERSION 3.0.0) endif() project(XDSP VERSION ${XDSP_VERSION} DESCRIPTION "XDSP Digital Signal Processing (DSP) for DirectXMath" HOMEPAGE_URL "https://go.microsoft.com/fwlink/?LinkID=615560" LANGUAGES CXX) if(PROJECT_IS_TOP_LEVEL) message(FATAL_ERROR "XSDP should be built by the main CMakeLists using BUILD_XDSP") endif() #--- Library set(LIBRARY_HEADERS XDSP.h) add_library(${PROJECT_NAME} INTERFACE) target_include_directories(${PROJECT_NAME} INTERFACE $ $) target_compile_features(${PROJECT_NAME} INTERFACE cxx_std_11) #--- Package include(CMakePackageConfigHelpers) string(TOLOWER ${PROJECT_NAME} PACKAGE_NAME) cmake_path(GET CMAKE_CURRENT_LIST_DIR PARENT_PATH DIRECTXMATH_PATH) write_basic_package_version_file( ${PACKAGE_NAME}-config-version.cmake VERSION ${XDSP_VERSION} COMPATIBILITY AnyNewerVersion ARCH_INDEPENDENT) install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) configure_package_config_file(${DIRECTXMATH_PATH}/build/DirectXMath-config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}-config.cmake INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PACKAGE_NAME}) install(EXPORT ${PROJECT_NAME}-targets FILE ${PROJECT_NAME}-targets.cmake NAMESPACE Microsoft:: DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PACKAGE_NAME}) install(FILES ${LIBRARY_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}-config-version.cmake DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PACKAGE_NAME})