Skip to content

Commit

Permalink
Merge branch 'master' into feature/10271_tcmalloc_ldpreload
Browse files Browse the repository at this point in the history
Conflicts:
	Code/Mantid/Build/CMake/FindTcmalloc.cmake
	Code/Mantid/Framework/API/src/MemoryManager.cpp
	Code/Mantid/Framework/Kernel/CMakeLists.txt
	Code/Mantid/Framework/Kernel/src/Memory.cpp
	Code/Mantid/Framework/PythonInterface/mantid/api/CMakeLists.txt
	Code/Mantid/Framework/PythonInterface/mantid/geometry/CMakeLists.txt
	Code/Mantid/Framework/PythonInterface/mantid/kernel/CMakeLists.txt
Refs #10271
  • Loading branch information
martyngigg committed Nov 21, 2014
2 parents 8c4df19 + 9c7f0ee commit 3b15699
Show file tree
Hide file tree
Showing 898 changed files with 71,090 additions and 25,069 deletions.
2 changes: 2 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
BasedOnStyle: LLVM

4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -162,4 +162,8 @@ Desktop.ini
# Mac OS X Finder
.DS_Store

# Ctags index files
.tags
.tags_sorted_by_file

Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/inc/MantidVatesSimpleGuiViewWidgets/LibHelper.h
2 changes: 1 addition & 1 deletion Code/Mantid/Build/CMake/CommonSetup.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ add_definitions ( -DBOOST_ALL_DYN_LINK )
# Need this defined globally for our log time values
add_definitions ( -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG )

find_package ( Poco REQUIRED )
find_package ( Poco 1.4.2 REQUIRED )
include_directories( SYSTEM ${POCO_INCLUDE_DIRS} )

find_package ( Nexus 4.3.0 REQUIRED )
Expand Down
16 changes: 16 additions & 0 deletions Code/Mantid/Build/CMake/DarwinSetup.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,14 @@ endif ()
###########################################################################
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64" )
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_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++" )
endif()

if( ${CMAKE_C_COMPILER} MATCHES "icc.*$" )
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -no-intel-extensions" )
Expand Down Expand Up @@ -113,8 +121,14 @@ if (OSX_VERSION VERSION_LESS 10.9)
set ( SITEPACKAGES /Library/Python/${PY_VER}/site-packages )
else()
# Assume we are using homebrew for now
# set Deployment target to 10.8
set ( CMAKE_OSX_SYSROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk )
set ( CMAKE_OSX_ARCHITECTURES x86_64 )
set ( CMAKE_OSX_DEPLOYMENT_TARGET 10.8 )
set ( PYQT4_PYTHONPATH /usr/local/lib/python${PY_VER}/site-packages/PyQt4 )
set ( SITEPACKAGES /usr/local/lib/python${PY_VER}/site-packages )
# use homebrew OpenSSL package
set ( OPENSSL_ROOT_DIR /usr/local/opt/openssl )
endif()

