From 4a03dc37533954e4face563cf74f33c909da6fa7 Mon Sep 17 00:00:00 2001 From: Ajay Panyala Date: Wed, 28 Jun 2023 10:54:15 -0700 Subject: [PATCH 1/2] Set CMAKE_MODULE_PATH appropriately to always use preferred linalg-modules --- CMakeLists.txt | 11 +++++++++-- cmake/gauxc-config.cmake.in | 7 +++++-- cmake/gauxc-linalg-modules.cmake | 2 +- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 227e78c6..a1511d88 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,8 +6,8 @@ set( FETCHCONTENT_UPDATES_DISCONNECTED ON CACHE BOOL "Disable FC Updates" ) project( GauXC VERSION 0.0.1 LANGUAGES C CXX ) # Place local modules in the path -list( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ) -list( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules ) +list( PREPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ) +list( PREPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules ) include( gauxc-linalg-modules ) # Guard some options settings to only default when not a subproject @@ -83,3 +83,10 @@ add_subdirectory( src ) if( CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND GAUXC_ENABLE_TESTS AND BUILD_TESTING ) add_subdirectory( tests ) endif() + +list(REMOVE_AT CMAKE_MODULE_PATH 0) +list(REMOVE_AT CMAKE_MODULE_PATH 0) + +if( linalg-cmake-modules_POPULATED ) + list(REMOVE_AT CMAKE_MODULE_PATH 0) +endif() diff --git a/cmake/gauxc-config.cmake.in b/cmake/gauxc-config.cmake.in index 88949688..216c87d8 100644 --- a/cmake/gauxc-config.cmake.in +++ b/cmake/gauxc-config.cmake.in @@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 3.18 FATAL_ERROR) # Require CMake 3.18+ get_filename_component(GauXC_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -list(APPEND CMAKE_MODULE_PATH ${GauXC_CMAKE_DIR} ) -list(APPEND CMAKE_MODULE_PATH ${GauXC_CMAKE_DIR}/linalg-cmake-modules ) +list(PREPEND CMAKE_MODULE_PATH ${GauXC_CMAKE_DIR} ) +list(PREPEND CMAKE_MODULE_PATH ${GauXC_CMAKE_DIR}/linalg-cmake-modules ) include(CMakeFindDependencyMacro) # Always Required Dependencies @@ -61,3 +61,6 @@ if(NOT TARGET gauxc::gauxc) endif() set(GauXC_LIBRARIES gauxc::gauxc) + +list(REMOVE_AT CMAKE_MODULE_PATH 0) +list(REMOVE_AT CMAKE_MODULE_PATH 0) diff --git a/cmake/gauxc-linalg-modules.cmake b/cmake/gauxc-linalg-modules.cmake index 97ca026f..69a69a73 100644 --- a/cmake/gauxc-linalg-modules.cmake +++ b/cmake/gauxc-linalg-modules.cmake @@ -7,5 +7,5 @@ FetchContent_Declare( linalg-cmake-modules FetchContent_GetProperties( linalg-cmake-modules ) if( NOT linalg-cmake-modules_POPULATED ) FetchContent_Populate( linalg-cmake-modules ) - list( APPEND CMAKE_MODULE_PATH ${linalg-cmake-modules_SOURCE_DIR} ) + list( PREPEND CMAKE_MODULE_PATH ${linalg-cmake-modules_SOURCE_DIR} ) endif() From 1065abdcb9fab6adc66465c6f5632d49c5a22fe5 Mon Sep 17 00:00:00 2001 From: Ajay Panyala Date: Wed, 28 Jun 2023 14:14:07 -0700 Subject: [PATCH 2/2] fix for gauxc-config.cmake.in --- cmake/gauxc-config.cmake.in | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/cmake/gauxc-config.cmake.in b/cmake/gauxc-config.cmake.in index 216c87d8..17f8deba 100644 --- a/cmake/gauxc-config.cmake.in +++ b/cmake/gauxc-config.cmake.in @@ -53,14 +53,11 @@ if( GAUXC_ENABLE_HDF5 ) find_dependency( HighFive ) endif() -list(REMOVE_AT CMAKE_MODULE_PATH -1) -list(REMOVE_AT CMAKE_MODULE_PATH -1) +list(REMOVE_AT CMAKE_MODULE_PATH 0) +list(REMOVE_AT CMAKE_MODULE_PATH 0) if(NOT TARGET gauxc::gauxc) include("${GauXC_CMAKE_DIR}/gauxc-targets.cmake") endif() set(GauXC_LIBRARIES gauxc::gauxc) - -list(REMOVE_AT CMAKE_MODULE_PATH 0) -list(REMOVE_AT CMAKE_MODULE_PATH 0)