diff --git a/chaos/common/CMakeLists.txt b/chaos/common/CMakeLists.txt index a01966468f9c53278c1903dd24af2ada1b13cf04..f54f821027e44dbfbc8917a73e604d1993b805a6 100644 --- a/chaos/common/CMakeLists.txt +++ b/chaos/common/CMakeLists.txt @@ -644,13 +644,7 @@ ENDIF() -IF(CHAOS_EPICS_SUPPORT) - foreach(elib libpvData.a libCom.a) - #${CMAKE_INSTALL_PREFIX}/lib/linux-x86_64/${elib} - SET(BUILD_LIBRARY ${BUILD_LIBRARY} ${elib}) - endforeach() - MESG("Adding Epics support ${BUILD_LIBRARY}") -ENDIF() + IF(WIN32) MESSAGE("WIN32 CMAKE_INSTALL_PREFIX" ${CMAKE_INSTALL_PREFIX} ) @@ -672,7 +666,13 @@ ENDIF(WIN32) ENDIF() - +IF(CHAOS_EPICS_SUPPORT) + foreach(elib libCom.a libpvData.a ) + #${CMAKE_INSTALL_PREFIX}/lib/linux-x86_64/${elib} + SET(BUILD_LIBRARY ${elib} ${BUILD_LIBRARY}) + endforeach() + MESG("Adding Epics support ${BUILD_LIBRARY}") +ENDIF() IF (BUILD_FORCE_STATIC ) ADD_LIBRARY(${PROJECT_NAME} STATIC ${common_lib_src}) TARGET_LINK_LIBRARIES(${PROJECT_NAME} z lz4 ${FrameworkLib} ${BUILD_LIBRARY}) diff --git a/chaos/common/data/CDataWrapper.cpp b/chaos/common/data/CDataWrapper.cpp index a42f49b8e82f722603332ef184677474ae78060a..b493036442d367e0476777a7dfb772cce85105ca 100644 --- a/chaos/common/data/CDataWrapper.cpp +++ b/chaos/common/data/CDataWrapper.cpp @@ -1831,21 +1831,22 @@ void CDataWrapper::decodePVField(epics::pvData::PVFieldConstPtr pv_field){ case epics::pvData::structure: { LDBG_ <<"\t"<< "Adding Structure " << fname; CDataWrapper cs; + pvd::PVStructure::const_shared_pointer tmp((pvd::PVStructure*)pv_field.get()); - cs.setSerializedData((pvd::PVStructure*)pv_field.get()); + cs.setSerializedData(tmp); addCSDataValue(fname, cs); break; } case epics::pvData::structureArray: { LDBG_ <<"\t"<< "Adding Structure Array " << fname; - pvd::PVStructureArray::const_shared_pointer tmp((pvd::PVStructureArray*)pv_field.get());// = ptr->getSubField<pvd::PVStructureArray>(fname); + pvd::PVStructureArray::const_shared_pointer tmp((pvd::PVStructureArray*)pv_field.get()); if (tmp->getLength() != 0){ pvd::PVStructureArray::const_svector data = tmp->view(); std::vector<CDataWrapper> vc; for (pvd::PVStructureArray::const_svector::const_iterator it = data.begin();it != data.end(); ++it ){ CDataWrapper cs; - cs.setSerializedData((*it).get()); + cs.setSerializedData((*it)); vc.push_back(cs); } append(fname,vc);