-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
105 lines (86 loc) · 3.7 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
cmake_minimum_required(VERSION 3.5)
project(DataHandler C CXX Fortran)
set(VERSION 1.0.0)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
# add_subdirectory(${CMAKE_SOURCE_DIR}/external/aao_rad_lund)
list(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS})
find_package(ROOT REQUIRED COMPONENTS RIO Net) #RooFit RooFitCore RooStats RootAuth
include(${ROOT_USE_FILE})
set(CMAKE_MODULE_PATH
${CMAKE_MODULE_PATH}
${PROJECT_SOURCE_DIR}/cmake
${PROJECT_SOURCE_DIR}/cmake/modules)
# include_directories(${CMAKE_SOURCE_DIR}/external/zstr/src)
include_directories(${CMAKE_SOURCE_DIR}/src)
include_directories(${CMAKE_SOURCE_DIR}/include)
add_subdirectory(${CMAKE_SOURCE_DIR}/src)
# include_directories(${CMAKE_SOURCE_DIR}/external/lz4xx/include)
# add_subdirectory(${CMAKE_SOURCE_DIR}/external/lz4xx)
# set_target_properties(lz4xx PROPERTIES CXX_STANDARD 11)
set(CMAKE_CXX_FLAGS "-Ofast ${ROOT_CXX_FLAGS}")
set(CMAKE_C_FLAGS "-Ofast ${ROOT_CXX_FLAGS}")
set(PROGRAMS
exe/cpp/e1d.cpp
exe/cpp/e1f.cpp
exe/cpp/e16.cpp
#exe/cpp/analysis.cpp
exe/monteCarlo/e1d_mc.cpp
exe/monteCarlo/e1f_mc.cpp
exe/monteCarlo/analysis_mc.cpp
exe/skim/e1d_skim.cpp
exe/skim/e1f_skim.cpp
exe/skim/skim_one_check_banks.cpp
exe/csv_maker/csv_maker.cpp
exe/csv_maker/csv_maker_PPi0.cpp
exe/csv_maker/csv_maker_mc.cpp
exe/ntuple_maker/ntuple_maker.cpp
exe/golden_run/golden_run.cpp
exe/momentumCorrections/momemtumCorrections.cpp
exe/peakFitMomCorr/peakFitMomCorr.cpp
exe/deltaTFitter/deltaTFitter.cpp
exe/deltaTFitter/deltaTFitter_e1f.cpp
#exe/fidFitter/fidFitter.cpp
#exe/fidFitter/fidFitterPip.cpp
)
foreach(prog ${PROGRAMS} )
get_filename_component(progname ${prog} NAME)
string( REPLACE ".cpp" "" progname ${progname} )
add_executable( ${progname} ${prog} )
set_target_properties(${progname} PROPERTIES CXX_STANDARD 17)
target_link_libraries(${progname} PUBLIC physics ${ROOT_LIBRARIES})
install(TARGETS ${progname} EXPORT ${PROJECT_NAME}Targets RUNTIME DESTINATION bin)
endforeach( prog ${PROGRAMS} )
#find_package(Cython)
#IF(Cython_FOUND)
#IF(0)
# find_package(Python3 COMPONENTS NumPy REQUIRED)
# find_package(PythonLibs 3.5 REQUIRED)
# set(CMAKE_CXX_STANDARD 17)
#set(CMAKE_CXX_STANDARD_REQUIRED ON)
#include_directories(${PYTHON_INCLUDE_DIRS} ${NumPy_INCLUDE_DIR})
#set(EXTRA_FLAGS "${EXTRA_FLAGS} -pthread -Wno-deprecated-register")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_FLAGS}" )
#include_directories(${PYTHON_INCLUDE_DIRS} ${PYTHON_NUMPY_INCLUDE_DIR} ${NumPy_INCLUDE_DIR})
#file(GLOB CYTHON_TARGETS src/*.pyx )
#foreach(pyx ${CYTHON_TARGETS} )
# get_filename_component(pyxname ${pyx} NAME)
# string( REPLACE ".pyx" "" pyxname ${pyxname} )
# add_cython_target(${pyxname} ${pyx} CXX PY3 OUTPUT_VAR _pyxname)
# add_library(${pyxname} MODULE ${_pyxname})
# python_extension_module(${pyxname})
# set_target_properties(${pyxname} PROPERTIES CXX_STANDARD 17)
# target_link_libraries(${pyxname} physics ${PYTHON_LIBRARIES} ${ROOT_LIBRARIES})
# install(TARGETS ${pyxname} LIBRARY DESTINATION lib)
#endforeach( pyx ${CYTHON_TARGETS} )
#SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
#ENDIF()
file(GLOB EXAMPLES scripts/*.cxx )
foreach(exe ${EXAMPLES} )
get_filename_component(exename ${exe} NAME)
string( REPLACE ".cxx" "" exename ${exename} )
add_executable( ${exename} ${exe} )
set_target_properties(${exename} PROPERTIES CXX_STANDARD 17)
include_directories(${exename} PUBLIC src/include)
target_link_libraries(${exename} PUBLIC ${ROOT_LIBRARIES})
install(TARGETS ${exename} EXPORT ${PROJECT_NAME}Targets RUNTIME DESTINATION bin)
endforeach( exe ${EXAMPLES} )