| # SPDX-FileCopyrightText: The Eigen Authors | |
| # SPDX-License-Identifier: MPL-2.0 | |
| # doc/TopicCMakeGuide.dox: with EIGEN_INSTALL set to OFF, "Eigen then places no | |
| # file at all under CMAKE_INSTALL_PREFIX", while the embedding project's own | |
| # install rules keep working. This is issue #3088. | |
| bs_configure("embedding consumer with EIGEN_INSTALL=OFF" "${BS_CONSUMER_DIR}/subproject" | |
| "${WORK_DIR}/consumer" | |
| "-DEIGEN_SOURCE_DIR=${EIGEN_SOURCE_DIR}" | |
| "-DCMAKE_INSTALL_PREFIX=${BS_PREFIX}" | |
| "-DEIGEN_INSTALL=OFF") | |
| bs_build_and_run_consumer("embedding consumer with EIGEN_INSTALL=OFF" "${WORK_DIR}/consumer") | |
| bs_install("embedding consumer with EIGEN_INSTALL=OFF" "${WORK_DIR}/consumer") | |
| bs_assert_no_eigen_installed() | |
| bs_assert_installed("bin/consumer" "the consumer's own executable") | |
| # Nothing but the consumer's own executable may appear, so a future install | |
| # rule added outside the EIGEN_INSTALL guard is caught here rather than only | |
| # by the named checks above. | |
| bs_installed_files(installed) | |
| list(LENGTH installed count) | |
| if(NOT count EQUAL 1) | |
| bs_installed_summary(summary) | |
| bs_fail("expected only the consumer's executable; ${summary}") | |
| endif() |