Skip to content
Snippets Groups Projects
Commit 8eb182bd authored by Patrick MADELA's avatar Patrick MADELA
Browse files

Add conan recipe

parent 381825da
Branches
Tags 2.0.4
No related merge requests found
* text=auto eol=lf
\ No newline at end of file
.project
bin
target
# Ignore all files in folder test_package
test_package/*
# except conanfile.py
!test_package/conanfile.py
cmake_minimum_required(VERSION 3.15)
project(${PROJECT_NAME} CXX)
find_package(electrometers CONFIG REQUIRED)
find_package(yat4tango CONFIG REQUIRED)
if (NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
find_package(crashreporting2 CONFIG)
endif()
add_compile_definitions(PROJECT_NAME=${PROJECT_NAME})
add_compile_definitions(PROJECT_VERSION=${PROJECT_VERSION})
file(GLOB_RECURSE sources
src/*.cpp
)
set(includedirs
src
)
add_executable(${EXECUTABLE_NAME} ${sources})
target_include_directories(${EXECUTABLE_NAME} PRIVATE ${includedirs})
target_link_libraries(${EXECUTABLE_NAME} PRIVATE electrometers::electrometers)
target_link_libraries(${EXECUTABLE_NAME} PRIVATE yat4tango::yat4tango)
if (NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
target_link_libraries(${EXECUTABLE_NAME} PRIVATE crashreporting2::crashreporting2)
endif()
install(TARGETS ${EXECUTABLE_NAME} DESTINATION "." RUNTIME DESTINATION bin)
conan.create(['el6-gcc44-x86-shared'])
from conan import ConanFile
from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps
class MCCE2ElectrometersRecipe(ConanFile):
name = "mcce2electrometers"
executable = "ds_MCCE2Electrometers"
version = "2.2.9"
package_type = "application"
user = "soleil"
license = "GPL-3.0-or-later"
author = "Xavier Elattaoui"
url = "https://gitlab.synchrotron-soleil.fr/software-control-system/tango-devices/measureinstruments/mcce/novelecelectrometer.git"
description = "MCCE2Electrometers device"
topics = ("control-system", "tango", "device")
settings = "os", "compiler", "build_type", "arch"
exports_sources = "CMakeLists.txt", "src/*"
def requirements(self):
self.requires("electrometers/[>=1.0]@soleil")
self.requires("yat4tango/[>=1.0]@soleil")
if self.settings.os == "Linux":
self.requires("crashreporting2/[>=1.0]@soleil/stable")
def layout(self):
cmake_layout(self)
def generate(self):
deps = CMakeDeps(self)
deps.generate()
tc = CMakeToolchain(self)
tc.variables["PROJECT_NAME"] = self.name
tc.variables["PROJECT_VERSION"] = self.version
tc.variables["EXECUTABLE_NAME"] = self.executable
tc.generate()
def build(self):
cmake = CMake(self)
cmake.configure()
cmake.build()
def package(self):
cmake = CMake(self)
cmake.install()
import os
from conan import ConanFile
from conan.tools.build import can_run
class MCCE2ElectrometersTestConan(ConanFile):
settings = "os", "compiler", "build_type", "arch"
def requirements(self):
self.requires(self.tested_reference_str)
def test(self):
if can_run(self):
if self.settings.os == "Windows":
self.run("ds_MCCE2Electrometers 2>&1 | findstr \"usage\"", env="conanrun")
else:
self.run("ds_MCCE2Electrometers 2>&1 | grep \"usage\"", env="conanrun")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment