#!/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