From ee7b91f77f18cc46a6fc8625e822c16cb401e8d6 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Sun, 31 May 2026 11:45:34 -0400 Subject: [PATCH] build: fix {xo-ratio, xo-unit, xo-pyunit} cmake bootstrap --- xo-pyunit/cmake/xo-bootstrap-macros.cmake | 8 +++++++- xo-ratio/cmake/xo-bootstrap-macros.cmake | 12 ++++++++++-- xo-unit/cmake/xo-bootstrap-macros.cmake | 8 +++++++- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/xo-pyunit/cmake/xo-bootstrap-macros.cmake b/xo-pyunit/cmake/xo-bootstrap-macros.cmake index aba31169..592272c0 100644 --- a/xo-pyunit/cmake/xo-bootstrap-macros.cmake +++ b/xo-pyunit/cmake/xo-bootstrap-macros.cmake @@ -19,7 +19,13 @@ endif() message(STATUS "XO_CMAKE_CONFIG_EXECUTABLE=${XO_CMAKE_CONFIG_EXECUTABLE}") -if (NOT XO_SUBMODULE_BUILD) +if (XO_SUBMODULE_BUILD) + if (("${CMAKE_MODULE_PATH}" STREQUAL "") OR ("${CMAKE_MODULE_PATH}" STREQUAL prefix)) + # local version of xo-cmake macros + set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/xo-cmake/cmake") + message(STATUS "CMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}") + endif() +else() if (("${CMAKE_MODULE_PATH}" STREQUAL "") OR ("${CMAKE_MODULE_PATH}" STREQUAL prefix)) # default to typical install location for xo-project-macros execute_process(COMMAND ${XO_CMAKE_CONFIG_EXECUTABLE} --cmake-module-path OUTPUT_VARIABLE CMAKE_MODULE_PATH) diff --git a/xo-ratio/cmake/xo-bootstrap-macros.cmake b/xo-ratio/cmake/xo-bootstrap-macros.cmake index 2cf387e5..592272c0 100644 --- a/xo-ratio/cmake/xo-bootstrap-macros.cmake +++ b/xo-ratio/cmake/xo-bootstrap-macros.cmake @@ -13,11 +13,19 @@ find_program(XO_CMAKE_CONFIG_EXECUTABLE NAMES xo-cmake-config REQUIRED) -if (("${CMAKE_MODULE_PATH}" STREQUAL "") OR ("${CMAKE_MODULE_PATH}" STREQUAL "prefix")) +if ("${XO_CMAKE_CONFIG_EXECUTABLE}" STREQUAL "XO_CMAKE_CONFIG_EXECUTABLE-NOT_FOUND") message(FATAL "could not find xo-cmake-config executable") endif() -if (NOT XO_SUBMODULE_BUILD) +message(STATUS "XO_CMAKE_CONFIG_EXECUTABLE=${XO_CMAKE_CONFIG_EXECUTABLE}") + +if (XO_SUBMODULE_BUILD) + if (("${CMAKE_MODULE_PATH}" STREQUAL "") OR ("${CMAKE_MODULE_PATH}" STREQUAL prefix)) + # local version of xo-cmake macros + set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/xo-cmake/cmake") + message(STATUS "CMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}") + endif() +else() if (("${CMAKE_MODULE_PATH}" STREQUAL "") OR ("${CMAKE_MODULE_PATH}" STREQUAL prefix)) # default to typical install location for xo-project-macros execute_process(COMMAND ${XO_CMAKE_CONFIG_EXECUTABLE} --cmake-module-path OUTPUT_VARIABLE CMAKE_MODULE_PATH) diff --git a/xo-unit/cmake/xo-bootstrap-macros.cmake b/xo-unit/cmake/xo-bootstrap-macros.cmake index aba31169..592272c0 100644 --- a/xo-unit/cmake/xo-bootstrap-macros.cmake +++ b/xo-unit/cmake/xo-bootstrap-macros.cmake @@ -19,7 +19,13 @@ endif() message(STATUS "XO_CMAKE_CONFIG_EXECUTABLE=${XO_CMAKE_CONFIG_EXECUTABLE}") -if (NOT XO_SUBMODULE_BUILD) +if (XO_SUBMODULE_BUILD) + if (("${CMAKE_MODULE_PATH}" STREQUAL "") OR ("${CMAKE_MODULE_PATH}" STREQUAL prefix)) + # local version of xo-cmake macros + set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/xo-cmake/cmake") + message(STATUS "CMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}") + endif() +else() if (("${CMAKE_MODULE_PATH}" STREQUAL "") OR ("${CMAKE_MODULE_PATH}" STREQUAL prefix)) # default to typical install location for xo-project-macros execute_process(COMMAND ${XO_CMAKE_CONFIG_EXECUTABLE} --cmake-module-path OUTPUT_VARIABLE CMAKE_MODULE_PATH)