3 Commits

Author SHA1 Message Date
Paolo Andreetto
843a2d69cf Removed structures for Castor and muBlast 2020-09-29 15:23:08 +02:00
Paolo Andreetto
a60a21bfe4 Massive reorganization of CMake files 2020-06-29 14:44:26 +02:00
Paolo Andreetto
9d899928b8 Bug fixed for MacOD: removed macro 2020-04-28 13:34:07 +02:00
15 changed files with 257 additions and 476 deletions

View File

@@ -1,116 +0,0 @@
Summary: Cosmic Muon Tomography core libraries
Name: cmt-ulib
Version: @PKGVERSION@
Release: @PKGRELEASE@%{?dist}
License: EUROPEAN UNION PUBLIC LICENCE v. 1.2
Vendor: INFN
URL: https://github.com/OpenCMT/uLib
Group: Development/Libraries
BuildArch: %{_arch}
%if %{?rhel}%{!?rhel:0} >= 8
BuildRequires: cmake
%else
BuildRequires: cmake3
%endif
BuildRequires: doxygen
BuildRequires: boost-devel
BuildRequires: eigen3-devel
BuildRequires: vtk-devel
BuildRequires: readline-devel
BuildRequires: pcl-devel
BuildRequires: root-geom
BuildRequires: root-genvector
BuildRequires: root-smatrix
BuildRequires: root-montecarlo-eg
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
AutoReqProv: yes
Source: %{name}-%{version}.tar.gz
%description
This package contains the base toolkit library for Cosmic Muon Tomography reconstruction,
analysis and imaging software Developed by University of Padova and INFN Sezione di Padova Italy
%global _ulibpkgname mutom
%global _ulibcmakedir %{_libdir}/cmake/%{_ulibpkgname}
%prep
%setup -c
rm -rf %{buildroot}
mkdir -p %{buildroot}
%build
mkdir %{_builddir}/%{name}-%{version}/build
cd %{_builddir}/%{name}-%{version}/build
%cmake -DCMAKE_INSTALL_PREFIX=%{buildroot}%{_prefix} \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DPACKAGE_NAME=%{_ulibpkgname} \
-DPACKAGE_INSTALL_LIB_DIR=%{buildroot}%{_libdir} \
-DPACKAGE_INSTALL_INC_DIR=%{buildroot}%{_includedir}/%{_ulibpkgname} \
-DPACKAGE_INSTALL_CMAKE_DIR=%{buildroot}%{_ulibcmakedir} \
-DNODOXYGEN=ON \
%{_builddir}/%{name}-%{version}
make %{?_smp_mflags}
%install
cd %{_builddir}/%{name}-%{version}/build
make install
sed -i 's|%{buildroot}/usr|%{_prefix}|g' %{buildroot}%{_ulibcmakedir}/uLibTargets.cmake
sed -i 's|%{buildroot}/usr|%{_prefix}|g' %{buildroot}%{_ulibcmakedir}/uLibTargets-relwithdebinfo.cmake
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%{_libdir}/libmutom*.so.0.2
%{_libdir}/uLibRootDict_rdict.pcm
%package devel
Summary: Cosmic Muon Tomography core libraries, development files
Requires: %{name}
Requires: boost-devel
Requires: eigen3-devel
Requires: vtk-devel
Requires: readline-devel
Requires: pcl-devel
Requires: root-geom
Requires: root-genvector
Requires: root-smatrix
Requires: root-montecarlo-eg
%description devel
This package contains the base toolkit library for Cosmic Muon Tomography reconstruction,
analysis and imaging software Developed by University of Padova and INFN Sezione di Padova Italy
%files devel
%defattr(-,root,root)
%dir %{_ulibcmakedir}
/usr/bin/uLib_config
%{_libdir}/libmutom*.so
%{_ulibcmakedir}/*.cmake
%dir %{_includedir}/%{_ulibpkgname}
%dir %{_includedir}/%{_ulibpkgname}/Core
%dir %{_includedir}/%{_ulibpkgname}/Math
%dir %{_includedir}/%{_ulibpkgname}/Root
%dir %{_includedir}/%{_ulibpkgname}/Detectors
%dir %{_includedir}/%{_ulibpkgname}/Vtk
%{_includedir}/%{_ulibpkgname}/*.h
%{_includedir}/%{_ulibpkgname}/Core/*.h
%{_includedir}/%{_ulibpkgname}/Math/*.h
%{_includedir}/%{_ulibpkgname}/Math/*.hpp
%{_includedir}/%{_ulibpkgname}/Root/*.h
%{_includedir}/%{_ulibpkgname}/Detectors/*.h
%{_includedir}/%{_ulibpkgname}/Vtk/*.h
%changelog
* Tue Dec 04 2018 Paolo Andreetto <paolo.andreetto@pd.infn.it> - 0.2.1-1
- Repackaging for CentOS 7

View File

@@ -13,7 +13,7 @@ set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON) set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF) set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost 1.45.0 COMPONENTS serialization signals program_options REQUIRED) find_package(Boost 1.45.0 COMPONENTS program_options REQUIRED)
if(Boost_FOUND) if(Boost_FOUND)
set(HAVE_BOOST true) set(HAVE_BOOST true)
endif(Boost_FOUND) endif(Boost_FOUND)

View File

@@ -1,34 +0,0 @@
# Target for RPMs creation
set(PKGREL 1 CACHE STRING "Package build number")
set(ITEMS_FOR_SOURCE AUTHORS
CMakeConfig.in.h
CMakePkgConfig.pc.in
test.cpp
uLibConfig.cmake.in
uLib.creator
ulib.h
vtk_test.cpp
CMake
CMakeLists.txt
Jenkinsfile
src
uLib.config
uLibConfigVersion.cmake.in
uLib.files
uLib.includes)
add_custom_target(rpm
COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/rpmbuild/BUILD
${CMAKE_CURRENT_BINARY_DIR}/rpmbuild/RPMS
${CMAKE_CURRENT_BINARY_DIR}/rpmbuild/SOURCES
${CMAKE_CURRENT_BINARY_DIR}/rpmbuild/SPECS
${CMAKE_CURRENT_BINARY_DIR}/rpmbuild/SRPMS
COMMAND tar -zcf ${CMAKE_CURRENT_BINARY_DIR}/rpmbuild/SOURCES/cmt-ulib-${PACKAGE_VERSION}.tar.gz ${ITEMS_FOR_SOURCE}
COMMAND sed -e 's|@PKGVERSION@|${PACKAGE_VERSION}|g'
-e 's|@PKGRELEASE@|${PKGREL}|g'
CMake/cmt-ulib.spec.in > ${CMAKE_CURRENT_BINARY_DIR}/rpmbuild/SPECS/cmt-ulib.spec
COMMAND QA_SKIP_BUILD_ROOT=1 rpmbuild -ba --define '_topdir ${CMAKE_CURRENT_BINARY_DIR}/rpmbuild'
${CMAKE_CURRENT_BINARY_DIR}/rpmbuild/SPECS/cmt-ulib.spec
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

View File

@@ -11,7 +11,7 @@ project(uLib)
# The version number. # The version number.
set(PROJECT_VERSION_MAJOR 0) set(PROJECT_VERSION_MAJOR 0)
set(PROJECT_VERSION_MINOR 2) set(PROJECT_VERSION_MINOR 4)
set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}") set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}")
set(PROJECT_SOVERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}") set(PROJECT_SOVERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}")
@@ -26,130 +26,169 @@ set(PACKAGE_AUTHOR "Andrea Rigoni Garola <andrea.rigoni@pd.infn.it>")
set(ULIB_CMAKE_DIR "${PROJECT_SOURCE_DIR}/CMake") set(ULIB_CMAKE_DIR "${PROJECT_SOURCE_DIR}/CMake")
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH}) set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH})
message(STATUS "Module path: ${CMAKE_MODULE_PATH}") message(STATUS "Project name = ${PROJECT_NAME}")
message(STATUS "Package name = ${PACKAGE_NAME}")
include(uLibMacros) message(STATUS "Package version = ${PACKAGE_VERSION}")
include(uLibDebugMacro) message(STATUS "Module path = ${CMAKE_MODULE_PATH}")
include(uLibTargetMacros)
#include(uLibGenerateRMake)
## GLOBALS ------------------------------------------------------------------ ## ## GLOBALS ------------------------------------------------------------------ ##
include(uLibCommon) set(PACKAGE_INSTALL_BIN_DIR ${CMAKE_INSTALL_PREFIX}/bin
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ") ## Add flags here ## CACHE PATH "Installation directory for executables")
set(PACKAGE_INSTALL_LIB_DIR ${CMAKE_INSTALL_PREFIX}/lib/
CACHE PATH "Installation directory for libraries")
set(PACKAGE_INSTALL_INC_DIR ${CMAKE_INSTALL_PREFIX}/include/${PACKAGE_NAME}
CACHE PATH "Installation directory for headers")
set(PACKAGE_INSTALL_DATA_DIR ${CMAKE_INSTALL_PREFIX}/share/${PACKAGE_NAME}
CACHE PATH "Installation directory for data files")
set(PACKAGE_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_PREFIX}/lib/cmake/${PACKAGE_NAME}
CACHE PATH "Installation directory for CMake files")
enable_testing() set(SRC_DIR ${PROJECT_SOURCE_DIR}/src)
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to 'Release' as none was specified.")
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build." FORCE)
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-as-needed")
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY
STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
endif()
set(CMAKE_CXX_WARNING_OPTION ""
CACHE STRING "Warning level -WAll to verbose all warnings")
set(CMAKE_VERBOSE_MAKEFILE FALSE
CACHE STRING "Verbose compile output switch")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x ${CMAKE_CXX_WARNING_OPTION}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -UULIB_SERIALIZATION_ON")
#enable_testing()
## FIND PACKAGES ------------------------------------------------------------ ## ## FIND PACKAGES ------------------------------------------------------------ ##
include(uLibFindDependencies) set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost 1.45.0 COMPONENTS program_options REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
find_package(Eigen3 CONFIG REQUIRED)
include(${EIGEN3_USE_FILE})
find_package(ROOT CONFIG REQUIRED)
include(${ROOT_USE_FILE})
find_package(VTK CONFIG REQUIRED)
include(${VTK_USE_FILE})
set(CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_INCLUDES math.h)
set(CMAKE_REQUIRED_LIBRARIES CMAKE_REQUIRED_LIBRARIES m)
## CONFIG ------------------------------------------------------------------- ## ## CONFIG ------------------------------------------------------------------- ##
include(uLibConfigHeader) set(BOOST_PP_VARIADICS ON)
include(CheckIncludeFiles)
include(CheckFunctionExists)
include(CheckSymbolExists)
CHECK_INCLUDE_FILES(inittypes.h HAVE_INITTYPES_H)
CHECK_INCLUDE_FILES(stdbool.h HAVE_STDBOOL_H)
CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H)
CHECK_INCLUDE_FILES(stdlib.h HAVE_STDLIB_H)
CHECK_INCLUDE_FILES(dlfcn.h HAVE_DLFCN_H)
CHECK_INCLUDE_FILES(malloc.h HAVE_MALLOC_H)
CHECK_FUNCTION_EXISTS(malloc HAVE_MALLOC)
CHECK_INCLUDE_FILES(memory.h HAVE_MEMORY_H)
CHECK_INCLUDE_FILES(math.h HAVE_MATH_H)
CHECK_FUNCTION_EXISTS(fsetround HAVE_FSETROUND)
CHECK_FUNCTION_EXISTS(floor HAVE_FLOOR)
CHECK_FUNCTION_EXISTS(pow HAVE_POW)
CHECK_FUNCTION_EXISTS(sqrt HAVE_SQRT)
CHECK_FUNCTION_EXISTS(strdup HAVE_STRDUP)
CHECK_FUNCTION_EXISTS(strstr HAVE_STRSTR)
CHECK_INCLUDE_FILES(strings.h HAVE_STRINGS_H)
CHECK_INCLUDE_FILES(string.h HAVE_STRING_H)
CHECK_INCLUDE_FILES(sys/stat.h HAVE_SYS_STAT_H)
CHECK_INCLUDE_FILES(sys/types.h HAVE_SYS_TYPES_H)
CHECK_INCLUDE_FILES(unistd.h HAVE_UNISTD_H)
CHECK_INCLUDE_FILES(assert.h HAVE_ASSERT_H)
configure_file("${PROJECT_SOURCE_DIR}/CMakeConfig.in.h"
"${PROJECT_BINARY_DIR}/config.h")
install(FILES "${PROJECT_BINARY_DIR}/config.h"
DESTINATION ${PACKAGE_INSTALL_INC_DIR})
## ADD LIBRARIES SUBDIRECTORIES --------------------------------------------- ## ## ADD LIBRARIES SUBDIRECTORIES --------------------------------------------- ##
## select modules ## include_directories(${PROJECT_BINARY_DIR})
set(ULIB_SELECTED_MODULES include_directories(${SRC_DIR})
Core
Math
Detectors
Root
)
## uLib_add_shared_library puts names there ## uLib_add_shared_library puts names there
set(ULIB_SHARED_LIBRARIES) set(ULIB_SHARED_LIBRARIES)
## select modules ##
set(ULIB_SELECTED_MODULES)
if(ULIB_USE_VTK) include_directories(${SRC_DIR}/Core)
LIST(APPEND ULIB_SELECTED_MODULES Vtk) add_subdirectory(${SRC_DIR}/Core)
endif(ULIB_USE_VTK)
include_directories(${SRC_DIR}/Math)
add_subdirectory(${SRC_DIR}/Math)
include_directories(${SRC_DIR}/Detectors)
add_subdirectory(${SRC_DIR}/Detectors)
include_directories(${SRC_DIR}/Root)
add_subdirectory(${SRC_DIR}/Root)
include_directories(${SRC_DIR}/Vtk)
add_subdirectory(${SRC_DIR}/Vtk)
#add_subdirectory("${SRC_DIR}/utils/make_recipe")
## Documentation and packages ## Documentation and packages
include(uLibGenerateRPMS) #include(uLibGenerateDoc)
include(uLibGenerateDoc)
## this gets ulib modules into a variable ##
function(uLib_modules result)
set(out)
foreach(module ${ULIB_SELECTED_MODULES})
list(APPEND out ${PACKAGE_LIBPREFIX}${module})
endforeach(module)
set(${result} "${out}" PARENT_SCOPE)
endfunction()
## ENTERING MODULES SUBDIRECTORIES ##
message("/////////// SELECTED MODULES //////////////")
foreach(module ${ULIB_SELECTED_MODULES})
message(STATUS "adding module: ${module}")
set( uLib-module ${module})
include_directories(${SRC_DIR}/${module})
add_subdirectory(${SRC_DIR}/${module})
endforeach(module)
## UTILITIES ## ## UTILITIES ##
add_subdirectory("${SRC_DIR}/utils/make_recipe") #add_subdirectory("${SRC_DIR}/utils/make_recipe")
## INSTALLS AND EXPORTS ----------------------------------------------------- ## ## INSTALLS AND EXPORTS ----------------------------------------------------- ##
#export(PACKAGE uLib) #export(PACKAGE ULIB)
export(PACKAGE ULIB) #export(TARGETS ${ULIB_SHARED_LIBRARIES} ${ULIB_EXPORTED_TARGETS}
export(TARGETS ${ULIB_SHARED_LIBRARIES} ${ULIB_EXPORTED_TARGETS} # FILE "${PROJECT_BINARY_DIR}/uLibTargets.cmake" )
FILE "${PROJECT_BINARY_DIR}/uLibTargets.cmake" )
#export(TARGETS ${ULIB_EXPORTED_TARGETS}
# FILE "${PROJECT_BINARY_DIR}/uLibExeTargets.cmake" )
# Create the FooBarConfig.cmake and FooBarConfigVersion files # Create the FooBarConfig.cmake and FooBarConfigVersion files
file(RELATIVE_PATH REL_INCLUDE_DIR "${PACKAGE_INSTALL_CMAKE_DIR}" file(RELATIVE_PATH REL_INCLUDE_DIR "${PACKAGE_INSTALL_CMAKE_DIR}"
"${PACKAGE_INSTALL_INC_DIR}") "${PACKAGE_INSTALL_INC_DIR}")
# ... for the build tree # ... for the build tree
set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/src" "${PROJECT_BINARY_DIR}") #set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/src" "${PROJECT_BINARY_DIR}")
configure_file(uLibConfig.cmake.in #configure_file(uLibConfig.cmake.in
"${PROJECT_BINARY_DIR}/uLibConfig.cmake" @ONLY) # "${PROJECT_BINARY_DIR}/uLibConfig.cmake" @ONLY)
# ... for the install tree # ... for the install tree
set(CONF_INCLUDE_DIRS "\${ULIB_CMAKE_DIR}/${REL_INCLUDE_DIR}") set(CONF_INCLUDE_DIRS "\${ULIB_CMAKE_DIR}/${REL_INCLUDE_DIR}")
configure_file(uLibConfig.cmake.in configure_file(uLibConfig.cmake.in
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/uLibConfig.cmake" @ONLY) "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/uLibConfig.cmake"
@ONLY)
# ... for both # ... for both
configure_file(uLibConfigVersion.cmake.in configure_file(uLibConfigVersion.cmake.in
"${PROJECT_BINARY_DIR}/uLibConfigVersion.cmake" @ONLY) "${PROJECT_BINARY_DIR}/uLibConfigVersion.cmake" @ONLY)
install(FILES "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/uLibConfig.cmake" install(FILES "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/uLibConfig.cmake"
"${PROJECT_BINARY_DIR}/uLibConfigVersion.cmake" "${PROJECT_BINARY_DIR}/uLibConfigVersion.cmake"
"${PROJECT_SOURCE_DIR}/CMake/FindReadLine.cmake"
"${PROJECT_SOURCE_DIR}/CMake/FindROOT.cmake"
"${PROJECT_SOURCE_DIR}/CMake/FindROOTv6.cmake"
"${PROJECT_SOURCE_DIR}/CMake/uLibCommon.cmake"
"${PROJECT_SOURCE_DIR}/CMake/uLibConfigHeader.cmake"
"${PROJECT_SOURCE_DIR}/CMake/uLibDebugMacro.cmake"
"${PROJECT_SOURCE_DIR}/CMake/uLibFindDependencies.cmake"
"${PROJECT_SOURCE_DIR}/CMake/uLibGenerateDoc.cmake"
"${PROJECT_SOURCE_DIR}/CMake/uLibGenerateRMake.cmake"
"${PROJECT_SOURCE_DIR}/CMake/uLibGenerateRPMS.cmake"
"${PROJECT_SOURCE_DIR}/CMake/uLibMacros.cmake"
"${PROJECT_SOURCE_DIR}/CMake/uLibTargetMacros.cmake"
DESTINATION "${PACKAGE_INSTALL_CMAKE_DIR}" DESTINATION "${PACKAGE_INSTALL_CMAKE_DIR}"
COMPONENT dev) COMPONENT dev)
# Install the export set for use with the install-tree # Install the export set for use with the install-tree
install(EXPORT "${PROJECT_NAME}Targets" DESTINATION install(EXPORT "${PROJECT_NAME}Targets"
"${PACKAGE_INSTALL_CMAKE_DIR}" COMPONENT dev) DESTINATION "${PACKAGE_INSTALL_CMAKE_DIR}"
COMPONENT dev)
install(FILES ${PROJECT_SOURCE_DIR}/ulib.h DESTINATION ${PACKAGE_INSTALL_INC_DIR})
# TODO clean also subdirectories
add_custom_target(clean-cmake-files
COMMAND ${CMAKE_COMMAND} -P ${ULIB_CMAKE_DIR}/clean-all.cmake
)

View File

@@ -1,41 +1,27 @@
set(HEADERS set(HEADERS Options.h
Archives.h StaticInterface.h)
Array.h
Debug.h set(SOURCES Options.cpp)
Export.h
Function.h set(LIBRARIES ${Boost_PROGRAM_OPTIONS_LIBRARY})
Macros.h
Mpl.h set(libname ${PACKAGE_LIBPREFIX}Core)
Object.h set(ULIB_SHARED_LIBRARIES ${ULIB_SHARED_LIBRARIES} ${libname} PARENT_SCOPE)
ObjectProps.h set(ULIB_SELECTED_MODULES ${ULIB_SELECTED_MODULES} Core PARENT_SCOPE)
Options.h
Serializable.h add_library(${libname} SHARED ${SOURCES})
Signal.h set_target_properties(${libname} PROPERTIES
Singleton.h VERSION ${PROJECT_VERSION}
SmartPointer.h SOVERSION ${PROJECT_SOVERSION})
StaticInterface.h target_link_libraries(${libname} ${LIBRARIES})
StringReader.h
Types.h install(TARGETS ${libname}
Uuid.h EXPORT "${PROJECT_NAME}Targets"
Timer.h RUNTIME DESTINATION ${PACKAGE_INSTALL_BIN_DIR} COMPONENT bin
) LIBRARY DESTINATION ${PACKAGE_INSTALL_LIB_DIR} COMPONENT lib)
install(FILES ${HEADERS} DESTINATION ${PACKAGE_INSTALL_INC_DIR}/Core)
SET(SOURCES
Archives.cpp
Object.cpp
Options.cpp
Serializable.cpp
Signal.cpp
Uuid.cpp
)
set(LIBRARIES
${Boost_SERIALIZATION_LIBRARY}
${Boost_SIGNALS_LIBRARY}
${Boost_PROGRAM_OPTIONS_LIBRARY}
${ROOT_LIBRARIES}
)
uLib_add_shared_library(${uLib-module})
add_subdirectory(testing)

View File

@@ -1,37 +1,6 @@
#set(HEADERS
# DetectorChamber.h
# ExperimentFitEvent.h
# GeantEvent.h
# HitMC.h
# MuonScatter.h
# MuonEvent.h
# MuonError.h
# ChamberHitEvent.h
# Hit.h
# LinearFit.h
# Solid.h
# Matter.h
# Scene.h
#)
#set(SOURCES
# Solid.cpp
# Scene.cpp
#)
#set(LIBRARIES
# ${Boost_SERIALIZATION_LIBRARY}
# ${Boost_SIGNALS_LIBRARY}
# ${Boost_PROGRAM_OPTIONS_LIBRARY}
# ${Eigen_LIBRARY}
# ${Geant4_LIBRARIES}
# ${ROOT_LIBRARIES}
# ${PACKAGE_LIBPREFIX}Core
# ${PACKAGE_LIBPREFIX}Math
#)
set(HEADERS MuonScatter.h MuonError.h MuonEvent.h) set(HEADERS MuonScatter.h MuonError.h MuonEvent.h)
uLib_add_shared_library(${uLib-module}) set(ULIB_SELECTED_MODULES ${ULIB_SELECTED_MODULES} Detectors PARENT_SCOPE)
add_subdirectory(testing)
install(FILES ${HEADERS}
DESTINATION ${PACKAGE_INSTALL_INC_DIR}/Detectors)

View File

@@ -1,7 +1,4 @@
set(HEADERS ContainerBox.h
# HEADERS
set(HEADERS
ContainerBox.h
Dense.h Dense.h
Geometry.h Geometry.h
Transform.h Transform.h
@@ -23,31 +20,34 @@ set(HEADERS
TriangleMesh.h TriangleMesh.h
BitCode.h BitCode.h
Structured2DGrid.h Structured2DGrid.h
Structured4DGrid.h Structured4DGrid.h)
)
set(SOURCES VoxRaytracer.cpp
# SOURCES
set(SOURCES
VoxRaytracer.cpp
StructuredData.cpp StructuredData.cpp
StructuredGrid.cpp StructuredGrid.cpp
VoxImage.cpp VoxImage.cpp
TriangleMesh.cpp TriangleMesh.cpp
Dense.cpp Dense.cpp
Structured2DGrid.cpp Structured2DGrid.cpp
Structured4DGrid.cpp Structured4DGrid.cpp)
)
set(LIBRARIES set(LIBRARIES ${Eigen_LIBRARY}
${Boost_SERIALIZATION_LIBRARY} ${ROOT_LIBRARIES})
${Boost_SIGNALS_LIBRARY}
${Boost_PROGRAM_OPTIONS_LIBRARY}
${Eigen_LIBRARY}
${ROOT_LIBRARIES}
${PACKAGE_LIBPREFIX}Core
)
set(libname ${PACKAGE_LIBPREFIX}Math)
set(ULIB_SHARED_LIBRARIES ${ULIB_SHARED_LIBRARIES} ${libname} PARENT_SCOPE)
set(ULIB_SELECTED_MODULES ${ULIB_SELECTED_MODULES} Math PARENT_SCOPE)
add_library(${libname} SHARED ${SOURCES})
set_target_properties(${libname} PROPERTIES
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_SOVERSION})
target_link_libraries(${libname} ${LIBRARIES})
install(TARGETS ${libname}
EXPORT "${PROJECT_NAME}Targets"
RUNTIME DESTINATION ${PACKAGE_INSTALL_BIN_DIR} COMPONENT bin
LIBRARY DESTINATION ${PACKAGE_INSTALL_LIB_DIR} COMPONENT lib)
install(FILES ${HEADERS} DESTINATION ${PACKAGE_INSTALL_INC_DIR}/Math)
uLib_add_shared_library(${uLib-module})
add_subdirectory(testing)

View File

@@ -28,11 +28,12 @@
#ifndef VOXIMAGEFILTERCUSTOM_HPP #ifndef VOXIMAGEFILTERCUSTOM_HPP
#define VOXIMAGEFILTERCUSTOM_HPP #define VOXIMAGEFILTERCUSTOM_HPP
#include "Core/Macros.h"
#include <Math/Dense.h> #include <Math/Dense.h>
#include "Math/VoxImage.h" #include "Math/VoxImage.h"
#include "VoxImageFilter.h" #include "VoxImageFilter.h"
#define likely(expr) __builtin_expect(!!(expr), 1)
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
///// VOXIMAGE FILTER CUSTOM ///////////////////////////////////////////////// ///// VOXIMAGE FILTER CUSTOM /////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////

View File

@@ -24,12 +24,12 @@
//////////////////////////////////////////////////////////////////////////////*/ //////////////////////////////////////////////////////////////////////////////*/
#include <iostream>
#include "VoxRaytracer.h" #include "VoxRaytracer.h"
#include "Utils.h" #include "Utils.h"
#include "Core/Macros.h" #define unlikely(expr) __builtin_expect(!!(expr), 0)
inline float fast_sign(float f) { return 1 - 2 * (f < 0); } inline float fast_sign(float f) { return 1 - 2 * (f < 0); }