# Python packages
Expand Down Expand Up @@ -145,6 +159,8 @@ file ( GLOB THIRDPARTY_PYTHON_PACKAGES ${CMAKE_LIBRARY_PATH}/Python/* )
foreach ( PYPACKAGE ${THIRDPARTY_PYTHON_PACKAGES} )
if ( IS_DIRECTORY ${PYPACKAGE} )
install ( DIRECTORY ${PYPACKAGE} DESTINATION ${BIN_DIR} )
else()
install ( FILES ${PYPACKAGE} DESTINATION ${BIN_DIR} )
endif()
file ( COPY ${PYPACKAGE} DESTINATION ${PROJECT_BINARY_DIR}/bin )
endforeach( PYPACKAGE )
Expand Down
36 changes: 34 additions & 2 deletions Code/Mantid/Build/CMake/FindPoco.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,42 @@ set ( POCO_LIBRARIES ${POCO_LIB_FOUNDATION}

endif()

# Set a version string by examining either the Poco/Version.h header or
# the Poco/Foundation.h header if Version.h does not exist
if( POCO_INCLUDE_DIR )
if ( EXISTS ${POCO_INCLUDE_DIR}/Poco/Version.h )
set ( VERSION_FILE ${POCO_INCLUDE_DIR}/Poco/Version.h )
else ()
set ( VERSION_FILE ${POCO_INCLUDE_DIR}/Poco/Foundation.h )
endif ()
# regex quantifiers like {8} don't seem to work so we'll stick with + even though
# it's not strictly true
set ( VERS_REGEX "^#define[ \t]+POCO_VERSION[ \t]+0x([0-9]+)$" )
file ( STRINGS ${VERSION_FILE} POCO_VERSION REGEX ${VERS_REGEX} )
# pull out just the part after the 0x
string( REGEX REPLACE ${VERS_REGEX} "\\1" POCO_VERSION ${POCO_VERSION} )
# Pretty format
string( SUBSTRING ${POCO_VERSION} 0 2 POCO_VERSION_MAJOR )
string( REGEX REPLACE "^0" "" POCO_VERSION_MAJOR ${POCO_VERSION_MAJOR} )
string( SUBSTRING ${POCO_VERSION} 2 2 POCO_VERSION_MINOR )
string( REGEX REPLACE "^0" "" POCO_VERSION_MINOR ${POCO_VERSION_MINOR} )
string( SUBSTRING ${POCO_VERSION} 4 2 POCO_VERSION_PATCH )
string( REGEX REPLACE "^0" "" POCO_VERSION_PATCH ${POCO_VERSION_PATCH} )

set ( POCO_VERSION "${POCO_VERSION_MAJOR}.${POCO_VERSION_MINOR}.${POCO_VERSION_PATCH}" )
endif()


# handle the QUIETLY and REQUIRED arguments and set POCO_FOUND to TRUE if
# all listed variables are TRUE
include ( FindPackageHandleStandardArgs )
find_package_handle_standard_args( Poco DEFAULT_MSG POCO_LIBRARIES POCO_INCLUDE_DIR )
if (POCO_VERSION)
find_package_handle_standard_args( Poco REQUIRED_VARS POCO_LIBRARIES POCO_INCLUDE_DIR
VERSION_VAR POCO_VERSION )
else ()
message (status "Failed to determine Poco version: Ignoring requirement")
find_package_handle_standard_args( Poco DEFAULT_MSG POCO_LIBRARIES POCO_INCLUDE_DIR )
endif ()

mark_as_advanced ( POCO_INCLUDE_DIR
POCO_LIB_FOUNDATION POCO_LIB_FOUNDATION_DEBUG
Expand All @@ -59,4 +91,4 @@ mark_as_advanced ( POCO_INCLUDE_DIR
POCO_LIB_NET POCO_LIB_NET_DEBUG
POCO_LIB_CRYPTO POCO_LIB_CRYPTO_DEBUG
POCO_LIB_NETSSL POCO_LIB_NETSSL_DEBUG
)
)
57 changes: 40 additions & 17 deletions Code/Mantid/Build/CMake/FindPyQt.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,48 @@
# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
# Copyright (c) 2014, Raphael Kubo da Costa <rakuco@FreeBSD.org>
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.

import PyQt4.pyqtconfig
import PyQt4.QtCore
import os
import sys

pyqtcfg = PyQt4.pyqtconfig.Configuration()
print("pyqt_version:%06.0x" % pyqtcfg.pyqt_version)
print("pyqt_version_str:%s" % pyqtcfg.pyqt_version_str)

pyqt_version_tag = ""
in_t = False
for item in pyqtcfg.pyqt_sip_flags.split(' '):
if item=="-t":
in_t = True
elif in_t:
if item.startswith("Qt_4"):
pyqt_version_tag = item
def get_default_sip_dir():
# This is based on QScintilla's configure.py, and only works for the
# default case where installation paths have not been changed in PyQt's
# configuration process.
if sys.platform == 'win32':
pyqt_sip_dir = os.path.join(sys.platform, 'sip', 'PyQt4')
else:
in_t = False
print("pyqt_version_tag:%s" % pyqt_version_tag)
pyqt_sip_dir = os.path.join(sys.platform, 'share', 'sip', 'PyQt4')
return pyqt_sip_dir

def get_qt4_tag(sip_flags):
in_t = False
for item in sip_flags.split(' '):
if item == '-t':
in_t = True
elif in_t:
if item.startswith('Qt_4'):
return item
else:
in_t = False
raise ValueError('Cannot find Qt\'s tag in PyQt4\'s SIP flags.')

print("pyqt_sip_dir:%s" % pyqtcfg.pyqt_sip_dir)
print("pyqt_sip_flags:%s" % pyqtcfg.pyqt_sip_flags)
if __name__ == '__main__':
try:
import PyQt4.pyqtconfig
pyqtcfg = PyQt4.pyqtconfig.Configuration()
sip_dir = pyqtcfg.pyqt_sip_dir
sip_flags = pyqtcfg.pyqt_sip_flags
except ImportError:
# PyQt4 >= 4.10.0 was built with configure-ng.py instead of
# configure.py, so pyqtconfig.py is not installed.
sip_dir = get_default_sip_dir()
sip_flags = PyQt4.QtCore.PYQT_CONFIGURATION['sip_flags']

print('pyqt_version:%06.x' % PyQt4.QtCore.PYQT_VERSION)
print('pyqt_version_str:%s' % PyQt4.QtCore.PYQT_VERSION_STR)
print('pyqt_version_tag:%s' % get_qt4_tag(sip_flags))
print('pyqt_sip_dir:%s' % sip_dir)
print('pyqt_sip_flags:%s' % sip_flags)
53 changes: 38 additions & 15 deletions Code/Mantid/Build/CMake/FindPyQt4.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,20 @@
# Find the installed version of PyQt4. FindPyQt4 should only be called after
# Python has been found.
#
# This file defines the following variables:
# This file defines the following variables, which can also be overriden by
# users:
#
# PYQT4_VERSION - The version of PyQt4 found expressed as a 6 digit hex number
# suitable for comparision as a string
# suitable for comparison as a string
#
# PYQT4_VERSION_STR - The version of PyQt4 as a human readable string.
#
# PYQT4_VERSION_TAG - The PyQt version tag using by PyQt's sip files.
# PYQT4_VERSION_TAG - The Qt4 version tag used by PyQt's sip files.
#
# PYQT4_SIP_DIR - The directory holding the PyQt4 .sip files.
# PYQT4_SIP_DIR - The directory holding the PyQt4 .sip files. This can be unset
# if PyQt4 was built using its new build system and pyqtconfig.py is not
# present on the system, as in this case its value cannot be determined
# automatically.
#
# PYQT4_SIP_FLAGS - The SIP flags used to build PyQt.

Expand All @@ -30,19 +34,38 @@ ELSE(EXISTS PYQT4_VERSION)
FIND_FILE(_find_pyqt_py FindPyQt.py PATHS ${CMAKE_MODULE_PATH})

EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_pyqt_py} OUTPUT_VARIABLE pyqt_config)
IF( NOT ${pyqt_config} MATCHES "Traceback" )
STRING(REGEX REPLACE "^pyqt_version:([^\n]+).*$" "\\1" PYQT4_VERSION ${pyqt_config})
STRING(REGEX REPLACE ".*\npyqt_version_str:([^\n]+).*$" "\\1" PYQT4_VERSION_STR ${pyqt_config})
STRING(REGEX REPLACE ".*\npyqt_version_tag:([^\n]+).*$" "\\1" PYQT4_VERSION_TAG ${pyqt_config})
STRING(REGEX REPLACE ".*\npyqt_sip_dir:([^\n]+).*$" "\\1" PYQT4_SIP_DIR ${pyqt_config})
STRING(REGEX REPLACE ".*\npyqt_sip_flags:([^\n]+).*$" "\\1" PYQT4_SIP_FLAGS ${pyqt_config})
IF(pyqt_config)
STRING(REGEX MATCH "^pyqt_version:([^\n]+).*$" _dummy ${pyqt_config})
SET(PYQT4_VERSION "${CMAKE_MATCH_1}" CACHE STRING "PyQt4's version as a 6-digit hexadecimal number")

SET(PYQT4_FOUND TRUE)
ENDIF()
STRING(REGEX MATCH ".*\npyqt_version_str:([^\n]+).*$" _dummy ${pyqt_config})
SET(PYQT4_VERSION_STR "${CMAKE_MATCH_1}" CACHE STRING "PyQt4's version as a human-readable string")

include ( FindPackageHandleStandardArgs )
find_package_handle_standard_args ( PyQt4 DEFAULT_MSG PYQT4_VERSION )
STRING(REGEX MATCH ".*\npyqt_version_tag:([^\n]+).*$" _dummy ${pyqt_config})
SET(PYQT4_VERSION_TAG "${CMAKE_MATCH_1}" CACHE STRING "The Qt4 version tag used by PyQt4's .sip files")

mark_as_advanced ( _find_pyqt_py )
STRING(REGEX MATCH ".*\npyqt_sip_dir:([^\n]+).*$" _dummy ${pyqt_config})
SET(PYQT4_SIP_DIR "${CMAKE_MATCH_1}" CACHE FILEPATH "The base directory where PyQt4's .sip files are installed")

STRING(REGEX MATCH ".*\npyqt_sip_flags:([^\n]+).*$" _dummy ${pyqt_config})
SET(PYQT4_SIP_FLAGS "${CMAKE_MATCH_1}" CACHE STRING "The SIP flags used to build PyQt4")

IF(NOT IS_DIRECTORY "${PYQT4_SIP_DIR}")
MESSAGE(WARNING "The base directory where PyQt4's SIP files are installed could not be determined. This usually means PyQt4 was built with its new build system and pyqtconfig.py is not present.\n"
"Please set the PYQT4_SIP_DIR variable manually.")
ELSE(NOT IS_DIRECTORY "${PYQT4_SIP_DIR}")
SET(PYQT4_FOUND TRUE)
ENDIF(NOT IS_DIRECTORY "${PYQT4_SIP_DIR}")
ENDIF(pyqt_config)

IF(PYQT4_FOUND)
IF(NOT PYQT4_FIND_QUIETLY)
MESSAGE(STATUS "Found PyQt4 version: ${PYQT4_VERSION_STR}")
ENDIF(NOT PYQT4_FIND_QUIETLY)
ELSE(PYQT4_FOUND)
IF(PYQT4_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find Python")
ENDIF(PYQT4_FIND_REQUIRED)
ENDIF(PYQT4_FOUND)

ENDIF(EXISTS PYQT4_VERSION)
2 changes: 1 addition & 1 deletion Code/Mantid/Build/CMake/FindTcmalloc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# TCMALLOC_FOUND If false, do not try to use TCMALLOC

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

find_library ( TCMALLOC_LIB NAMES tcmalloc_minimal tcmalloc )
Expand Down
13 changes: 4 additions & 9 deletions Code/Mantid/Build/CMake/GNUSetup.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,12 @@
# project settings should be included in the relevant CMakeLists.txt file
# for that project.

# Get the GCC version
EXEC_PROGRAM(${CMAKE_CXX_COMPILER} ARGS --version | cut -d \" \" -f 3 OUTPUT_VARIABLE _compiler_output)
STRING(REGEX REPLACE ".*([0-9]\\.[0-9]\\.[0-9]).*" "\\1" GCC_COMPILER_VERSION ${_compiler_output})
MESSAGE(STATUS "gcc version: ${GCC_COMPILER_VERSION}")

# Export the GCC compiler version globally
set(GCC_COMPILER_VERSION ${GCC_COMPILER_VERSION} CACHE INTERNAL "")
# 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}" )

# Global warning flags.
set( GNUFLAGS "-Wall -Wextra -Wconversion -Winit-self -Wpointer-arith -Wcast-qual -Wcast-align -fno-common" )
set( GNUFLAGS "-Wall -Wextra -Wconversion -Winit-self -Wpointer-arith -Wcast-qual -Wcast-align -fno-common" )
# Disable some warnings about deprecated headers and type conversions that
# we can't do anything about
# -Wno-deprecated: Do not warn about use of deprecated headers.
Expand All @@ -38,4 +34,3 @@ set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GNUFLAGS}" )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GNUFLAGS} -Woverloaded-virtual -fno-operator-names -std=c++0x" )
# Cleanup
set ( GNUFLAGS )

28 changes: 14 additions & 14 deletions Code/Mantid/Build/CMake/MantidUtils.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -61,29 +61,29 @@ endfunction( SET_TARGET_OUTPUT_DIRECTORY )
#######################################################################

#
# NAME: COPY_PYTHON_FILES_TO_DIR
# Adds a set of custom commands for each python file to copy
# NAME: COPY_FILES_TO_DIR
# Adds a set of custom commands for each file to copy
# the given file to the destination directory
# - PY_FILES :: A list of python files to copy. Note you will have
# - FILES :: A list of files to copy. Note you will have
# to quote an expanded list
# - SRC_DIR :: The src directory of the files to be copied
# - DEST_DIR :: The final directory for the copied files
# - INSTALLED_FILES :: An output variable containing the list of copied
# files including their full paths
function( COPY_PYTHON_FILES_TO_DIR PY_FILES SRC_DIR DEST_DIR INSTALLED_FILES )
function( COPY_FILES_TO_DIR FILES SRC_DIR DEST_DIR INSTALLED_FILES )
set ( COPIED_FILES ${${INSTALLED_FILES}} )
foreach ( PYFILE ${PY_FILES} )
get_filename_component( _basefilename ${PYFILE} NAME_WE )
set( _py_src ${SRC_DIR}/${PYFILE} )
set( _py_bin ${DEST_DIR}/${PYFILE} )
add_custom_command ( OUTPUT ${_py_bin}
DEPENDS ${_py_src}
foreach ( _FILE ${FILES} )
get_filename_component( _basefilename ${_FILE} NAME_WE )
set( _src ${SRC_DIR}/${_FILE} )
set( _bin ${DEST_DIR}/${_FILE} )
add_custom_command ( OUTPUT ${_bin}
DEPENDS ${_src}
COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different
${_py_src} ${_py_bin} )
set ( COPIED_FILES ${COPIED_FILES} ${_py_bin} )
endforeach ( PYFILE )
${_src} ${_bin} )
set ( COPIED_FILES ${COPIED_FILES} ${_bin} )
endforeach ( _FILE )
set ( ${INSTALLED_FILES} ${COPIED_FILES} PARENT_SCOPE )
endfunction( COPY_PYTHON_FILES_TO_DIR )
endfunction( COPY_FILES_TO_DIR )

#######################################################################

Expand Down
9 changes: 7 additions & 2 deletions Code/Mantid/Build/CMake/UseSystemQt4.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,13 @@
# License text for the above reference.)

ADD_DEFINITIONS(${QT_DEFINITIONS})
SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG QT_DEBUG)
SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE QT_NO_DEBUG)
IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.9)
SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:QT_DEBUG>)
SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<NOT:$<CONFIG:Debug>>:QT_NO_DEBUG>)
ELSE()
SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG QT_DEBUG)
SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE QT_NO_DEBUG)
ENDIF()
SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELWITHDEBINFO QT_NO_DEBUG)
SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_MINSIZEREL QT_NO_DEBUG)

Expand Down
1 change: 1 addition & 0 deletions Code/Mantid/Build/Jenkins/buildscript.bat
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" --version
echo %sha1%

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Check the required build configuration
Expand Down
4 changes: 3 additions & 1 deletion Code/Mantid/Build/class_maker.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,8 @@ def write_source(subproject, classname, filename, args):
algorithm_source = """
//----------------------------------------------------------------------------------------------
/// Algorithms name for identification. @see Algorithm::name
const std::string %s::name() const { return "%s"; }
/// Algorithm's version for identification. @see Algorithm::version
int %s::version() const { return 1;};
Expand Down Expand Up @@ -156,7 +158,7 @@ def write_source(subproject, classname, filename, args):
// TODO Auto-generated execute stub
}
""" % (classname, classname, classname, classname, classname)
""" % (classname, classname, classname, classname, classname, classname, classname)

if not args.alg:
algorithm_top = ""
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Name: mantid-developer
Version: 1.4
Version: 1.5
Release: 1%{?dist}
Summary: Meta Package to install dependencies for Mantid Development

Expand All @@ -19,6 +19,7 @@ Requires: git-all
Requires: gsl-devel
Requires: hdf-devel
Requires: hdf5-devel
Requires: jsoncpp-devel
Requires: muParser-devel
Requires: mxml-devel
Requires: nexus >= 4.2
Expand Down

0 comments on commit 3b15699

Please sign in to comment.