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

Add conan recipe

parent 06ca24c1
No related branches found
No related tags found
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(cpptango CONFIG REQUIRED)
find_package(crashreporting2 CONFIG)
add_compile_definitions(PROJECT_NAME=${PROJECT_NAME})
add_compile_definitions(PROJECT_VERSION=${PROJECT_VERSION})
add_compile_definitions(LOG4TANGO_HAVE_INT64_T)
add_compile_definitions(GPIB_DEVICE_OUTSIDE)
add_compile_definitions(USE_HELPERS_DIR)
file(GLOB_RECURSE sources
${CMAKE_SOURCE_DIR}/*.cpp
)
set(includedirs
${CMAKE_SOURCE_DIR}
)
add_executable(${EXECUTABLE_NAME} ${sources})
target_include_directories(${EXECUTABLE_NAME} PRIVATE ${includedirs})
target_link_libraries(${EXECUTABLE_NAME} PRIVATE cpptango::cpptango)
target_link_libraries(${EXECUTABLE_NAME} PRIVATE crashreporting2::crashreporting2)
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 Keithley428Recipe(ConanFile):
name = "keithley428"
executable = "ds_Keithley428"
version = "1.2.2"
package_type = "application"
user = "soleil"
license = "GPL-3.0-or-later"
author = "Florent Langlois"
url = "https://gitlab.synchrotron-soleil.fr/software-control-system/tango-devices/measureinstruments/keithley/keithley428.git"
description = "Keithley428 device"
topics = ("control-system", "tango", "device")
settings = "os", "compiler", "build_type", "arch"
exports_sources = "CMakeLists.txt", "*.cpp", "*.h"
def requirements(self):
self.requires("cpptango/[>=9.0]@soleil/stable")
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 Keithley428TestConan(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_Keithley428 2>&1 | findstr \"usage\"", env="conanrun")
else:
self.run("ds_Keithley428 2>&1 | grep \"usage\"", env="conanrun")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment