Skip to content

Commit

Permalink
Merge branch 'master' into feature/10855_rewrite_indirect_diffraction…
Browse files Browse the repository at this point in the history
…_reduction

Conflicts:
	Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/MSGDiffractionReduction.py

Refs #10855
  • Loading branch information
DanNixon committed Apr 10, 2015
2 parents 462192a + 4162fe5 commit 11748c8
Show file tree
Hide file tree
Showing 1,344 changed files with 41,554 additions and 17,133 deletions.
3 changes: 2 additions & 1 deletion Code/Mantid/Build/CMake/CommonSetup.cmake
Expand Up @@ -60,6 +60,7 @@ include_directories ( SYSTEM ${NEXUS_INCLUDE_DIR} )
find_package ( MuParser REQUIRED )

find_package ( JsonCPP REQUIRED )
include_directories ( SYSTEM ${JSONCPP_INCLUDE_DIR} )

find_package ( Doxygen ) # optional

Expand All @@ -71,7 +72,7 @@ set ( CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH}/zlib123 )
find_package ( ZLIB REQUIRED )
set ( CMAKE_INCLUDE_PATH ${MAIN_CMAKE_INCLUDE_PATH} )

if (${CMAKE_SYSTEM_NAME} MATCHES "Windows" OR OSX_VERSION VERSION_LESS 10.9)
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows" OR (APPLE AND OSX_VERSION VERSION_LESS 10.9))
set (HDF5_DIR "${CMAKE_MODULE_PATH}")
find_package ( HDF5 COMPONENTS HL REQUIRED
CONFIGS hdf5-config.cmake )
Expand Down
1 change: 0 additions & 1 deletion Code/Mantid/Build/CMake/CommonVatesSetup.cmake
Expand Up @@ -7,7 +7,6 @@ Framework/API
Framework/Geometry
Framework/Kernel
Framework/DataObjects
Framework/MDEvents
)

set ( COMMONVATES_SETUP_DONE TRUE )
2 changes: 1 addition & 1 deletion Code/Mantid/Build/CMake/DarwinSetup.cmake
Expand Up @@ -80,7 +80,7 @@ endif ()
# Force 64-bit compiler as that's all we support
###########################################################################

set ( CLANG_WARNINGS "-Wall -Wextra -Winit-self -Wpointer-arith -Wcast-qual -fno-common -Wno-deprecated-register")
set ( CLANG_WARNINGS "-Wall -Wextra -pedantic -Winit-self -Wpointer-arith -Wcast-qual -fno-common -Wno-deprecated-register")

set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64 ${CLANG_WARNINGS}" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64 -std=c++0x" )
Expand Down
3 changes: 2 additions & 1 deletion Code/Mantid/Build/CMake/FindJsonCPP.cmake
Expand Up @@ -10,7 +10,8 @@
# JSONCPP_LIBRARIES - All required libraries, including the configuration type

# Headers
find_path ( JSONCPP_INCLUDE_DIR jsoncpp/json/json.h )
find_path ( JSONCPP_INCLUDE_DIR json/reader.h
PATH_SUFFIXES jsoncpp )

