cmake_minimum_required(VERSION 3.15)
project(reforge_core LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_subdirectory(reforge_core)

# Build util native extensions that are imported as reforge_core.util.*.
# Prefer the packaged path (used in sdists), and fall back to monorepo layout.
set(_SDK_UTIL_DIR "${CMAKE_CURRENT_LIST_DIR}/reforge_core/util")
if(NOT EXISTS "${_SDK_UTIL_DIR}/CMakeLists.txt")
  set(_SDK_UTIL_DIR "${CMAKE_CURRENT_LIST_DIR}/../util")
endif()

if(NOT EXISTS "${_SDK_UTIL_DIR}/CMakeLists.txt")
  message(FATAL_ERROR "Could not locate util CMake project for native extensions")
endif()

add_subdirectory("${_SDK_UTIL_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/util")