View File

@@ -1,55 +1,27 @@
set(HEADERS set(HEADERS RootMathDense.h
TestTObject.h
RootMathDense.h
RootMuonScatter.h RootMuonScatter.h
RootHitRaw.h RootHitRaw.h)
muBlastHit.h
muBlastMCTrack.h
muCastorMCTrack.h
muCastorHit.h
muCastorInfo.h
)
set(DICTIONARY_HEADERS set(SOURCES ${HEADERS} RootMuonScatter.cpp)
TestTObject.h
RootMathDense.h
RootMuonScatter.h
RootHitRaw.h
muBlastHit.h
muBlastMCTrack.h
muCastorMCTrack.h
muCastorHit.h
muCastorInfo.h
)
SET(SOURCES set(LIBRARIES ${ROOT_LIBRARIES}
TestTObject.cpp ${PACKAGE_LIBPREFIX}Math)
RootMuonScatter.cpp
muBlastHit.cpp
muBlastMCTrack.cpp
muCastorMCTrack.cpp
muCastorHit.cpp
muCastorInfo.cpp
)
set(LIBRARIES set(libname ${PACKAGE_LIBPREFIX}Root)
# ${Boost_SERIALIZATION_LIBRARY} set(ULIB_SHARED_LIBRARIES ${ULIB_SHARED_LIBRARIES} ${libname} PARENT_SCOPE)
# ${Boost_SIGNALS_LIBRARY} set(ULIB_SELECTED_MODULES ${ULIB_SELECTED_MODULES} Root PARENT_SCOPE)
# ${Boost_PROGRAM_OPTIONS_LIBRARY}
${ROOT_LIBRARIES}
${PACKAGE_LIBPREFIX}Core
${PACKAGE_LIBPREFIX}Math
)
include(FindROOTv6) add_library(${libname} SHARED ${SOURCES})
root_generate_dictionary(uLibRootDict ${DICTIONARY_HEADERS} LINKDEF Linkdef.h) set_target_properties(${libname} PROPERTIES
set_source_files_properties(uLibRootDict.cxx PROPERTIES GENERATED TRUE) VERSION ${PROJECT_VERSION}
set_source_files_properties(uLibRootDict.h PROPERTIES GENERATED TRUE) SOVERSION ${PROJECT_SOVERSION})
list(APPEND SOURCES uLibRootDict.cxx) target_link_libraries(${libname} ${LIBRARIES})
install(TARGETS ${libname}
EXPORT "${PROJECT_NAME}Targets"
RUNTIME DESTINATION ${PACKAGE_INSTALL_BIN_DIR} COMPONENT bin
LIBRARY DESTINATION ${PACKAGE_INSTALL_LIB_DIR} COMPONENT lib)
install(FILES ${HEADERS} DESTINATION ${PACKAGE_INSTALL_INC_DIR}/Root)
# TODO use a custom target linked to root_generate_dictionary
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/uLibRootDict_rdict.pcm
DESTINATION ${PACKAGE_INSTALL_LIB_DIR})
uLib_add_shared_library(${uLib-module})
add_subdirectory(testing)

