From e7c64848f4182ae7ac2b50786a1641639b3d17ad Mon Sep 17 00:00:00 2001 From: Mark Gates Date: Mon, 26 Oct 2020 13:47:04 -0400 Subject: [PATCH] cmake: check if subdir CMakeLists exist --- CMakeLists.txt | 16 +++++++++++++--- test/CMakeLists.txt | 12 +++++++++++- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 266a86db4..95734cc2c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -323,7 +323,7 @@ if (NOT TARGET blaspp) find_package( blaspp QUIET ) if (blaspp_FOUND) message( " Found BLAS++: ${blaspp_DIR}" ) - else() + elseif (EXISTS "${CMAKE_SOURCE_DIR}/blaspp/CMakeLists.txt") set( build_tests_save "${build_tests}" ) set( build_tests "false" ) @@ -331,6 +331,10 @@ if (NOT TARGET blaspp) set( build_tests "${build_tests_save}" ) set( blaspp_DIR "${CMAKE_BINARY_DIR}/blaspp" ) + else() + message( FATAL_ERROR "blaspp/CMakeLists.txt doesn't exist. Use:\n" + " git submodule update --init\n" + "to checkout submodules." ) endif() else() message( " BLAS++ already included" ) @@ -344,14 +348,20 @@ if (NOT TARGET lapackpp) find_package( lapackpp QUIET ) if (lapackpp_FOUND) message( " Found LAPACK++: ${lapackpp_DIR}" ) - else() + + elseif (EXISTS "${CMAKE_SOURCE_DIR}/lapackpp/CMakeLists.txt") set( build_tests_save "${build_tests}" ) set( build_tests "false" ) add_subdirectory( "lapackpp" ) set( build_tests "${build_tests_save}" ) - set( blaspp_DIR "${CMAKE_BINARY_DIR}/blaspp" ) + set( lapackpp_DIR "${CMAKE_BINARY_DIR}/lapackpp" ) + + else() + message( FATAL_ERROR "lapackpp/CMakeLists.txt doesn't exist. Use:\n" + " git submodule update --init\n" + "to checkout submodules." ) endif() else() message( " LAPACK++ already included" ) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 5e07606b8..932ae1ebf 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -33,11 +33,21 @@ if (NOT TARGET testsweeper) find_package( testsweeper QUIET ) if (testsweeper_FOUND) message( " Found TestSweeper library: ${testsweeper_DIR}" ) - else() + elseif (EXISTS "${CMAKE_SOURCE_DIR}/testsweeper/CMakeLists.txt") add_subdirectory( "${CMAKE_SOURCE_DIR}/testsweeper" "${CMAKE_BINARY_DIR}/testsweeper" ) + else() + set( url "https://bitbucket.org/icl/testsweeper" ) + message( "" ) + message( "---------- TestSweeper" ) + message( STATUS "Fetching TestSweeper from ${url}" ) + include( FetchContent ) + FetchContent_Declare( testsweeper GIT_REPOSITORY "${url}" ) + FetchContent_MakeAvailable( testsweeper ) + message( "---------- TestSweeper done" ) + message( "" ) endif() else() message( " TestSweeper already included" )