Files
MX_Pmodule/Compiler/root/build6
Achim Gsell 4eae2f2a4e Compiler/root
- we do not have to apply the CMakeList patch for Oracle Instantclient if root version is >= 6.12
2018-02-19 17:54:20 +01:00

62 lines
1.7 KiB
Plaintext
Executable File

#!/usr/bin/env modbuild
SOURCE_URL="https://root.cern.ch/download/root_v${V_MAJOR}.${V_MINOR}.${V_PATCHLVL}.source.tar.gz"
declare -a EXTRA_LIBS=()
config_args=()
case ${OS} in
Darwin )
# cocoa doesn't work with GCC!?
config_args+=( '-Dcocoa=OFF' )
config_args+=( '-Dx11=ON' )
config_args+=( '-DCMAKE_OSX_SYSROOT=/' )
config_args+=( "-DCMAKE_OSX_DEPLOYMENT_TARGET=''" )
;;
Linux )
INSTANTCLIENT_INCLUDE_DIR='/usr/lib/oracle/12.1/client64/include'
INSTANTCLIENT_LIBRARY_DIR='/usr/lib/oracle/12.1/client64/lib'
C_INCLUDE_PATH+=":${INSTANTCLIENT_INCLUDE_DIR}"
CXX_INCLUDE_PATH+=":${INSTANTCLIENT_INCLUDE_DIR}"
CPLUS_INCLUDE_PATH+=":${INSTANTCLIENT_INCLUDE_DIR}"
LIBRARY_DIR+=":${INSTANTCLIENT_LIBRARY_DIR}"
config_args+=( "-Doracle=ON" )
config_args+=( "-DORACLE_PATH_INCLUDES=${INSTANTCLIENT_INCLUDE_DIR}" )
config_args+=( "-DORACLE_PATH_LIB=${INSTANTCLIENT_LIBRARY_DIR}" )
config_args+=( "-DORACLE_OCI_VERSION=10G_R2" )
;;
*)
std:die 1 "${OS} is not supported"
;;
esac
pbuild::patch_sources_Linux() {
if (( V_MAJOR == 6 && V_MINOR < 12)); then
patch -p1 < "${BUILD_BLOCK_DIR}/${V_MAJOR}/cmake_oracle12.patch"
fi
}
pbuild::configure() {
cmake "${MODULE_SRCDIR}" \
"${config_args[@]}" \
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
|| exit 1
sed -i.bak "s:${MODULE_SRCDIR//\/\///}/root.exe:${MODULE_BUILDDIR//\/\///}/bin/root.exe:" CMakeFiles/hsimple.dir/build.make
}
pbuild::build() {
cmake --build . -- -j6 VERBOSE=1
}
pbuild::install() {
cmake --build . --target install
}
pbuild::post_install_Linux() {
install -m 0644 "${INSTANTCLIENT_LIBRARY_DIR}"/* "${PREFIX}"/lib
install -m 0644 "${INSTANTCLIENT_INCLUDE_DIR}"/* "${PREFIX}"/include
}
pbuild::add_to_group 'Compiler'
pbuild::make_all