Commit 0a27b2c3 authored by Mark Meredith's avatar Mark Meredith
Browse files

Build csg-eb (conan package) every time used by cmake

parent e1a31dca
Loading
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -27,9 +27,10 @@ build-img:
  image: $CI_REGISTRY_IMAGE:latest
  needs: ['build-img']
  script:
    - GIT_SHA=$(git rev-parse HEAD)
    - conan create . exa/stable -s compiler=${COMPILER} -s compiler.version=${CVERSION} -s compiler.libcxx=${LIBCXX}
    - conan remote add ${REPO} ${CI_API_V4_URL}/projects/$CI_PROJECT_ID/packages/conan
    - conan upload csg-eb/2021.10.27@exa/stable --all --remote=${REPO}
    - conan upload csg-eb/${GIT_SHA}@exa/stable --all --remote=${REPO}
  tags:
    - docker

+38 −18
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ else()
   conan_cmake_autodetect(settings)
endif()


find_program(CONAN_FOUND conan)
if(NOT CONAN_FOUND)
   message(WARNING "
@@ -35,9 +34,26 @@ conan_cmake_configure(REQUIRES
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})
find_package(Catch2 REQUIRED)

execute_process(
   COMMAND git rev-parse HEAD
   WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
   OUTPUT_VARIABLE CSGEB_SHA
   ERROR_VARIABLE  err
   )

if(err)
   message(WARNING "Failed to retrieve CSG-EB Git commit")
else()
   string(STRIP ${CSGEB_SHA} CSGEB_SHA)
   message(STATUS "CSG-EB commit: ${CSGEB_SHA}" )
endif()

if (USE_GITLAB_PACKAGE)
   conan_cmake_configure(REQUIRES
   csg-eb/2021.10.27@exa/stable
      csg-eb/${CSGEB_SHA}@exa/stable
      GENERATORS cmake_find_package)

   conan_add_remote(
@@ -46,15 +62,19 @@ conan_add_remote(
      URL https://mfix.netl.doe.gov/gitlab/api/v4/projects/232/packages/conan
      VERIFY_SSL True
      )

else()
   execute_process(
      COMMAND ${CONAN_CMD} create --build=missing ${CMAKE_CURRENT_SOURCE_DIR}
      WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
      COMMAND_ERROR_IS_FATAL ANY
      )
   conan_cmake_configure(REQUIRES
      csg-eb/${CSGEB_SHA}
      GENERATORS cmake_find_package)
   conan_cmake_install(PATH_OR_REFERENCE ${CMAKE_CURRENT_BINARY_DIR}/conanfile.txt
      BUILD missing
      SETTINGS ${settings})
endif()

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)
+5 −3
Original line number Diff line number Diff line
import shutil
import sys

from conans import ConanFile, Meson
from conans import ConanFile, Meson, tools


class CsgEbConan(ConanFile):
    name = "csg-eb"
    version = "2021.10.27"
    license = "<Put the package license here>"
    author = "Deepak Rangarajan <Deepak.Rangarajan@netl.doe.gov>"
    url = "https://mfix.netl.doe.gov/gitlab/exa/csg-eb"
@@ -20,6 +18,10 @@ class CsgEbConan(ConanFile):
    build_requires = ("meson/0.60.0", "pkgconf/1.7.4", "ninja/1.10.2")
    exports_sources = "meson.build", "include/*", "src/*"

    def set_version(self):
        git = tools.Git(folder=self.recipe_folder)
        self.version = git.get_revision()

    def build(self):
        meson = Meson(self)
        args = ["-Dcpp_std=vc++latest"] if sys.platform in ("win32", "cygwin") else []