Skip to content

Commit

Permalink
Merge branch 'master' into 11163_ill_calibration_tab
Browse files Browse the repository at this point in the history
Conflicts:
	Code/Mantid/MantidQt/CustomInterfaces/CMakeLists.txt

Refs #11163
  • Loading branch information
DanNixon committed Apr 13, 2015
2 parents e672a9d + 3085c1f commit 04b34da
Show file tree
Hide file tree
Showing 2,352 changed files with 99,645 additions and 34,072 deletions.
11 changes: 10 additions & 1 deletion Code/Mantid/Build/CMake/CommonSetup.cmake
Expand Up @@ -41,7 +41,7 @@ set ( TESTING_TIMEOUT 300 CACHE INTEGER
"Timeout in seconds for each test (default 300=5minutes)")

###########################################################################
# Look for dependencies - bail out if any not found
# Look for dependencies
###########################################################################

set ( Boost_NO_BOOST_CMAKE TRUE )
Expand All @@ -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,6 +72,14 @@ 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 (APPLE AND OSX_VERSION VERSION_LESS 10.9))
set (HDF5_DIR "${CMAKE_MODULE_PATH}")
find_package ( HDF5 COMPONENTS HL REQUIRED
CONFIGS hdf5-config.cmake )
else()
find_package ( HDF5 COMPONENTS HL REQUIRED )
endif()

find_package ( PythonInterp )

if ( MSVC )
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 -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
31 changes: 21 additions & 10 deletions Code/Mantid/Build/CMake/FindOpenCascade.cmake
Expand Up @@ -18,50 +18,61 @@ if ( WIN32 )
add_definitions ( -DWNT )
endif ( WIN32 )

set ( OC_REDHAT_RPM /opt/OpenCASCADE/lib64 )
find_path ( OPENCASCADE_LIBRARY_DIR libTKernel.so PATHS
/opt/OpenCASCADE/lib64
$ENV{CASROOT}/lib64
/opt/OpenCASCADE/lib
$ENV{CASROOT}/lib
/opt/OpenCASCADE/lib32
$ENV{CASROOT}/lib32
)

find_library ( OPENCASCADE_LIB_TKERNEL
NAMES TKernel
PATHS ${OC_REDHAT_RPM}
PATHS ${OPENCASCADE_LIBRARY_DIR}
)
find_library ( OPENCASCADE_LIB_TKBO
NAMES TKBO
PATHS ${OC_REDHAT_RPM}
PATHS ${OPENCASCADE_LIBRARY_DIR}
)
find_library ( OPENCASCADE_LIB_TKPRIM
NAMES TKPrim
PATHS ${OC_REDHAT_RPM}
PATHS ${OPENCASCADE_LIBRARY_DIR}
)
find_library ( OPENCASCADE_LIB_TKMESH
NAMES TKMesh
PATHS ${OC_REDHAT_RPM}
PATHS ${OPENCASCADE_LIBRARY_DIR}
)
find_library ( OPENCASCADE_LIB_TKBREP
NAMES TKBRep
PATHS ${OC_REDHAT_RPM}
PATHS ${OPENCASCADE_LIBRARY_DIR}
)
find_library ( OPENCASCADE_LIB_TKTOPALGO
NAMES TKTopAlgo
PATHS ${OC_REDHAT_RPM}
PATHS ${OPENCASCADE_LIBRARY_DIR}
)
find_library ( OPENCASCADE_LIB_TKMATH
NAMES TKMath
PATHS ${OC_REDHAT_RPM}
PATHS ${OPENCASCADE_LIBRARY_DIR}
)
find_library ( OPENCASCADE_LIB_TKG2D
NAMES TKG2d
PATHS ${OC_REDHAT_RPM}
PATHS ${OPENCASCADE_LIBRARY_DIR}
)

find_library ( OPENCASCADE_LIB_TKG3D
NAMES TKG3d
PATHS ${OPENCASCADE_LIBRARY_DIR}
)

