forked from cms-sw/cmsdist
-
Notifications
You must be signed in to change notification settings - Fork 0
/
dd4hep.spec
60 lines (48 loc) · 1.78 KB
/
dd4hep.spec
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
### RPM external dd4hep v01-25x
## INCLUDE compilation_flags
## INCLUDE compilation_flags_lto
## INCLUDE cpp-standard
%define tag b07fa115c59d80d37154cf205cf00dff8137ee36
%define branch master
%define github_user AIDASoft
%define keep_archives true
Source: git+https://github.com/%{github_user}/DD4hep.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}.tgz
BuildRequires: cmake
Requires: root boost clhep xerces-c geant4
%define build_flags -fPIC %{?arch_build_flags} %{?lto_build_flags} %{?pgo_build_flags}
%define cmake_fixed_args \\\
-DCMAKE_INSTALL_PREFIX='%{i}' \\\
-DCMAKE_CXX_FLAGS="%{build_flags}" \\\
-DCMAKE_STATIC_LIBRARY_CXX_FLAGS="%{build_flags}" \\\
-DCMAKE_STATIC_LIBRARY_C_FLAGS="%{build_flags}" \\\
-DBoost_NO_BOOST_CMAKE=ON \\\
-DDD4HEP_USE_XERCESC=ON \\\
-DDD4HEP_USE_PYROOT=ON \\\
-DCMAKE_AR=$(which gcc-ar) \\\
-DCMAKE_RANLIB=$(which gcc-ranlib) \\\
-DCMAKE_CXX_STANDARD=%{cms_cxx_standard} \\\
-DCMAKE_BUILD_TYPE=%{cmake_build_type} \\\
-DDD4HEP_USE_GEANT4_UNITS=ON \\\
-DXERCESC_ROOT_DIR=${XERCES_C_ROOT} \\\
-DCMAKE_PREFIX_PATH="${CLHEP_ROOT};${XERCES_C_ROOT}"
%prep
%setup -n %{n}-%{realversion}
%build
export BOOST_ROOT
#Build normal Shared D4Hep without Geant4
rm -rf ../build; mkdir ../build; cd ../build
cmake %{cmake_fixed_args} -DBUILD_SHARED_LIBS=ON ../%{n}-%{realversion}
make %{makeprocesses} VERBOSE=1
make install
#Building DDG4 static
rm -rf ../build-g4; mkdir ../build-g4; cd ../build-g4
cmake %{cmake_fixed_args} -DBUILD_SHARED_LIBS=OFF -DDD4HEP_USE_GEANT4=ON ../%{n}-%{realversion}
cd DDG4
make %{makeprocesses} VERBOSE=1
for lib in $(ls ../lib/libDDG4*.a | sed 's|.a$||'); do
mv ${lib}.a %i/lib/${lib}-static.a
done
mv ../../%{n}-%{realversion}/DDG4/include/DDG4 %i/include
%install
%post
%{relocateConfig}bin/*.sh