Skip to content
Snippets Groups Projects
Commit ad8d98d8 authored by Florent LANGLOIS's avatar Florent LANGLOIS Committed by Arafat NOUREDDINE
Browse files

Merge branch 'main' into 'main'

Main

See merge request !3
parents e556087b 9000e7b6
Branches
No related merge requests found
* text=auto eol=lf
\ No newline at end of file
/target/
.project
bin
target
# Ignore all files in folder test_package
test_package/*
# except conanfile.py
!test_package/conanfile.py
.settings
.cdtproject
.cproject
build
CMakeUserPresets.json
cmake_minimum_required(VERSION 3.15)
project(${PROJECT_NAME} CXX)
find_package(yat4tango CONFIG REQUIRED)
find_package(nexuscpp 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})
add_compile_definitions(USE_NX_FINALIZER)
file(GLOB_RECURSE sources
src/*.cpp
)
set(includedirs
src
sdk
)
add_executable(${EXECUTABLE_NAME} ${sources})
target_include_directories(${EXECUTABLE_NAME} PRIVATE ${includedirs})
target_link_libraries(${EXECUTABLE_NAME} PRIVATE yat4tango::yat4tango)
target_link_libraries(${EXECUTABLE_NAME} PRIVATE nexuscpp::nexuscpp)
target_link_directories(${EXECUTABLE_NAME} PRIVATE ./sdk/)
target_link_libraries(${EXECUTABLE_NAME} PRIVATE XGL_DPP)
target_link_libraries(${EXECUTABLE_NAME} PRIVATE python2.7)
target_link_libraries(${EXECUTABLE_NAME} PRIVATE usb-1.0)
if (NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
target_link_libraries(${EXECUTABLE_NAME} PRIVATE crashreporting2::crashreporting2)
endif()
install(TARGETS ${EXECUTABLE_NAME} DESTINATION "." RUNTIME DESTINATION bin)
install(DIRECTORY sdk/ DESTINATION lib FILES_MATCHING PATTERN "*.so.?.*")
set(symbolic_links
"libpython2.7.so.1.0:${CMAKE_INSTALL_PREFIX}/lib/libpython2.7.so.1"
"libpython2.7.so.1.0:${CMAKE_INSTALL_PREFIX}/lib/libxspress3.so"
"libusb-1.0.so.0.1.0:${CMAKE_INSTALL_PREFIX}/lib/libusb-1.0.so.0"
"libusb-1.0.so.0.1.0:${CMAKE_INSTALL_PREFIX}/lib/libusb-1.0.so"
"libXGL_DPP.so.3.7:${CMAKE_INSTALL_PREFIX}/lib/libXGL_DPP.so.1"
"libXGL_DPP.so.3.7:${CMAKE_INSTALL_PREFIX}/lib/libXGL_DPP.so"
)
# Création des liens symboliques
foreach(link ${symbolic_links})
string(REPLACE ":" ";" link_parts ${link})
list(GET link_parts 0 source)
list(GET link_parts 1 destination)
install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${source} ${destination})")
endforeach()
\ No newline at end of file
conan.create(['el6-gcc44-x86_64-shared'])
from conan import ConanFile
class DanteDppRecipe(ConanFile):
name = "dantedpp"
executable = "ds_DanteDpp"
version = "1.5.2"
package_type = "application"
user = "soleil"
python_requires = "base/[>=1.0]@soleil/stable"
python_requires_extend = "base.Device"
license = "GPL-3.0-or-later"
author = "Arafat Noureddine"
url = "https://gitlab.synchrotron-soleil.fr/software-control-system/tango-devices/acquisition/1d/dantedpp"
description = "DanteDpp device"
topics = ("control-system", "tango", "device")
settings = "os", "compiler", "build_type", "arch"
exports_sources = "CMakeLists.txt", "src/*", "sdk/*"
def requirements(self):
self.requires("yat4tango/[>=1.0]@soleil/stable")
self.requires("nexuscpp/3.5.3@soleil/stable")
if self.settings.os == "Linux":
self.requires("crashreporting2/[>=1.0]@soleil/stable")
......@@ -8,25 +8,20 @@
</parent>
<properties>
<PROJECT.name>DanteDpp</PROJECT.name>
<PROJECT.version>1.5.1</PROJECT.version>
<PROJECT.description>DanteDpp device</PROJECT.description>
<!-- path to the 64 bits libs ${libs-64bits} -->
<libs-64bits>/home/informatique/ica/ica/LIB_EL6_64</libs-64bits>
<!--<libs-64bits>/media/sf_Partage/DanteDpp/LIB_EL6_64</libs-64bits>-->
<YAT.version>1.18.6</YAT.version>
<YAT4Tango.version>1.13.3</YAT4Tango.version>
<NexusCPP.version>3.4.0</NexusCPP.version>
</properties>
<groupId>fr.soleil.device</groupId>
<artifactId>${PROJECT.name}-amd64-Linux-gcc-shared-${mode}</artifactId>
<version>${PROJECT.version}</version>
<artifactId>DanteDpp-amd64-Linux-gcc-shared-${mode}</artifactId>
<version>1.5.2</version>
<packaging>nar</packaging>
<name>${PROJECT.name}</name>
<description>${PROJECT.description}</description>
<name>DanteDpp</name>
<description>DanteDpp device</description>
<build>
<plugins>
......
......@@ -1696,8 +1696,43 @@ Tango::DevVarStringArray *DanteDpp::get_data_streams()
DEBUG_STREAM << "DanteDpp::GetDataStreams() - " << device_name << endl;
/*----- PROTECTED REGION ID(DanteDpp::get_data_streams) ENABLED START -----*/
// Add your own code
argout = new Tango::DevVarStringArray();
argout->length(1);
try
{
std::string data_items;
const std::vector<std::string>& data_items_container = streamItems;
for(int ichan = 0; ichan < Controller::get_instance()->get_channels_nb(); ichan++)
{
std::string streamItemsPrefix;
for(unsigned i = 0;i < data_items_container.size();i++)
{
std::string format = streamItemsPrefix + data_items_container.at(i) + "%02d,";
data_items += yat::String::str_format(format.c_str(), ichan);
}
}
//remove the last character ',' in data_items
data_items = data_items.substr(0, data_items.length()-1);
std::string data_streams = Controller::get_instance()->get_stream_target_file() + ":" + data_items + "@" + spoolID;
YAT_VERBOSE << "data_streams = " << data_streams << std::endl;
(*argout)[0] = CORBA::string_dup(data_streams.c_str());
}
catch(Tango::DevFailed& df)
{
std::stringstream status;
status.str("");
status << "Origin\t: " << df.errors[0].origin << endl;
status << "Desc\t: " << df.errors[0].desc << endl;
status << "Reason\t: " << df.errors[0].reason << endl;
set_status(status.str());
Tango::Except::throw_exception("TANGO_DEVICE_ERROR",
std::string(df.errors[0].desc).c_str(),
"DanteDpp::get_data_streams()");
}
/*----- PROTECTED REGION END -----*/ // DanteDpp::get_data_streams
return argout;
}
......
import os
from conan import ConanFile
from conan.tools.build import can_run
class DanteDppTestConan(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_DanteDpp 2>&1 | findstr \"usage\"", env="conanrun")
else:
self.run("ds_DanteDpp 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