View File

@@ -9,6 +9,7 @@
// Martin Subieta martin.subieta@ing.unibs.it // Martin Subieta martin.subieta@ing.unibs.it
//######################################## //########################################
#include <iostream>
#include <vector> #include <vector>
#include "TObject.h" #include "TObject.h"
#include "TParticle.h" #include "TParticle.h"

View File

@@ -9,6 +9,7 @@
// Martin Subieta martin.subieta@ing.unibs.it // Martin Subieta martin.subieta@ing.unibs.it
//######################################## //########################################
#include <iostream>
#include "vector" #include "vector"
#include "TObject.h" #include "TObject.h"
#include "TParticle.h" #include "TParticle.h"

View File

@@ -1,37 +1,38 @@
set(HEADERS set(HEADERS uLibVtkInterface.h
uLibVtkInterface.h
uLibVtkViewer.h uLibVtkViewer.h
vtkContainerBox.h vtkContainerBox.h
vtkMuonScatter.h vtkMuonScatter.h
vtkStructuredGrid.h vtkStructuredGrid.h
vtkVoxRaytracerRepresentation.h vtkVoxRaytracerRepresentation.h
vtkVoxImage.h vtkVoxImage.h)
# vtkHLineRepresentation.h
# vtkTriangleMesh.h
)
SET(SOURCES set(SOURCES uLibVtkInterface.cxx
uLibVtkInterface.cxx
uLibVtkViewer.cpp uLibVtkViewer.cpp
vtkContainerBox.cpp vtkContainerBox.cpp
vtkMuonScatter.cxx vtkMuonScatter.cxx
vtkStructuredGrid.cpp vtkStructuredGrid.cpp
vtkVoxRaytracerRepresentation.cpp vtkVoxRaytracerRepresentation.cpp
vtkVoxImage.cpp vtkVoxImage.cpp)
)
set(LIBRARIES set(LIBRARIES ${Eigen_LIBRARY}
${Boost_SERIALIZATION_LIBRARY}
${Boost_SIGNALS_LIBRARY}
${Boost_PROGRAM_OPTIONS_LIBRARY}
${Eigen_LIBRARY}
${ROOT_LIBRARIES} ${ROOT_LIBRARIES}
${Geant4_LIBRARIES}
${VTK_LIBRARIES} ${VTK_LIBRARIES}
${PACKAGE_LIBPREFIX}Core ${PACKAGE_LIBPREFIX}Math)
${PACKAGE_LIBPREFIX}Math
)
uLib_add_shared_library(${uLib-module}) set(libname ${PACKAGE_LIBPREFIX}Vtk)
set(ULIB_SHARED_LIBRARIES ${ULIB_SHARED_LIBRARIES} ${libname} PARENT_SCOPE)
set(ULIB_SELECTED_MODULES ${ULIB_SELECTED_MODULES} Vtk PARENT_SCOPE)
add_library(${libname} SHARED ${SOURCES})
set_target_properties(${libname} PROPERTIES
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_SOVERSION})
target_link_libraries(${libname} ${LIBRARIES})
install(TARGETS ${libname}
EXPORT "${PROJECT_NAME}Targets"
RUNTIME DESTINATION ${PACKAGE_INSTALL_BIN_DIR} COMPONENT bin
LIBRARY DESTINATION ${PACKAGE_INSTALL_LIB_DIR} COMPONENT lib)
install(FILES ${HEADERS} DESTINATION ${PACKAGE_INSTALL_INC_DIR}/Vtk)
add_subdirectory(testing)

