Skip to content

Commit

Permalink
Merge branch 'master' into feature/7860_indirect_symmetrise
Browse files Browse the repository at this point in the history
Conflicts:
	Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/Symmetrise.py

Refs #7860
  • Loading branch information
DanNixon committed Aug 19, 2014
2 parents 19b887b + 5a7c31a commit 028182b
Show file tree
Hide file tree
Showing 4,202 changed files with 498,120 additions and 77,434 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
14 changes: 11 additions & 3 deletions CONTRIBUTING.md
@@ -1,6 +1,14 @@
The [developer documentation](http://www.mantidproject.org/Category:Development) has information on how to participate in the mantid project as a developer. This document is meant to outline the steps for contributing to mantid without becomming a developer.

1. Fork the repository.
1. [Fork](https://help.github.com/articles/fork-a-repo) the repository.
2. Make changes as you see fit. Please still follow the guidelines for [running the unit tests](http://www.mantidproject.org/Running_the_unit_tests) and the [build servers](http://www.mantidproject.org/The_automated_build_process).
3. Submit a [pull request](https://help.github.com/articles/using-pull-requests). Pull requests work best if you do your work on a branch rather than in the master.
4. Email mantid-help@mantidproject.org as an extra poke to get people to notice your change. The mantid project does not use pull requests internally so the extra notification makes sure that people notice the request.
3. Before submitting pull requests email mantid-help@mantidproject.org, and a developer will set up a branch that you can submit pull requests to.
4. Submit a [pull request](https://help.github.com/articles/using-pull-requests) to this branch.


Hints to make the integration of your changes easy:
- Keep your pull requests small
- Don't forget your unit tests
- All algorithms need documentation, don't forget the .rst file
- Contact us before creating the pull request
- Don't take changes requests to change your code personally
33 changes: 12 additions & 21 deletions Code/Mantid/Build/CMake/CPackLinuxSetup.cmake
Expand Up @@ -11,7 +11,7 @@ set ( CPACK_SOURCE_GENERATOR TGZ )
include (DetermineLinuxDistro)

# define which binary generators to use
if ( ${UNIX_DIST} MATCHES "Ubuntu" )
if ( "${UNIX_DIST}" MATCHES "Ubuntu" )
find_program (DPKG_CMD dpkg)
if ( DPKG_CMD )
set ( CPACK_GENERATOR "DEB" )
Expand All @@ -22,32 +22,23 @@ if ( ${UNIX_DIST} MATCHES "Ubuntu" )
set( CPACK_PACKAGE_FILE_NAME
"${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}-${CPACK_DEBIAN_PACKAGE_RELEASE}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
endif ( DPKG_CMD )
endif ( ${UNIX_DIST} MATCHES "Ubuntu" )
endif ( "${UNIX_DIST}" MATCHES "Ubuntu" )

#RedHatEnterpriseClient RedHatEnterpriseWorkstation
if ( ${UNIX_DIST} MATCHES "RedHatEnterprise" OR ${UNIX_DIST} MATCHES "Fedora" OR ${UNIX_DIST} MATCHES "SUSE LINUX" )
if ( "${UNIX_DIST}" MATCHES "RedHatEnterprise" OR "${UNIX_DIST}" MATCHES "Fedora" OR "${UNIX_DIST}" MATCHES "SUSE LINUX" )
find_program ( RPMBUILD_CMD rpmbuild )
if ( RPMBUILD_CMD )
set ( CPACK_GENERATOR "RPM" )
set ( CPACK_RPM_PACKAGE_ARCHITECTURE "${CMAKE_SYSTEM_PROCESSOR}" )
set ( CPACK_RPM_PACKAGE_URL "http://www.mantidproject.org" )

# reset the release name to include the RHEL version if known
if ( ${UNIX_CODENAME} MATCHES "Tikanga" )
set ( CPACK_RPM_PACKAGE_RELEASE "${CPACK_RPM_PACKAGE_RELEASE}.el5" )
elseif ( ${UNIX_CODENAME} MATCHES "Santiago" )
set ( CPACK_RPM_PACKAGE_RELEASE "${CPACK_RPM_PACKAGE_RELEASE}.el6" )
elseif ( ${UNIX_CODENAME} MATCHES "Laughlin" )
set ( CPACK_RPM_PACKAGE_RELEASE "${CPACK_RPM_PACKAGE_RELEASE}.fc14" )
elseif ( ${UNIX_CODENAME} MATCHES "Lovelock" )
set ( CPACK_RPM_PACKAGE_RELEASE "${CPACK_RPM_PACKAGE_RELEASE}.fc15" )
elseif ( ${UNIX_CODENAME} MATCHES "Verne" )
set ( CPACK_RPM_PACKAGE_RELEASE "${CPACK_RPM_PACKAGE_RELEASE}.fc16" )
elseif ( ${UNIX_CODENAME} MATCHES "BeefyMiracle" )
set ( CPACK_RPM_PACKAGE_RELEASE "${CPACK_RPM_PACKAGE_RELEASE}.fc17" )
elseif ( ${UNIX_CODENAME} MATCHES "SphericalCow" )
set ( CPACK_RPM_PACKAGE_RELEASE "${CPACK_RPM_PACKAGE_RELEASE}.fc18" )
elseif ( ${UNIX_CODENAME} MATCHES "Heisenbug" )
set ( CPACK_RPM_PACKAGE_RELEASE "${CPACK_RPM_PACKAGE_RELEASE}.fc20" )
endif ( ${UNIX_CODENAME} MATCHES "Tikanga" )
if ( "${UNIX_DIST}" MATCHES "RedHatEnterprise" )
string ( REGEX REPLACE "^([0-9])\\.[0-9]+$" "\\1" TEMP ${UNIX_RELEASE} )
set ( CPACK_RPM_PACKAGE_RELEASE "1.el${TEMP}" )
elseif ( "${UNIX_DIST}" MATCHES "Fedora" )
set ( CPACK_RPM_PACKAGE_RELEASE "1.fc${UNIX_RELEASE}" )
endif ( "${UNIX_DIST}" MATCHES "RedHatEnterprise" )

# If CPACK_SET_DESTDIR is ON then the Prefix doesn't get put in the spec file
if( CPACK_SET_DESTDIR )
Expand All @@ -59,5 +50,5 @@ if ( ${UNIX_DIST} MATCHES "RedHatEnterprise" OR ${UNIX_DIST} MATCHES "Fedora" OR
set ( CPACK_PACKAGE_FILE_NAME
"${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}.${CPACK_RPM_PACKAGE_ARCHITECTURE}" )
endif ( RPMBUILD_CMD)
endif ( ${UNIX_DIST} MATCHES "RedHatEnterprise" OR ${UNIX_DIST} MATCHES "Fedora" OR ${UNIX_DIST} MATCHES "SUSE LINUX" )
endif ()

15 changes: 14 additions & 1 deletion Code/Mantid/Build/CMake/CommonSetup.cmake
Expand Up @@ -214,6 +214,14 @@ include ( VersionNumber )
###########################################################################

find_package ( OpenMP )
if ( OPENMP_FOUND )
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}" )
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}" )
if ( NOT WIN32 )
set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${OpenMP_CXX_FLAGS}" )
endif ()
endif ()


###########################################################################
# Add linux-specific things
Expand All @@ -234,6 +242,11 @@ endif ()
###########################################################################
include ( CppCheckSetup )

###########################################################################
# Setup pylint
###########################################################################
include ( PylintSetup )

###########################################################################
# Set up the unit tests target
###########################################################################
Expand All @@ -252,7 +265,7 @@ endif ()
find_package ( GMock )

if ( GMOCK_FOUND AND GTEST_FOUND )
message ( STATUS "GMock/GTest is available for unit tests." )
message ( STATUS "GMock/GTest (${GMOCK_VERSION}) is available for unit tests." )
else ()
message ( STATUS "GMock/GTest is not available. Some unit tests will not run." )
endif()
Expand Down
124 changes: 81 additions & 43 deletions Code/Mantid/Build/CMake/DarwinSetup.cmake
@@ -1,12 +1,59 @@
###########################################################################
# Determine the version of OS X that we are running
###########################################################################

# Set the system name (and remove the space)
execute_process(
COMMAND /usr/bin/sw_vers -productVersion
OUTPUT_VARIABLE OSX_VERSION
RESULT_VARIABLE OSX_VERSION_STATUS
)
# Strip off any /CR or /LF
string(STRIP ${OSX_VERSION} OSX_VERSION)

if (OSX_VERSION VERSION_LESS 10.6)
message (FATAL_ERROR "The minimum supported version of Mac OS X is 10.6 (Snow Leopard).")
endif()

if (OSX_VERSION VERSION_GREATER 10.6 OR OSX_VERSION VERSION_EQUAL 10.6)
set ( OSX_CODENAME "Snow Leopard" )
endif()

if (OSX_VERSION VERSION_GREATER 10.7 OR OSX_VERSION VERSION_EQUAL 10.7)
set ( OSX_CODENAME "Lion")
endif()

if (OSX_VERSION VERSION_GREATER 10.8 OR OSX_VERSION VERSION_EQUAL 10.8)
set ( OSX_CODENAME "Mountain Lion")
endif()

if (OSX_VERSION VERSION_GREATER 10.9 OR OSX_VERSION VERSION_EQUAL 10.9)
set ( OSX_CODENAME "Mavericks")

endif()

# Export variables globally
set(OSX_VERSION ${OSX_VERSION} CACHE INTERNAL "")
set(OSX_CODENAME ${OSX_CODENAME} CACHE INTERNAL "")

message (STATUS "Operating System: Mac OS X ${OSX_VERSION} (${OSX_CODENAME})")

###########################################################################
# Set include and library directories so that CMake finds Third_Party
###########################################################################
set ( CMAKE_INCLUDE_PATH "${THIRD_PARTY}/include" )
set ( BOOST_INCLUDEDIR "${THIRD_PARTY}/include" )

set ( CMAKE_LIBRARY_PATH "${THIRD_PARTY}/lib/mac64" )
set ( BOOST_LIBRARYDIR "${THIRD_PARTY}/lib/mac64" )
# Only use Third_Party for OS X older than Mavericks (10.9)
if (OSX_VERSION VERSION_LESS 10.9)
message ( STATUS "Using Third_Party.")

set ( CMAKE_INCLUDE_PATH "${THIRD_PARTY}/include" )
set ( BOOST_INCLUDEDIR "${THIRD_PARTY}/include" )

set ( CMAKE_LIBRARY_PATH "${THIRD_PARTY}/lib/mac64" )
set ( BOOST_LIBRARYDIR "${THIRD_PARTY}/lib/mac64" )
else()
message ( STATUS "OS X Mavericks - Not using Mantid Third_Party libraries.")
endif()

# Enable the use of the -isystem flag to mark headers in Third_Party as system headers
set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem ")
Expand All @@ -25,7 +72,7 @@ if ( PYTHON_VERSION_MAJOR )
set ( PY_VER "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" )
message ( STATUS "Python version is " ${PY_VER} )
else ()
# Older versions of CMake don't set these variables so just assume 2.6 as before
# Older versions of CMake don't set these variables so just assume 2.7
set ( PY_VER 2.7 )
endif ()

Expand All @@ -48,6 +95,7 @@ endif()
set ( CMAKE_INSTALL_PREFIX "" )
set ( CPACK_PACKAGE_EXECUTABLES MantidPlot )
set ( INBUNDLE MantidPlot.app/ )

# We know exactly where this has to be on Darwin
set ( PARAVIEW_APP_DIR "/Applications/${OSX_PARAVIEW_APP}" )
set ( PARAVIEW_APP_BIN_DIR "${PARAVIEW_APP_DIR}/Contents/MacOS" )
Expand All @@ -60,69 +108,59 @@ set ( PLUGINS_DIR MantidPlot.app/plugins )
set ( PVPLUGINS_DIR MantidPlot.app/pvplugins )
set ( PVPLUGINS_SUBDIR pvplugins ) # Need to tidy these things up!

if (OSX_VERSION VERSION_LESS 10.9)
set ( PYQT4_PYTHONPATH /Library/Python/${PY_VER}/site-packages/PyQt4 )
set ( SITEPACKAGES /Library/Python/${PY_VER}/site-packages )
else()
# Assume we are using homebrew for now
set ( PYQT4_PYTHONPATH /usr/local/lib/python${PY_VER}/site-packages/PyQt4 )
set ( SITEPACKAGES /usr/local/lib/python${PY_VER}/site-packages )
endif()

# Python packages

install ( PROGRAMS /Library/Python/${PY_VER}/site-packages/sip.so DESTINATION ${BIN_DIR} )
install ( PROGRAMS ${SITEPACKAGES}/sip.so DESTINATION ${BIN_DIR} )

# Explicitly specify which PyQt libraries we want because just taking the whole
# directory will swell the install kit unnecessarily.
install ( FILES /Library/Python/${PY_VER}/site-packages/PyQt4/Qt.so
/Library/Python/${PY_VER}/site-packages/PyQt4/QtCore.so
/Library/Python/${PY_VER}/site-packages/PyQt4/QtGui.so
/Library/Python/${PY_VER}/site-packages/PyQt4/QtOpenGL.so
/Library/Python/${PY_VER}/site-packages/PyQt4/QtSql.so
/Library/Python/${PY_VER}/site-packages/PyQt4/QtSvg.so
/Library/Python/${PY_VER}/site-packages/PyQt4/QtXml.so
/Library/Python/${PY_VER}/site-packages/PyQt4/__init__.py
install ( FILES ${PYQT4_PYTHONPATH}/Qt.so
${PYQT4_PYTHONPATH}/QtCore.so
${PYQT4_PYTHONPATH}/QtGui.so
${PYQT4_PYTHONPATH}/QtOpenGL.so
${PYQT4_PYTHONPATH}/QtSql.so
${PYQT4_PYTHONPATH}/QtSvg.so
${PYQT4_PYTHONPATH}/QtXml.so
${PYQT4_PYTHONPATH}/__init__.py
DESTINATION ${BIN_DIR}/PyQt4 )
# Newer PyQt versions have a new internal library that we need to take
if ( EXISTS /Library/Python/${PY_VER}/site-packages/PyQt4/_qt.so )
install ( FILES /Library/Python/${PY_VER}/site-packages/PyQt4/_qt.so
if ( EXISTS ${PYQT4_PYTHONPATH}/_qt.so )
install ( FILES ${PYQT4_PYTHONPATH}/_qt.so
DESTINATION ${BIN_DIR}/PyQt4 )
endif ()

install ( DIRECTORY /Library/Python/${PY_VER}/site-packages/PyQt4/uic DESTINATION ${BIN_DIR}/PyQt4 )
install ( DIRECTORY ${PYQT4_PYTHONPATH}/uic DESTINATION ${BIN_DIR}/PyQt4 )

# Python packages in Third_Party need copying to build directory and the final package
file ( GLOB THIRDPARTY_PYTHON_PACKAGES ${CMAKE_LIBRARY_PATH}/Python/* )
foreach ( PYPACKAGE ${THIRDPARTY_PYTHON_PACKAGES} )
install ( DIRECTORY ${PYPACKAGE} DESTINATION ${BIN_DIR} )
if ( IS_DIRECTORY ${PYPACKAGE} )
install ( DIRECTORY ${PYPACKAGE} DESTINATION ${BIN_DIR} )
endif()
file ( COPY ${PYPACKAGE} DESTINATION ${PROJECT_BINARY_DIR}/bin )
endforeach( PYPACKAGE )

install ( DIRECTORY ${QT_PLUGINS_DIR}/imageformats DESTINATION MantidPlot.app/Contents/Frameworks/plugins )
install ( DIRECTORY ${QT_PLUGINS_DIR}/sqldrivers DESTINATION MantidPlot.app/Contents/Frameworks/plugins )

install ( FILES ${CMAKE_SOURCE_DIR}/Images/MantidPlot.icns
${CMAKE_SOURCE_DIR}/Installers/MacInstaller/qt.conf
DESTINATION MantidPlot.app/Contents/Resources/
)

set ( CPACK_DMG_BACKGROUND_IMAGE ${CMAKE_SOURCE_DIR}/Images/osx-bundle-background.png )
set ( CPACK_DMG_DS_STORE ${CMAKE_SOURCE_DIR}/Installers/MacInstaller/osx_DS_Store)
set ( MACOSX_BUNDLE_ICON_FILE MantidPlot.icns )

# Set the system name (and remove the space)
execute_process(
COMMAND /usr/bin/sw_vers -productVersion
OUTPUT_VARIABLE OSX_VERSION
RESULT_VARIABLE OSX_VERSION_STATUS
)

# Strip off any /CR or /LF
string(STRIP ${OSX_VERSION} OSX_VERSION)

if (OSX_VERSION VERSION_LESS 10.8)
message (FATAL_ERROR "The minimum supported version of Mac OS X is 10.8 (Mountain Lion).")
endif()

if (OSX_VERSION VERSION_GREATER 10.8 OR OSX_VERSION VERSION_EQUAL 10.8)
set ( OSX_CODENAME "Mountain Lion")
endif()

if (OSX_VERSION VERSION_GREATER 10.9 OR OSX_VERSION VERSION_EQUAL 10.9)
set ( OSX_CODENAME "Mavericks")
endif()

message (STATUS "Operating System: Mac OS X ${OSX_VERSION} (${OSX_CODENAME})")

string (REPLACE " " "" CPACK_SYSTEM_NAME ${OSX_CODENAME})

set ( CPACK_GENERATOR DragNDrop )

9 changes: 8 additions & 1 deletion Code/Mantid/Build/CMake/DetermineLinuxDistro.cmake
Expand Up @@ -21,8 +21,15 @@ if ( LSB_CMD )
# Make Scientific Linux and CentOS look like RHEL6
string ( REGEX REPLACE "Carbon" "Santiago" UNIX_DIST ${UNIX_DIST} )
string ( REGEX REPLACE "Final" "Santiago" UNIX_DIST ${UNIX_DIST} )
# get the release
execute_process ( COMMAND ${LSB_CMD} -r
OUTPUT_VARIABLE UNIX_RELEASE
OUTPUT_STRIP_TRAILING_WHITESPACE )
string ( REGEX REPLACE "Release:" "" UNIX_RELEASE ${UNIX_RELEASE} )
string ( STRIP ${UNIX_RELEASE} UNIX_RELEASE )
else ( LSB_CMD )
set ( UNIX_DIST "" )
set ( UNIX_CODENAME "" )
set ( UNIX_RELEASE "" )
endif ( LSB_CMD )
message ( STATUS " DIST: ${UNIX_DIST} CODENAME: ${UNIX_CODENAME}" )
message ( STATUS " DIST: ${UNIX_DIST} ${UNIX_RELEASE} CODENAME: ${UNIX_CODENAME}" )
4 changes: 2 additions & 2 deletions Code/Mantid/Build/CMake/EmbeddedGTest.cmake
Expand Up @@ -3,8 +3,8 @@
# GTEST_FOUND If false, do not try to use Google Test

find_path ( GTEST_INCLUDE_DIR gtest/gtest.h
PATHS ${PROJECT_SOURCE_DIR}/TestingTools/gmock-1.6.0/gtest/include
${PROJECT_SOURCE_DIR}/../TestingTools/gmock-1.6.0/gtest/include
PATHS ${PROJECT_SOURCE_DIR}/TestingTools/gmock-${GMOCK_VERSION}/gtest/include
${PROJECT_SOURCE_DIR}/../TestingTools/gmock-${GMOCK_VERSION}/gtest/include
NO_DEFAULT_PATH )

# handle the QUIETLY and REQUIRED arguments and set GTEST_FOUND to TRUE if
Expand Down
18 changes: 16 additions & 2 deletions Code/Mantid/Build/CMake/FindGMock.cmake
Expand Up @@ -2,9 +2,23 @@
# GMOCK_INCLUDE_DIR where to find gmock.h
# GMOCK_FOUND If false, do not try to use Google Mock

# Which version of gmock are we going to use ?
# GCC >4.7 and Clang use 1.7.0
# everything else, stick with 1.6.0
IF (CMAKE_COMPILER_IS_GNUCXX AND GCC_COMPILER_VERSION VERSION_GREATER "4.7")
set (GMOCK_VERSION "1.7.0")
ELSEIF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set (GMOCK_VERSION "1.7.0")
ELSE()
set (GMOCK_VERSION "1.6.0")
ENDIF()

# Make GMOCK_VERSION available everywhere
set (GMOCK_VERSION ${GMOCK_VERSION} CACHE INTERNAL "")

find_path ( GMOCK_INCLUDE_DIR gmock/gmock.h
PATHS ${PROJECT_SOURCE_DIR}/TestingTools/gmock-1.6.0/include
${PROJECT_SOURCE_DIR}/../TestingTools/gmock-1.6.0/include
PATHS ${PROJECT_SOURCE_DIR}/TestingTools/gmock-${GMOCK_VERSION}/include
${PROJECT_SOURCE_DIR}/../TestingTools/gmock-${GMOCK_VERSION}/include
NO_DEFAULT_PATH )

SET(GMOCK_LIB gmock)
Expand Down
18 changes: 18 additions & 0 deletions Code/Mantid/Build/CMake/FindOpenCascade.cmake
Expand Up @@ -7,6 +7,7 @@ find_path ( OPENCASCADE_INCLUDE_DIR Standard.hxx PATHS
/usr/include/opencascade
/usr/include/oce
/usr/local/include/opencascade
/usr/local/include/oce
/usr/local/inc
/opt/OpenCASCADE/inc
${CMAKE_INCLUDE_PATH}/OpenCascade
Expand Down Expand Up @@ -51,6 +52,18 @@ find_library ( OPENCASCADE_LIB_TKG2D
PATHS ${OC_REDHAT_RPM}
)

find_library ( OPENCASCADE_LIB_TKG3D
NAMES TKG3d
)

find_library ( OPENCASCADE_LIB_TKGEOMBASE
NAMES TKGeomBase
)

find_library ( OPENCASCADE_LIB_TKGEOMAlgo
NAMES TKGeomAlgo
)

set ( OPENCASCADE_LIBRARIES
${OPENCASCADE_LIB_TKERNEL}
${OPENCASCADE_LIB_TKBO}
Expand All @@ -60,6 +73,9 @@ set ( OPENCASCADE_LIBRARIES
${OPENCASCADE_LIB_TKTOPALGO}
${OPENCASCADE_LIB_TKMATH}
${OPENCASCADE_LIB_TKG2D}
${OPENCASCADE_LIB_TKG3D}
${OPENCASCADE_LIB_TKGEOMBASE}
${OPENCASCADE_LIB_TKGEOMALGO}
)

# handle the QUIETLY and REQUIRED arguments and set OPENCASCADE_FOUND to TRUE if
Expand All @@ -72,4 +88,6 @@ mark_as_advanced ( OPENCASCADE_INCLUDE_DIR
OPENCASCADE_LIB_TKPRIM OPENCASCADE_LIB_TKMESH
OPENCASCADE_LIB_TKBREP OPENCASCADE_LIB_TKTOPALGO
OPENCASCADE_LIB_TKMATH OPENCASCADE_LIB_TKG2D
OPENCASCADE_LIB_TKG3D OPENCASCADE_LIB_TKGEOMBASE
OPENCASCADE_LIB_TKGEOMALGO
)

0 comments on commit 028182b

Please sign in to comment.