From 7a608be59b40e4fb57e49fecae70ed6106adb072 Mon Sep 17 00:00:00 2001 From: Pascal Palenda <pascal.palenda@akustik.rwth-aachen.de> Date: Mon, 10 Apr 2023 11:34:52 +0200 Subject: [PATCH] Fix issue with unset base dir variable --- src/Index.cmake | 18 ++++++++++++++++-- src/UseSharedConfigs.cmake | 4 ++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/Index.cmake b/src/Index.cmake index f02d296..a21991d 100644 --- a/src/Index.cmake +++ b/src/Index.cmake @@ -2,14 +2,28 @@ cmake_minimum_required (VERSION 3.20 FATAL_ERROR) include_guard () -set(IHTA_CMAKE_COMMON_BASE_DIR ${CMAKE_CURRENT_LIST_DIR}) +#[=======================================================================[.rst: +..command:: set_ihta_common_base_dir + + Set the base dir for the library to reference bundled files. + + :: + + set_ihta_common_base_dir() + +#]=======================================================================] +macro (set_ihta_common_base_dir) + get_directory_property (LISTFILE_STACK LISTFILE_STACK) + list (POP_BACK LISTFILE_STACK _LIST_FILE) + cmake_path (GET _LIST_FILE PARENT_PATH IHTA_CMAKE_COMMON_BASE_DIR) +endmacro () include (${CMAKE_CURRENT_LIST_DIR}/InitProject.cmake) # Check for CPM file (GLOB CPM_MODULE_LOCATIONS ${CMAKE_BINARY_DIR}/cmake/CPM*.cmake) -list(GET CPM_MODULE_LOCATIONS -1 CPM_MODULE_LOCATION) +list (GET CPM_MODULE_LOCATIONS -1 CPM_MODULE_LOCATION) if (NOT (EXISTS ${CPM_MODULE_LOCATION})) set (CPM_DOWNLOAD_VERSION 0.37.0) diff --git a/src/UseSharedConfigs.cmake b/src/UseSharedConfigs.cmake index 0300ad9..6935d20 100644 --- a/src/UseSharedConfigs.cmake +++ b/src/UseSharedConfigs.cmake @@ -10,6 +10,8 @@ include_guard () - `.cmake-format` are supported. + This should be called after `project` so that `PROJECT_SOURCE_DIR` is set. + :: use_shared_configs(TRUE TRUE FALSE) @@ -28,6 +30,8 @@ include_guard () #]=======================================================================] macro (use_shared_configs SHARED_CLANG_FORMAT SHARED_CMAKE_FORMAT SHARED_CLANG_TIDY) + set_ihta_common_base_dir () + if (${SHARED_CLANG_TIDY}) file (COPY_FILE ${IHTA_CMAKE_COMMON_BASE_DIR}/resources/.clang-tidy ${PROJECT_SOURCE_DIR}/.clang-tidy ONLY_IF_DIFFERENT -- GitLab