View File

@@ -1,35 +0,0 @@
/*//////////////////////////////////////////////////////////////////////////////
// CMT Cosmic Muon Tomography project //////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
Copyright (c) 2014, Universita' degli Studi di Padova, INFN sez. di Padova
All rights reserved
Authors: Andrea Rigoni Garola < andrea.rigoni@pd.infn.it >
------------------------------------------------------------------
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3.0 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library.
//////////////////////////////////////////////////////////////////////////////*/
#include "Object.h"
int main()
{
return 0;
}

View File

@@ -9,11 +9,7 @@ get_filename_component(ULIB_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
set(ULIB_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@") set(ULIB_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@")
# Our library dependencies (contains definitions for IMPORTED targets) # Our library dependencies (contains definitions for IMPORTED targets)
# if(NOT TARGET foo AND NOT FooBar_BINARY_DIR)
include("${ULIB_CMAKE_DIR}/uLibTargets.cmake") include("${ULIB_CMAKE_DIR}/uLibTargets.cmake")
# endif()
# These are IMPORTED targets created by FooBarTargets.cmake # These are IMPORTED targets created by FooBarTargets.cmake
# set(FOOBAR_LIBRARIES foo)
# set(FOOBAR_EXECUTABLE bar)
set(ULIB_LIBRARIES @ULIB_SHARED_LIBRARIES@) set(ULIB_LIBRARIES @ULIB_SHARED_LIBRARIES@)