cmake_minimum_required(VERSION 3.14)

project(CSG-EB
   DESCRIPTION  "Parser for CSG files to define Embedded Boundaries"
   HOMEPAGE_URL "https://mfix.netl.doe.gov/gitlab/exa/csg-eb"
   LANGUAGES    CXX
   )

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

include(${CMAKE_CURRENT_SOURCE_DIR}/subprojects/cmake-conan/conan.cmake)

if(CONAN_SETTINGS)
   set(settings ${CONAN_SETTINGS})
else()
   conan_cmake_autodetect(settings)
endif()


find_program(CONAN_FOUND conan)
if(NOT CONAN_FOUND)
   message(WARNING "
   Did not find conan in PATH. Recommend installing with 'pip install conan'.
   Will try downloading Conan with PMM <https://github.com/vector-of-bool/pmm>")
   include(pmm.cmake)
   pmm(CONAN)
endif()

conan_cmake_configure(REQUIRES
   catch2/2.13.7
   GENERATORS cmake_find_package)

conan_cmake_install(PATH_OR_REFERENCE ${CMAKE_CURRENT_BINARY_DIR}/conanfile.txt
   BUILD missing
   SETTINGS ${settings})

conan_cmake_configure(REQUIRES
   csg-eb/2021.10.27@exa/stable
   GENERATORS cmake_find_package)

conan_add_remote(
   NAME mfix-gitlab
   INDEX 1
   URL https://mfix.netl.doe.gov/gitlab/api/v4/projects/232/packages/conan
   VERIFY_SSL True
)

conan_cmake_install(PATH_OR_REFERENCE ${CMAKE_CURRENT_BINARY_DIR}/conanfile.txt
   BUILD missing
   SETTINGS ${settings})

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_BINARY_DIR})
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_CURRENT_BINARY_DIR})
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_CURRENT_SOURCE_DIR})

find_package(Catch2 REQUIRED)
find_package(csg-eb REQUIRED)
