blob: df22749adf740e965b4c43b44d0a3a4e4b1abd3a [file]
# SPDX-FileCopyrightText: The Eigen Authors
# SPDX-License-Identifier: MPL-2.0
# doc/TopicCMakeGuide.dox: an installed Eigen is consumed with
# find_package(Eigen3 REQUIRED NO_MODULE) and target_link_libraries against
# Eigen3::Eigen. Also pins what a default top-level install contains, since
# every later scenario asserting an absence is only meaningful against it.
bs_install_eigen()
bs_assert_eigen_headers_installed()
bs_assert_installed("Eigen3Config\\.cmake$" "Eigen3 CMake package")
bs_assert_installed("Eigen3ConfigVersion\\.cmake$" "Eigen3 package version file")
bs_assert_installed("Eigen3Targets\\.cmake$" "Eigen3 exported targets")
bs_assert_installed("/Eigen/Version$" "generated Eigen/Version header")
# pkgconfig_off only asserts that eigen3.pc is absent, so without the positive
# case here it would stay green even if pkg-config installation broke for every
# configuration. EIGEN_BUILD_PKGCONFIG, and with it eigen3.pc, exists only
# where the top-level CMakeLists offers the option.
if(NOT WIN32 OR NOT CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
bs_assert_installed("eigen3\\.pc$" "eigen3.pc")
endif()
bs_configure("consumer" "${BS_CONSUMER_DIR}/installed" "${WORK_DIR}/consumer"
"-DCMAKE_PREFIX_PATH=${BS_PREFIX}"
"-DEIGEN_EXPECTED_PREFIX=${BS_PREFIX}"
${BS_FIND_PACKAGE_ISOLATION})
bs_build_and_run_consumer("consumer" "${WORK_DIR}/consumer")