Skip to content

Commit

Permalink
Merge branch 'master' into bugfix/8492_fix_unreleased_poco_xml_object…
Browse files Browse the repository at this point in the history
…s_sinqhmlistener

Conflicts:
	Code/Mantid/Framework/SINQ/src/SINQHMListener.cpp

Merging master after the clang reformatting, there were no real conflicts
  • Loading branch information
FedeMPouzols committed Jan 13, 2015
2 parents b9b3799 + 0c2862e commit 95361b8
Show file tree
Hide file tree
Showing 3,322 changed files with 622,999 additions and 495,799 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
9 changes: 9 additions & 0 deletions Code/Mantid/Build/CMake/CommonSetup.cmake
Expand Up @@ -36,6 +36,10 @@ if ( stdint )
add_definitions ( -DHAVE_STDINT_H )
endif ( stdint )

# Configure a variable to hold the required test timeout value for all tests
set ( TESTING_TIMEOUT 300 CACHE INTEGER
"Timeout in seconds for each test (default 300=5minutes)")

###########################################################################
# Look for dependencies - bail out if any not found
###########################################################################
Expand Down Expand Up @@ -237,6 +241,11 @@ endif ()
###########################################################################
if ( CMAKE_COMPILER_IS_GNUCXX )
include ( GNUSetup )
elseif ( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" )
# Remove once clang warnings have been fixed.
if ( NOT APPLE)
include ( GNUSetup )
endif ()
endif ()

###########################################################################
Expand Down
12 changes: 7 additions & 5 deletions Code/Mantid/Build/CMake/DarwinSetup.cmake
Expand Up @@ -79,14 +79,16 @@ endif ()
###########################################################################
# Force 64-bit compiler as that's all we support
###########################################################################
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64" )

set ( CLANG_WARNINGS "-Wall -Wno-deprecated-register")

set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64 ${CLANG_WARNINGS}" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64 -std=c++0x" )
set ( CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++0x" )

if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-register" )
set ( CMAKE_XCODE_ATTRIBUTE_OTHER_CPLUSPLUSFLAGS "-Wno-deprecated-register")
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CLANG_WARNINGS} -stdlib=libc++" )
set ( CMAKE_XCODE_ATTRIBUTE_OTHER_CPLUSPLUSFLAGS "${CLANG_WARNINGS}")
set ( CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++" )
endif()

Expand Down Expand Up @@ -158,7 +160,7 @@ install ( DIRECTORY ${PYQT4_PYTHONPATH}/uic DESTINATION ${BIN_DIR}/PyQt4 )
file ( GLOB THIRDPARTY_PYTHON_PACKAGES ${CMAKE_LIBRARY_PATH}/Python/* )
foreach ( PYPACKAGE ${THIRDPARTY_PYTHON_PACKAGES} )
if ( IS_DIRECTORY ${PYPACKAGE} )
install ( DIRECTORY ${PYPACKAGE} DESTINATION ${BIN_DIR} )
install ( DIRECTORY ${PYPACKAGE} DESTINATION ${BIN_DIR} USE_SOURCE_PERMISSIONS )
else()
install ( FILES ${PYPACKAGE} DESTINATION ${BIN_DIR} )
endif()
Expand Down
4 changes: 4 additions & 0 deletions Code/Mantid/Build/CMake/FindCxxTest.cmake
Expand Up @@ -160,6 +160,8 @@ macro(CXXTEST_ADD_TEST _cxxtest_testname)
add_test ( NAME ${_cxxtest_separate_name}
COMMAND ${CMAKE_COMMAND} -E chdir "${CMAKE_BINARY_DIR}/bin/Testing"
$<TARGET_FILE:${_cxxtest_testname}> ${_suitename} )
set_tests_properties ( ${_cxxtest_separate_name} PROPERTIES
TIMEOUT ${TESTING_TIMEOUT} )

if (CXXTEST_ADD_PERFORMANCE)
# ------ Performance test version -------
Expand All @@ -175,6 +177,8 @@ macro(CXXTEST_ADD_TEST _cxxtest_testname)
add_test ( NAME ${_cxxtest_separate_name}
COMMAND ${CMAKE_COMMAND} -E chdir "${CMAKE_BINARY_DIR}/bin/Testing"
$<TARGET_FILE:${_cxxtest_testname}> ${_performance_suite_name} )
set_tests_properties ( ${_cxxtest_separate_name} PROPERTIES
TIMEOUT ${TESTING_TIMEOUT} )
endif ()
endif ()
endforeach ( part ${ARGN} )
Expand Down
25 changes: 12 additions & 13 deletions Code/Mantid/Build/CMake/FindPyUnitTest.cmake
Expand Up @@ -29,27 +29,26 @@ macro ( PYUNITTEST_ADD_TEST _test_src_dir _testname_prefix )
add_test ( NAME ${_pyunit_separate_name}_Debug CONFIGURATIONS Debug
COMMAND ${PYTHON_EXECUTABLE_DEBUG} -B ${_test_src_dir}/${_filename} )
# Set the PYTHONPATH so that the built modules can be found
set_property ( TEST ${_pyunit_separate_name}_Debug
PROPERTY ENVIRONMENT "PYTHONPATH=${_module_dir_debug}" )
set_property ( TEST ${_pyunit_separate_name}_Debug
PROPERTY WORKING_DIRECTORY ${_working_dir_debug} )

set_tests_properties ( ${_pyunit_separate_name}_Debug PROPERTIES
ENVIRONMENT "PYTHONPATH=${_module_dir_debug}"
WORKING_DIRECTORY ${_working_dir_debug}
TIMEOUT ${TESTING_TIMEOUT} )
# Release
add_test ( NAME ${_pyunit_separate_name} CONFIGURATIONS Release
COMMAND ${PYTHON_EXECUTABLE} -B ${_test_src_dir}/${_filename} )
# Set the PYTHONPATH so that the built modules can be found
set_property ( TEST ${_pyunit_separate_name}
PROPERTY ENVIRONMENT "PYTHONPATH=${_module_dir}" )
set_property ( TEST ${_pyunit_separate_name}
PROPERTY WORKING_DIRECTORY ${_working_dir} )
set_tests_properties ( ${_pyunit_separate_name} PROPERTIES
ENVIRONMENT "PYTHONPATH=${_module_dir}"
WORKING_DIRECTORY ${_working_dir}
TIMEOUT ${TESTING_TIMEOUT} )
else()
add_test ( NAME ${_pyunit_separate_name}
COMMAND ${PYTHON_EXECUTABLE} -B ${_test_src_dir}/${_filename} )
# Set the PYTHONPATH so that the built modules can be found
set_property ( TEST ${_pyunit_separate_name}
PROPERTY ENVIRONMENT "PYTHONPATH=${_module_dir}" )
set_property ( TEST ${_pyunit_separate_name}
PROPERTY WORKING_DIRECTORY ${_working_dir} )
set_tests_properties ( ${_pyunit_separate_name} PROPERTIES
ENVIRONMENT "PYTHONPATH=${_module_dir}"
WORKING_DIRECTORY ${_working_dir}
TIMEOUT ${TESTING_TIMEOUT} )
endif()
endforeach ( part ${ARGN} )
endmacro ( PYUNITTEST_ADD_TEST )
Expand Down
6 changes: 3 additions & 3 deletions Code/Mantid/Build/CMake/FindTcmalloc.cmake
Expand Up @@ -6,14 +6,14 @@
# TCMALLOC_LIBRARIES libraries to link against
# TCMALLOC_FOUND If false, do not try to use TCMALLOC

find_path ( TCMALLOC_INCLUDE_DIR tcmalloc.h
find_path ( TCMALLOC_INCLUDE_DIR tcmalloc.h
PATHS /usr/include/gperftools
)

find_library ( TCMALLOC_LIB NAMES tcmalloc tcmalloc_minimal )
find_library ( TCMALLOC_LIB NAMES tcmalloc_minimal tcmalloc )
set ( TCMALLOC_LIBRARIES ${TCMALLOC_LIB} )

# handle the QUIETLY and REQUIRED arguments and set TCMALLOC_FOUND to TRUE if
# handle the QUIETLY and REQUIRED arguments and set TCMALLOC_FOUND to TRUE if
# all listed variables are TRUE
include ( FindPackageHandleStandardArgs )
find_package_handle_standard_args( Tcmalloc DEFAULT_MSG TCMALLOC_LIBRARIES TCMALLOC_INCLUDE_DIR )
Expand Down
18 changes: 13 additions & 5 deletions Code/Mantid/Build/CMake/GNUSetup.cmake
Expand Up @@ -7,8 +7,12 @@
# for that project.

# Set our own compiler version flag from the cmake one and export it globally
set( GCC_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION} CACHE INTERNAL "")
message( STATUS "gcc version: ${GCC_COMPILER_VERSION}" )
if ( CMAKE_COMPILER_IS_GNUCXX )
set( GCC_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION} CACHE INTERNAL "")
message( STATUS "gcc version: ${GCC_COMPILER_VERSION}" )
elseif ( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" )
message( STATUS "clang version ${CMAKE_CXX_COMPILER_VERSION}" )
endif()

# Global warning flags.
set( GNUFLAGS "-Wall -Wextra -Wconversion -Winit-self -Wpointer-arith -Wcast-qual -Wcast-align -fno-common" )
Expand All @@ -20,9 +24,13 @@ 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
IF (GCC_COMPILER_VERSION VERSION_GREATER "4.3")
set(GNUFLAGS "${GNUFLAGS} -Wno-unused-result")
ENDIF (GCC_COMPILER_VERSION VERSION_GREATER "4.3")
if ( CMAKE_COMPILER_IS_GNUCXX )
if (GCC_COMPILER_VERSION VERSION_GREATER "4.3")
set(GNUFLAGS "${GNUFLAGS} -Wno-unused-result")
endif ()
elseif ( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" )
set(GNUFLAGS "${GNUFLAGS} -Wno-sign-conversion")
endif()

# Add some options for debug build to help the Zoom profiler
set( CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fno-omit-frame-pointer" )
Expand Down
145 changes: 145 additions & 0 deletions Code/Mantid/Build/CMake/LinuxPackageScripts.cmake
@@ -0,0 +1,145 @@
###########################################################################
# Define scripts for the Linux packages
#
# It provides:
# - launch_mantidplot.sh
#
###########################################################################

###########################################################################
# Set installation variables
###########################################################################
set ( BIN_DIR bin )
set ( ETC_DIR etc )
set ( LIB_DIR lib )
set ( PLUGINS_DIR plugins )
set ( PVPLUGINS_DIR pvplugins )
set ( PVPLUGINS_SUBDIR pvplugins ) # Need to tidy these things up!

if ( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT )
set ( CMAKE_INSTALL_PREFIX /opt/Mantid CACHE PATH "Install path" FORCE )
endif()

set ( CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${LIB_DIR};${CMAKE_INSTALL_PREFIX}/${PLUGINS_DIR};${CMAKE_INSTALL_PREFIX}/${PVPLUGINS_DIR} )

###########################################################################
# LD_PRELOAD libraries
###########################################################################
set ( EXTRA_LDPRELOAD_LIBS "${TCMALLOC_LIBRARIES}" )

###########################################################################
# Environment scripts (profile.d)
###########################################################################
# default shell (bash-like)
file ( WRITE ${CMAKE_CURRENT_BINARY_DIR}/mantid.sh
"#!/bin/sh\n"
"MANTIDPATH=${CMAKE_INSTALL_PREFIX}/${BIN_DIR}\n"
"PV_PLUGIN_PATH=${CMAKE_INSTALL_PREFIX}/${PVPLUGINS_DIR}/${PVPLUGINS_DIR}\n"
"PATH=$PATH:$MANTIDPATH\n"
"PYTHONPATH=$MANTIDPATH:$PYTHONPATH\n"

"export MANTIDPATH PV_PLUGIN_PATH PATH PYTHONPATH\n"
)

# c-shell
file ( WRITE ${CMAKE_CURRENT_BINARY_DIR}/mantid.csh
"#!/bin/csh\n"
"setenv MANTIDPATH \"${CMAKE_INSTALL_PREFIX}/${BIN_DIR}\"\n"
"setenv PV_PLUGIN_PATH \"${CMAKE_INSTALL_PREFIX}/${PVPLUGINS_DIR}/${PVPLUGINS_DIR}\"\n"
"setenv PATH \"\${PATH}:\${MANTIDPATH}\"\n"

"if ($?PYTHONPATH) then\n"
" setenv PYTHONPATH \"\${MANTIDPATH}:\${PYTHONPATH}\"\n"
"else\n"
" setenv PYTHONPATH \"\${MANTIDPATH}\"\n"
"endif\n"
)

install ( PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/mantid.sh
${CMAKE_CURRENT_BINARY_DIR}/mantid.csh
DESTINATION ${ETC_DIR}
)

############################################################################
# Setup file variables for pre/post installation
# These are very different depending on the distribution so are contained
# in the Packaging/*/scripts directory as CMake templates
############################################################################
if ( NOT MPI_BUILD )
set ( ENVVARS_ON_INSTALL ON CACHE BOOL
"Whether to include the scripts in /etc/profile.d to set the MANTIDPATH variable and add it to PATH. Turning this off allows installing locally without being root." )
endif()
# for shell maintainer scripts as ENVVARS_ON_INSTALL could have ON, OFF, True, False etc
if ( ENVVARS_ON_INSTALL )
set ( ENVVARS_ON_INSTALL_INT 1 )
else ()
set ( ENVVARS_ON_INSTALL_INT 0 )
endif()

# Common filenames to hold maintainer scripts
set ( PRE_INSTALL_FILE ${CMAKE_CURRENT_BINARY_DIR}/preinst )
set ( POST_INSTALL_FILE ${CMAKE_CURRENT_BINARY_DIR}/postinst )
set ( PRE_UNINSTALL_FILE ${CMAKE_CURRENT_BINARY_DIR}/prerm )
set ( POST_UNINSTALL_FILE ${CMAKE_CURRENT_BINARY_DIR}/postrm )

if ( "${UNIX_DIST}" MATCHES "RedHatEnterprise" OR "${UNIX_DIST}" MATCHES "^Fedora" ) # RHEL/Fedora
if ( "${UNIX_CODENAME}" MATCHES "Santiago" ) # el6
set ( WRAPPER_COMMAND "scl enable mantidlibs" )
set ( EXTRA_LDPATH "/usr/lib64/paraview" )
else()
set ( WRAPPER_COMMAND "eval" )
endif()

if ( NOT MPI_BUILD )
configure_file ( ${CMAKE_MODULE_PATH}/Packaging/rpm/scripts/rpm_pre_install.sh.in
${PRE_INSTALL_FILE} @ONLY )
configure_file ( ${CMAKE_MODULE_PATH}/Packaging/rpm/scripts/rpm_post_install.sh.in
${POST_INSTALL_FILE} @ONLY )
configure_file ( ${CMAKE_MODULE_PATH}/Packaging/rpm/scripts/rpm_pre_uninstall.sh.in
${PRE_UNINSTALL_FILE} @ONLY )
configure_file ( ${CMAKE_MODULE_PATH}/Packaging/rpm/scripts/rpm_post_uninstall.sh.in
${POST_UNINSTALL_FILE} @ONLY )
# CPack variables
set ( CPACK_RPM_PRE_INSTALL_SCRIPT_FILE ${PRE_INSTALL_FILE} )
set ( CPACK_RPM_POST_INSTALL_SCRIPT_FILE ${POST_INSTALL_FILE} )
set ( CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE ${PRE_UNINSTALL_FILE} )
set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE ${POST_UNINSTALL_FILE} )
endif()
elseif ( "${UNIX_DIST}" MATCHES "Ubuntu" )
set ( WRAPPER_COMMAND "eval" )

if ( NOT MPI_BUILD )
configure_file ( ${CMAKE_MODULE_PATH}/Packaging/deb/scripts/deb_pre_inst.in
${PRE_INSTALL_FILE} @ONLY )
configure_file ( ${CMAKE_MODULE_PATH}/Packaging/deb/scripts/deb_post_inst.in
${POST_INSTALL_FILE} @ONLY )
configure_file ( ${CMAKE_MODULE_PATH}/Packaging/deb/scripts/deb_pre_rm.in
${PRE_UNINSTALL_FILE} @ONLY )
# No postrm script as dpkg removes empty directories if everything else is tidied away.

# CPack variables
set ( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
"${PRE_INSTALL_FILE};${POST_INSTALL_FILE};${PRE_UNINSTALL_FILE}" )
endif()
endif()

############################################################################
# MantidPlot launcher script
############################################################################
# Local dev version
set ( MANTIDPLOT_EXEC MantidPlot )
configure_file ( ${CMAKE_MODULE_PATH}/Packaging/launch_mantidplot.sh.in
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/launch_mantidplot.sh @ONLY )
# Needs to be executable
execute_process ( COMMAND "chmod" "+x" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/launch_mantidplot.sh"
OUTPUT_QUIET ERROR_QUIET )
# Package version
set ( MANTIDPLOT_EXEC MantidPlot_exe )
configure_file ( ${CMAKE_MODULE_PATH}/Packaging/launch_mantidplot.sh.in
${CMAKE_CURRENT_BINARY_DIR}/launch_mantidplot.sh.install @ONLY )
install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/launch_mantidplot.sh.install
DESTINATION ${BIN_DIR} RENAME launch_mantidplot.sh
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
)

0 comments on commit 95361b8

Please sign in to comment.