# Libraries
find_library ( JSONCPP_LIBRARY NAMES jsoncpp ) # optimized
Expand Down
5 changes: 3 additions & 2 deletions Code/Mantid/Build/CMake/GNUSetup.cmake
Expand Up @@ -24,9 +24,10 @@ set( GNUFLAGS "-Wall -Wextra -Wconversion -Winit-self -Wpointer-arith -Wcast-qua
set( GNUFLAGS "${GNUFLAGS} -Wno-deprecated -Wno-write-strings")

# Check if we have a new enough version for this flag
# some -pedantic warnings remain with gcc 4.4.7
if ( CMAKE_COMPILER_IS_GNUCXX )
if (GCC_COMPILER_VERSION VERSION_GREATER "4.3")
set(GNUFLAGS "${GNUFLAGS} -Wno-unused-result")
if (NOT (GCC_COMPILER_VERSION VERSION_LESS "4.5"))
set(GNUFLAGS "${GNUFLAGS} -Wno-unused-result -pedantic")
endif ()
elseif ( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" )
set(GNUFLAGS "${GNUFLAGS} -Wno-sign-conversion")
Expand Down
4 changes: 4 additions & 0 deletions Code/Mantid/Build/CMake/Packaging/launch_mantidplot.sh.in
Expand Up @@ -20,7 +20,11 @@ else
TCM_RELEASE=${TCMALLOC_RELEASE_RATE}
fi

# Define paraview information
PV_PLUGIN_PATH="${INSTALLDIR}/pvplugins/pvplugins"

# Launch
LD_PRELOAD=${LOCAL_PRELOAD} TCMALLOC_RELEASE_RATE=${TCM_RELEASE} \
LD_LIBRARY_PATH=${LOCAL_LDPATH} QT_API=pyqt \
PV_PLUGIN_PATH=${PV_PLUGIN_PATH} \
@WRAPPER_PREFIX@$INSTALLDIR/@MANTIDPLOT_EXEC@ $*@WRAPPER_POSTFIX@
4 changes: 4 additions & 0 deletions Code/Mantid/Build/CMake/Packaging/mantidpython.in
Expand Up @@ -21,6 +21,9 @@ else
TCM_RELEASE=${TCMALLOC_RELEASE_RATE}
fi

# Define paraview information
PV_PLUGIN_PATH="${INSTALLDIR}/pvplugins/pvplugins"

# Define extra libraries for python
LOCAL_PYTHONPATH=@WRAPPER_PREFIX@$INSTALLDIR
if [ -n "${PYTHONPATH}" ]; then
Expand All @@ -30,5 +33,6 @@ fi
# Launch
LD_PRELOAD=${LOCAL_PRELOAD} TCMALLOC_RELEASE_RATE=${TCM_RELEASE} \
LD_LIBRARY_PATH=${LOCAL_LDPATH} QT_API=pyqt \
PV_PLUGIN_PATH=${PV_PLUGIN_PATH} \
PYTHONPATH=${LOCAL_PYTHONPATH} \
${IPYTHON} $*@WRAPPER_POSTFIX@
82 changes: 48 additions & 34 deletions Code/Mantid/Build/Jenkins/buildscript
Expand Up @@ -19,6 +19,46 @@ BUILDPKG=true
cmake --version
echo "SHA1=${sha1}"

###############################################################################
# Check job requirements from the name
###############################################################################
if [[ ${JOB_NAME} == *clean* ]]; then
CLEANBUILD=true
fi

if [[ ${JOB_NAME} == *debug* ]]; then
BUILD_CONFIG="Debug"
elif [[ ${JOB_NAME} == *relwithdbg* ]]; then
BUILD_CONFIG="RelWithDbg"
else
BUILD_CONFIG="Release"
fi

###############################################################################
# Setup the build directory
# For a clean build the entire thing is removed to guarantee it is clean. All
# other build types are assumed to be incremental and the following items
# are removed to ensure stale build objects don't interfere with each other:
# - build/bin/**: if libraries are removed from cmake they are not deleted
# from bin and can cause random failures
# - build/ExternalData/**: data files will change over time and removing
# the links helps keep it fresh
###############################################################################
BUILD_DIR=$WORKSPACE/build
if [ -z "$BUILD_DIR" ]; then
echo "Build directory not set. Cannot continue"
exit 1
fi

if [[ "$CLEANBUILD" == true ]]; then
rm -rf $BUILD_DIR
fi
if [ -d $BUILD_DIR ]; then
rm -rf $BUILD_DIR/bin $BUILD_DIR/ExternalData
else
mkdir $BUILD_DIR
fi

###############################################################################
# Setup clang
###############################################################################
Expand All @@ -38,11 +78,11 @@ if [[ $USE_CLANG ]]; then
export CXX=clang++
#check if CMakeCache.txt exists and if so that the cxx compiler is clang++
#only needed with incremental builds. Clean builds delete this directory in a later step.
if [[ -e $WORKSPACE/build/CMakeCache.txt ]] && [[ ${JOB_NAME} != *clean* ]]; then
COMPILERFILEPATH=`grep 'CMAKE_CXX_COMPILER:FILEPATH' $WORKSPACE/build/CMakeCache.txt`
if [[ -e $BUILD_DIR/CMakeCache.txt ]] && [[ ${JOB_NAME} != *clean* ]]; then
COMPILERFILEPATH=`grep 'CMAKE_CXX_COMPILER:FILEPATH' $BUILD_DIR/CMakeCache.txt`
if [[ $COMPILERFILEPATH != *clang++* ]]; then
# Removing the build directory entirely guarantees clang is used.
rm -rf $WORKSPACE/build
rm -rf $BUILD_DIR
fi
fi
fi
Expand Down Expand Up @@ -85,19 +125,8 @@ else
SCL_ON_RHEL6="eval"
fi

###############################################################################
# Check job requirements from the name
###############################################################################
if [[ ${JOB_NAME} == *clean* ]]; then
CLEANBUILD=true
fi

if [[ -e $WORKSPACE/build/CMakeCache.txt ]]; then
# Temporary while the builds flick between old & new TestingTools locations
TESTINGTOOLS_DIR=$(grep 'Code/Mantid/TestingTools/cxxtest' $WORKSPACE/build/CMakeCache.txt || true)
if [ ! -z "$TESTINGTOOLS_DIR" ]; then
rm -fr $WORKSPACE/build
fi
if [[ ${NODE_LABELS} == *rhel7* ]]; then
ON_RHEL7=true
fi

###############################################################################
Expand All @@ -121,31 +150,16 @@ if [[ "$BUILDPKG" == true ]]; then
fi

###############################################################################
# Setup the build directory
# Work in the build directory
###############################################################################
if [[ "$CLEANBUILD" == true ]]; then
rm -rf $WORKSPACE/build
fi
[ -d $WORKSPACE/build ] || mkdir $WORKSPACE/build
cd $WORKSPACE/build
cd $BUILD_DIR

###############################################################################
# Clean up any artifacts from last build so that if it fails
# they don't get archived again
###############################################################################
rm -f *.dmg *.rpm *.deb *.tar.gz

###############################################################################
## Check the required build configuration
###############################################################################
if [[ ${JOB_NAME} == *debug* ]]; then
BUILD_CONFIG="Debug"
elif [[ ${JOB_NAME} == *relwithdbg* ]]; then
BUILD_CONFIG="RelWithDbg"
else
BUILD_CONFIG="Release"
fi

###############################################################################
# CMake configuration
###############################################################################
Expand Down Expand Up @@ -212,6 +226,6 @@ fi
# Run the system tests on RHEL6 when doing a pull request build. Run
# from a package to have at least one Linux checks it install okay
###############################################################################
if [[ "${ON_RHEL6}" == true ]] && [[ ${JOB_NAME} == *pull_requests* ]]; then
if [[ "${ON_RHEL7}" == true ]] && [[ ${JOB_NAME} == *pull_requests* ]]; then
$SCRIPT_DIR/systemtests
fi
46 changes: 27 additions & 19 deletions Code/Mantid/Build/Jenkins/buildscript.bat
Expand Up @@ -39,16 +39,31 @@ if not "%JOB_NAME%" == "%JOB_NAME:clean=%" (
set BUILDPKG=yes
)

if EXIST %WORKSPACE%\build\CMakeCache.txt (
FINDSTR "Code/Mantid/TestingTools/cxxtest" %WORKSPACE%\build\CMakeCache.txt && (
rmdir /S /Q %WORKSPACE%\build
)
)

if not "%JOB_NAME%" == "%JOB_NAME:pull_requests=%" (
set BUILDPKG=yes
)

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Setup the build directory
:: For a clean build the entire thing is removed to guarantee it is clean. All
:: other build types are assumed to be incremental and the following items
:: are removed to ensure stale build objects don't interfere with each other:
:: - build/bin: if libraries are removed from cmake they are not deleted
:: from bin and can cause random failures
:: - build/ExternalData/**: data files will change over time and removing
:: the links helps keep it fresh
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
set BUILD_DIR=%WORKSPACE%\build
if "%CLEANBUILD%" == "yes" (
rmdir /S /Q %BUILD_DIR%
)

if EXIST %BUILD_DIR% (
rmdir /S /Q %BUILD_DIR%\bin %BUILD_DIR%\ExternalData
) else (
md %BUILD_DIR%
)

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Packaging options
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Expand All @@ -57,14 +72,7 @@ if "%BUILDPKG%" == "yes" (
set PACKAGE_DOCS=-DPACKAGE_DOCS=ON
)

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Setup the build directory
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if "%CLEANBUILD%" == "yes" (
rmdir /S /Q %WORKSPACE%\build
)
md %WORKSPACE%\build
cd %WORKSPACE%\build
cd %BUILD_DIR%

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Clean up any artifacts from last build so that if it fails
Expand All @@ -87,7 +95,7 @@ if not "%JOB_NAME%"=="%JOB_NAME:relwithdbg=%" (
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Update the PATH so that we can find everything
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
set PATH=%WORKSPACE%\Code\Third_Party\lib\win64;%WORKSPACE%\Code\Third_Party\lib\win64\Python27;%PARAVIEW_DIR%\bin\%BUILD_CONFIG%;%PATH%
set PATH=%WORKSPACE%\Code\Third_Party\lib\win64;%WORKSPACE%\Code\Third_Party\lib\win64\Python27;%WORKSPACE%\Code\Third_Party\lib\win64\mingw;%PARAVIEW_DIR%\bin\%BUILD_CONFIG%;%PATH%

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: CMake configuration
Expand Down Expand Up @@ -132,7 +140,7 @@ if "%BUILDPKG%" == "yes" (
if not "%JOB_NAME%"=="%JOB_NAME:pull_requests=%" (
:: Install package
set SYSTEMTESTS_DIR=%WORKSPACE%\Code\Mantid\Testing\SystemTests
python !SYSTEMTESTS_DIR!\scripts\mantidinstaller.py install %WORKSPACE%\build
python !SYSTEMTESTS_DIR!\scripts\mantidinstaller.py install %BUILD_DIR%

::Remove user properties, disable instrument updating & usage reports and add data paths
del /Q C:\MantidInstall\bin\Mantid.user.properties
Expand All @@ -144,13 +152,13 @@ if not "%JOB_NAME%"=="%JOB_NAME:pull_requests=%" (
echo datasearch.directories = !DATA_ROOT!/UnitTest;!DATA_ROOT!/DocTest;!WORKSPACE_UNIX_STYLE!/Code/Mantid/instrument >> C:\MantidInstall\bin\Mantid.user.properties

:: Run tests
cd %WORKSPACE%\build\docs
cd %BUILD_DIR%\docs
C:\MantidInstall\bin\MantidPlot.exe -xq runsphinx_doctest.py
set RETCODE=!ERRORLEVEL!

:: Remove Mantid
cd %WORKSPACE%\build
python !SYSTEMTESTS_DIR!\scripts\mantidinstaller.py uninstall %WORKSPACE%\build
cd %BUILD_DIR%
python !SYSTEMTESTS_DIR!\scripts\mantidinstaller.py uninstall %BUILD_DIR%
if !RETCODE! NEQ 0 exit /B 1
)

5 changes: 4 additions & 1 deletion Code/Mantid/Build/Jenkins/jenkins-slave.sh
Expand Up @@ -31,12 +31,15 @@ SECRET=${2}
SLAVE_AGENT_URL="${JENKINS_URL}/computer/${NODE_NAME}/slave-agent.jnlp"
# name of the slave jar - full path is determined later
JAR_FILE=slave.jar
# Some versions of cron don't set the USER environment variable
# required by vnc
[ -z "$USER" ] && export USER=$(whoami)

#####################################################################
# Script
#####################################################################
# exit if it is already running
RUNNING=$(ps aux | grep java | grep ${JAR_FILE})
RUNNING=$(ps u -u $(whoami) | grep java | grep ${JAR_FILE})
if [ ! -z "${RUNNING}" ]; then
echo "Slave process is already running"
exit 0
Expand Down
@@ -1,5 +1,5 @@
Name: mantid-developer
Version: 1.9
Version: 1.10
Release: 1%{?dist}
Summary: Meta Package to install dependencies for Mantid Development

Expand Down Expand Up @@ -30,7 +30,7 @@ Requires: poco-devel
Requires: PyQt4-devel
Requires: python-devel
Requires: python-ipython >= 1.1
Conflicts: python-ipython >= 2.0
%{?el6:Conflicts: python-ipython >= 2.0}
Requires: python-pip
Requires: python-sphinx
Requires: qscintilla-devel
Expand Down

0 comments on commit 11748c8

Please sign in to comment.