find_library ( OPENCASCADE_LIB_TKGEOMBASE
NAMES TKGeomBase
PATHS ${OPENCASCADE_LIBRARY_DIR}
)

find_library ( OPENCASCADE_LIB_TKGEOMALGO
NAMES TKGeomAlgo
PATHS ${OPENCASCADE_LIBRARY_DIR}
)

set ( OPENCASCADE_LIBRARIES
Expand All @@ -83,7 +94,7 @@ set ( OPENCASCADE_LIBRARIES
include ( FindPackageHandleStandardArgs )
find_package_handle_standard_args( OpenCascade DEFAULT_MSG OPENCASCADE_LIBRARIES OPENCASCADE_INCLUDE_DIR )

mark_as_advanced ( OPENCASCADE_INCLUDE_DIR
mark_as_advanced ( OPENCASCADE_INCLUDE_DIR OPENCASCADE_LIBRARY_DIR
OPENCASCADE_LIB_TKERNEL OPENCASCADE_LIB_TKBO
OPENCASCADE_LIB_TKPRIM OPENCASCADE_LIB_TKMESH
OPENCASCADE_LIB_TKBREP OPENCASCADE_LIB_TKTOPALGO
Expand Down
2 changes: 1 addition & 1 deletion Code/Mantid/Build/CMake/FindQwt.cmake
Expand Up @@ -9,7 +9,7 @@
find_path ( QWT_INCLUDE_DIR qwt.h
PATHS /opt/include /usr/local/include /usr/include ${CMAKE_INCLUDE_PATH}
PATH_SUFFIXES qwt5 qwt5-qt4 qwt-qt4 qwt )
find_library ( QWT_LIBRARY NAMES qwt5-qt4 qwt-qt4 qwt )
find_library ( QWT_LIBRARY NAMES qwt5-qt4 qwt-qt4 qwt5 qwt )
find_library ( QWT_LIBRARY_DEBUG qwtd )

# in REQUIRED mode: terminate if one of the above find commands failed
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
29 changes: 14 additions & 15 deletions Code/Mantid/Build/CMake/LinuxPackageScripts.cmake
Expand Up @@ -26,21 +26,6 @@ set ( CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${LIB_DIR};${CMAKE_INSTALL_PRE
# Required for Fedora >= 18 and RHEL >= 7
set ( CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION /opt /usr/share/applications /usr/share/pixmaps )

###########################################################################
# LD_PRELOAD TCMalloc
###########################################################################
# User systems will only have the libraries and not the symbolic link
# so we must set the preload to the versioned library. We will assume it is
# in the same location as the system that the package was built on
if ( TCMALLOC_LIBRARIES )
execute_process ( COMMAND readlink --no-newline --canonicalize-existing ${TCMALLOC_LIBRARIES}
OUTPUT_VARIABLE TCMALLOC_PRELOAD
RESULT_VARIABLE READLINK_RESULT )
if ( READLINK_RESULT EQUAL 1 )
message ( FATAL_ERROR "Unable to find real file that tcmalloc symlink, ${TCMALLOC_LIBRARIES}, points to." )
endif()
endif()

###########################################################################
# Environment scripts (profile.d)
###########################################################################
Expand Down Expand Up @@ -151,6 +136,12 @@ configure_file ( ${CMAKE_MODULE_PATH}/Packaging/launch_mantidplot.sh.in
# Needs to be executable
execute_process ( COMMAND "chmod" "+x" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/launch_mantidplot.sh"
OUTPUT_QUIET ERROR_QUIET )
configure_file ( ${CMAKE_MODULE_PATH}/Packaging/mantidpython.in
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/mantidpython @ONLY )
# Needs to be executable
execute_process ( COMMAND "chmod" "+x" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/mantidpython"
OUTPUT_QUIET ERROR_QUIET )

# Package version
set ( MANTIDPLOT_EXEC MantidPlot_exe )
configure_file ( ${CMAKE_MODULE_PATH}/Packaging/launch_mantidplot.sh.in
Expand All @@ -161,3 +152,11 @@ install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/launch_mantidplot.sh.install
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
)
configure_file ( ${CMAKE_MODULE_PATH}/Packaging/mantidpython.in
${CMAKE_CURRENT_BINARY_DIR}/mantidpython.install @ONLY )
install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/mantidpython.install
DESTINATION ${BIN_DIR} RENAME mantidpython
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
)
7 changes: 7 additions & 0 deletions Code/Mantid/Build/CMake/MantidExternalData.cmake
Expand Up @@ -36,3 +36,10 @@ list(APPEND ExternalData_URL_TEMPLATES
"http://198.74.56.37/ftp/external-data/%(algo)/%(hash)"
)

# Increase network timeout defaults to avoid our slow server connection but don't override what a user provides
if(NOT ExternalData_TIMEOUT_INACTIVITY)
set(ExternalData_TIMEOUT_INACTIVITY 120)
endif()
if(NOT ExternalData_TIMEOUT_ABSOLUTE)
set(ExternalData_TIMEOUT_ABSOLUTE 600)
endif()
10 changes: 8 additions & 2 deletions Code/Mantid/Build/CMake/Packaging/launch_mantidplot.sh.in
Expand Up @@ -9,7 +9,7 @@ SCRIPTFILE=$(readlink -f "$0")
INSTALLDIR=$(echo $SCRIPTFILE | sed -r -e 's|^(.*)/(.*)$|\1|g') #.* is greedy and eats up until the final slash

# Define extra libraries and load paths
LOCAL_PRELOAD=@TCMALLOC_PRELOAD@
LOCAL_PRELOAD=`readlink --no-newline --canonicalize-existing @TCMALLOC_LIBRARIES@`
if [ -n "${LD_PRELOAD}" ]; then
LOCAL_PRELOAD=${LOCAL_PRELOAD}:${LD_PRELOAD}
fi
Expand All @@ -20,5 +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 @WRAPPER_PREFIX@$INSTALLDIR/@MANTIDPLOT_EXEC@ $*@WRAPPER_POSTFIX@
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@
38 changes: 38 additions & 0 deletions Code/Mantid/Build/CMake/Packaging/mantidpython.in
@@ -0,0 +1,38 @@
#!/bin/sh
#
# Launch Mantidplot using any necessary LD_PRELOAD or software collection behaviour
#
# Script is configured by CMake

# Find out where we are
SCRIPTFILE=$(readlink -f "$0")
INSTALLDIR=$(echo $SCRIPTFILE | sed -r -e 's|^(.*)/(.*)$|\1|g') #.* is greedy and eats up until the final slash
IPYTHON=$(command -v ipython)

# Define extra libraries and load paths
LOCAL_PRELOAD=`readlink --no-newline --canonicalize-existing @TCMALLOC_LIBRARIES@`
if [ -n "${LD_PRELOAD}" ]; then
LOCAL_PRELOAD=${LOCAL_PRELOAD}:${LD_PRELOAD}
fi
LOCAL_LDPATH=@EXTRA_LDPATH@:${LD_LIBRARY_PATH}
if [ -z "${TCMALLOC_RELEASE_RATE}" ]; then
TCM_RELEASE=10000
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
LOCAL_PYTHONPATH=${LOCAL_PYTHONPATH}:${PYTHONPATH}
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@
2 changes: 2 additions & 0 deletions Code/Mantid/Build/CMake/PylintSetup.cmake
Expand Up @@ -32,10 +32,12 @@ if ( PYLINT_FOUND )
set ( PYLINT_INCLUDES
Framework/PythonInterface/plugins
scripts
Testing/SystemTests/tests/analysis
)
set ( PYLINT_EXCLUDES
scripts/lib1to2
scripts/test
Testing/SystemTests/tests/analysis/reference
)
add_custom_target ( pylintcheck
COMMAND ${PYTHON_EXECUTABLE} ${PYLINT_RUNNER_SCRIPT} --format=${PYLINT_OUTPUT_FORMAT}
Expand Down

0 comments on commit 04b34da

Please sign in to comment.