diff --git a/Code/Mantid/Build/CMake/GetMantidSubProject.cmake b/Code/Mantid/Build/CMake/GetMantidSubProject.cmake index c8d957e5ab6c7d9a4f224ea2416bd62b91ea4c4e..771634cfcd85ae72ad9b292b0dc7228283e70863 100644 --- a/Code/Mantid/Build/CMake/GetMantidSubProject.cmake +++ b/Code/Mantid/Build/CMake/GetMantidSubProject.cmake @@ -1,11 +1,21 @@ # Set information for a given Mantid subproject -macro ( get_mantid_subproject SUBPROJECT ) - set ( TMP Mantid_${SUBPROJECT} ) - string ( TOUPPER ${TMP} SUBPROJECT_TAG ) +macro ( get_mantid_subproject _subproject_path) + + string ( REGEX MATCH "/.+$" _subproject ${_subproject_path} ) + string ( REGEX REPLACE "/" "" _subproject ${_subproject} ) + + set ( _tmp Mantid_${_subproject} ) + + string ( TOUPPER ${_tmp} SUBPROJECT_TAG ) + + #message(STATUS "Q: ${ARGN}") + set ( ${SUBPROJECT_TAG}_INCLUDE_DIR - ${CMAKE_SOURCE_DIR}/Framework/${SUBPROJECT}/inc/Mantid${SUBPROJECT} + "${CMAKE_SOURCE_DIR}/${_subproject_path}/inc" ) + set( ${SUBPROJECT_TAG}_LIBRARY - "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Mantid${SUBPROJECT}${CMAKE_SHARED_LIBRARY_SUFFIX}" + "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Mantid${_subproject}${CMAKE_SHARED_LIBRARY_SUFFIX}" ) -endmacro ( get_mantid_subproject SUBPROJECT ) + +endmacro ( get_mantid_subproject _subproject_path ) diff --git a/Code/Mantid/Vates/CMakeLists.txt b/Code/Mantid/Vates/CMakeLists.txt index 43b0164279aa41155b4082ccd14c28aa6db7bb0f..53c28292dfe852c1c4055336ebbef4310e50203f 100644 --- a/Code/Mantid/Vates/CMakeLists.txt +++ b/Code/Mantid/Vates/CMakeLists.txt @@ -8,8 +8,10 @@ project ( Vates ) find_package ( VisIt ) if ( VISIT_FOUND ) + include_directories ( VisitPresenters/inc ) add_subdirectory ( VisitPresenters ) add_subdirectory ( VisitPlugins ) + add_subdirectory ( VisitDataBases ) else ( VISIT_FOUND ) message ( STATUS "Vates-VisIt plugins and widgets will not be built." ) endif ( VISIT_FOUND ) diff --git a/Code/Mantid/Vates/VisitDataBases/CMakeLists.txt b/Code/Mantid/Vates/VisitDataBases/CMakeLists.txt index 700286cd76587441934da6b2d1304ff0efa010b1..aa90bfac7e9febcfcf198724cd8c6447cd6bedad 100644 --- a/Code/Mantid/Vates/VisitDataBases/CMakeLists.txt +++ b/Code/Mantid/Vates/VisitDataBases/CMakeLists.txt @@ -1,16 +1,18 @@ # DO NOT EDIT THIS FILE! THIS FILE IS AUTOMATICALLY GENERATED BY xml2cmake CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4 FATAL_ERROR) -SET(VISIT_INCLUDE_DIR /usr/local/2.1.1/linux-x86_64/include) -SET(VISIT_LIBRARY_DIR /usr/local/2.1.1/linux-x86_64/lib) -SET(VISIT_BINARY_DIR /usr/local/2.1.1/linux-x86_64/bin) -SET(VISIT_ARCHIVE_DIR /usr/local/2.1.1/linux-x86_64/archives) -SET(VISIT_PLUGIN_DIR /home/owen/.visit/linux-x86_64/plugins) -SET(MANTID_LIBRARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/debug/) -INCLUDE(/usr/local/2.1.1/linux-x86_64/include/PluginVsInstall.cmake) -INCLUDE(/usr/local/2.1.1/linux-x86_64/include/VisItLibraryDependencies.cmake) +INCLUDE(${VISIT_INCLUDE_DIR}/PluginVsInstall.cmake) +INCLUDE(${VISIT_INCLUDE_DIR}/VisItLibraryDependencies.cmake) PROJECT(MDFileReader) +INCLUDE(GetMantidSubProject) +get_mantid_subproject(Framework/API) +get_mantid_subproject(Framework/Geometry) +get_mantid_subproject(Framework/Kernel) +get_mantid_subproject(Framework/MDAlgorithms) +get_mantid_subproject(Framework/MDDataObjects) +get_mantid_subproject(Vates/VisitPresenters) + SET(COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/MDFileReaderPluginInfo.C ${CMAKE_CURRENT_SOURCE_DIR}/src/MDFileReaderCommonPluginInfo.C @@ -54,54 +56,39 @@ ${VISIT_INCLUDE_DIR}/visit/avt/Pipeline/Sources ${VISIT_INCLUDE_DIR}/visit/avt/VisWindow/VisWindow ${VISIT_INCLUDE_DIR}/visit/visit_vtk/full ${VISIT_INCLUDE_DIR}/visit/visit_vtk/lightweight -${VTK_INCLUDE_DIRS} -${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/Kernel/inc/ -${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/Geometry/inc/ -${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/API/inc/ -${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/MDAlgorithms/inc/ -${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/MDDataObjects/inc/ +${VTK_INCLUDE_DIRS} +${MANTID_API_INCLUDE_DIR} +${MANTID_GEOMETRY_INCLUDE_DIR} +${MANTID_KERNEL_INCLUDE_DIR} +${MANTID_MDDATAOBJECTS_INCLUDE_DIR} +${MANTID_MDALGORITHMS_INCLUDE_DIR} +${MANTID_VISITPRESENTERS_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/inc/VisitDataBases -${CMAKE_CURRENT_SOURCE_DIR}/../VisitPresenters/inc/ -) - - -find_library(MantidKernel_LIBRARY - NAMES MantidKernel - PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/debug/ ) -find_library(MantidGeometry_LIBRARY - NAMES MantidGeometry - PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/debug/ -) - -find_library(MantidAPI_LIBRARY - NAMES MantidAPI - PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/debug/ -) - -find_library(MDAlgorithms_LIBRARY - NAMES MDAlgorithms - PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/debug/ -) - -find_library(MDDataObjects_LIBRARY - NAMES MDDataObjects - PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/debug/ +# Handle Mantid subproject libraries +set ( MANTID_SUBPROJECT_LIBS +Kernel +Geometry +API +MDDataObjects +MDAlgorithms +VisitPresenters +#${MANTID_KERNEL_LIBRARY} +#${MANTID_GEOMETRY_LIBRARY} +#${MANTID_API_LIBRARY} +#${MANTID_MDALGORITHMS_LIBRARY} +#${MANTID_MDDATAOBJECTS_LIBRARY} +#${MANTID_VISITPRESENTERS_LIBRARY} ) +# TODO: Deal with this library better find_library(HDF5_LIBRARY NAMES hdf5 PATHS ${CMAKE_CURRENT_SOURCE_DIR}/usr/lib ) -find_library(VisitPresenters_LIBRARY - NAMES VisitPresenters - PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/debug/ -) - - -LINK_DIRECTORIES(${VISIT_LIBRARY_DIR} ${VTK_LIBRARY_DIRS} ${MANTID_LIBRARY_DIR}) +LINK_DIRECTORIES(${VISIT_LIBRARY_DIR} ${VTK_LIBRARY_DIRS}) ADD_LIBRARY(IMDFileReaderDatabase ${LIBI_SOURCES}) TARGET_LINK_LIBRARIES(IMDFileReaderDatabase visitcommon) @@ -109,13 +96,13 @@ SET(INSTALLTARGETS IMDFileReaderDatabase) IF(NOT VISIT_ENGINE_ONLY AND NOT VISIT_DBIO_ONLY) ADD_LIBRARY(MMDFileReaderDatabase ${LIBM_SOURCES} ) - TARGET_LINK_LIBRARIES(MMDFileReaderDatabase visitcommon avtdbatts avtdatabase_ser ${MantidKernel_LIBRARY} ${MantidGeometry_LIBRARY} ${MantidAPI_LIBRARY} ${VisitPresenters_LIBRARY} ${MDAlgorithms_LIBRARY} ${MDDataObjects_LIBRARY} ${HDF5_LIBRARY}) + TARGET_LINK_LIBRARIES(MMDFileReaderDatabase visitcommon avtdbatts avtdatabase_ser ${MANTID_SUBPROJECT_LIBS} ${HDF5_LIBRARY}) ADD_TARGET_DEFINITIONS(MMDFileReaderDatabase MDSERVER) SET(INSTALLTARGETS ${INSTALLTARGETS} MMDFileReaderDatabase) ENDIF(NOT VISIT_ENGINE_ONLY AND NOT VISIT_DBIO_ONLY) ADD_LIBRARY(EMDFileReaderDatabase_ser ${LIBE_SOURCES}) -TARGET_LINK_LIBRARIES(EMDFileReaderDatabase_ser visitcommon avtdatabase_ser avtpipeline_ser ${MantidKernel_LIBRARY} ${MantidGeometry_LIBRARY} ${MantidAPI_LIBRARY} ${VisitPresenters_LIBRARY} ${MDAlgorithms_LIBRARY} ${MDDataObjects_LIBRARY} ${HDF5_LIBRARY}) +TARGET_LINK_LIBRARIES(EMDFileReaderDatabase_ser visitcommon avtdatabase_ser avtpipeline_ser ${MANTID_SUBPROJECT_LIBS} ${HDF5_LIBRARY}) ADD_TARGET_DEFINITIONS(EMDFileReaderDatabase_ser ENGINE) SET(INSTALLTARGETS ${INSTALLTARGETS} EMDFileReaderDatabase_ser) diff --git a/Code/Mantid/Vates/VisitPlugins/CMakeLists.txt b/Code/Mantid/Vates/VisitPlugins/CMakeLists.txt index 9e597f0af485e2a9598d592d17e4abcb03ead188..247e47f9d146aa9219263fcbba5e8923fe2218a7 100644 --- a/Code/Mantid/Vates/VisitPlugins/CMakeLists.txt +++ b/Code/Mantid/Vates/VisitPlugins/CMakeLists.txt @@ -1,16 +1,18 @@ # DO NOT EDIT THIS FILE! THIS FILE IS AUTOMATICALLY GENERATED BY xml2cmake CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4 FATAL_ERROR) -SET(VISIT_INCLUDE_DIR /usr/local/2.1.1/linux-x86_64/include) -SET(VISIT_LIBRARY_DIR /usr/local/2.1.1/linux-x86_64/lib) -SET(VISIT_BINARY_DIR /usr/local/2.1.1/linux-x86_64/bin) -SET(VISIT_ARCHIVE_DIR /usr/local/2.1.1/linux-x86_64/archives) -SET(VISIT_PLUGIN_DIR ~/.visit/linux-x86_64/plugins) -SET(MANTID_LIBRARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/debug/) -INCLUDE(/usr/local/2.1.1/linux-x86_64/include/PluginVsInstall.cmake) -INCLUDE(/usr/local/2.1.1/linux-x86_64/include/VisItLibraryDependencies.cmake) +INCLUDE(${VISIT_INCLUDE_DIR}/PluginVsInstall.cmake) +INCLUDE(${VISIT_INCLUDE_DIR}/VisItLibraryDependencies.cmake) PROJECT(RebinningCutter) +INCLUDE(GetMantidSubProject) +get_mantid_subproject(Framework/API) +get_mantid_subproject(Framework/Geometry) +get_mantid_subproject(Framework/Kernel) +get_mantid_subproject(Framework/MDAlgorithms) +get_mantid_subproject(Framework/MDDataObjects) +get_mantid_subproject(Vates/VisitPresenters) + SET(COMMON_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/RebinningCutterPluginInfo.C ${CMAKE_CURRENT_SOURCE_DIR}/src/RebinningCutterCommonPluginInfo.C @@ -95,17 +97,16 @@ ${QT_QTGUI_INCLUDE_DIR} ${VTK_INCLUDE_DIRS} ${PYTHON_INCLUDE_PATH} ${VISIT_INCLUDE_DIR}/visit/visitpy/visitpy -${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/Framework/Kernel/inc/ -${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/Framework/Geometry/inc/ -${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/Framework/API/inc/ -${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/Framework/MDAlgorithms/inc/ -${CMAKE_CURRENT_SOURCE_DIR}/../../Mantid/Framework/MDDataObjects/inc/ +${MANTID_API_INCLUDE_DIR} +${MANTID_GEOMETRY_INCLUDE_DIR} +${MANTID_KERNEL_INCLUDE_DIR} +${MANTID_MDDATAOBJECTS_INCLUDE_DIR} +${MANTID_MDALGORITHMS_INCLUDE_DIR} +${MANTID_VISITPRESENTERS_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/inc/VisitPlugins -${CMAKE_CURRENT_SOURCE_DIR}/../VisitPresenters/inc/ ) - -LINK_DIRECTORIES(${VISIT_LIBRARY_DIR} ${QT_LIBRARY_DIR} ${MESA_LIBRARY_DIR} ${GLEW_LIBRARY_DIR} ${VTK_LIBRARY_DIRS} ${MANTID_LIBRARY_DIR}) +LINK_DIRECTORIES(${VISIT_LIBRARY_DIR} ${QT_LIBRARY_DIR} ${MESA_LIBRARY_DIR} ${GLEW_LIBRARY_DIR} ${VTK_LIBRARY_DIRS}) ADD_LIBRARY(IRebinningCutterOperator ${LIBI_SOURCES}) TARGET_LINK_LIBRARIES(IRebinningCutterOperator visitcommon) @@ -136,43 +137,30 @@ IF(NOT VISIT_SERVER_COMPONENTS_ONLY AND NOT VISIT_ENGINE_ONLY AND NOT VISIT_DBIO ENDIF(VISIT_JAVA) ENDIF(NOT VISIT_SERVER_COMPONENTS_ONLY AND NOT VISIT_ENGINE_ONLY AND NOT VISIT_DBIO_ONLY) -find_library(MantidKernel_LIBRARY - NAMES MantidKernel - PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../../Framework/bin -) - -find_library(MantidGeometry_LIBRARY - NAMES MantidGeometry - PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../../Framework/bin -) - -find_library(MantidAPI_LIBRARY - NAMES MantidAPI - PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../../Framework/bin -) - -find_library(MDAlgorithms_LIBRARY - NAMES MantidMDAlgorithms - PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../../Framework/bin -) - -find_library(MantidMDDataObjects_LIBRARY - NAMES MantidMDDataObjects - PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../../Framework/bin +# Handle Mantid subproject libraries +set ( MANTID_SUBPROJECT_LIBS +Kernel +Geometry +API +MDDataObjects +MDAlgorithms +VisitPresenters +#${MANTID_KERNEL_LIBRARY} +#${MANTID_GEOMETRY_LIBRARY} +#${MANTID_API_LIBRARY} +#${MANTID_MDALGORITHMS_LIBRARY} +#${MANTID_MDDATAOBJECTS_LIBRARY} +#${MANTID_VISITPRESENTERS_LIBRARY} ) +# TODO: Deal with this library better find_library(HDF5_LIBRARY NAMES hdf5 PATHS ${CMAKE_CURRENT_SOURCE_DIR}/usr/lib ) -find_library(MantidVisitPresenters_LIBRARY - NAMES VisitPresenters - PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../../Framework/bin -) - ADD_LIBRARY(ERebinningCutterOperator_ser ${LIBE_SOURCES}) -TARGET_LINK_LIBRARIES(ERebinningCutterOperator_ser visitcommon avtexpressions_ser avtfilters_ser avtpipeline_ser ${MantidKernel_LIBRARY} ${MantidGeometry_LIBRARY} ${MantidAPI_LIBRARY} ${VisitPresenters_LIBRARY} ${MDAlgorithms_LIBRARY} ${MDDataObjects_LIBRARY} ${HDF5_LIBRARY}) +TARGET_LINK_LIBRARIES(ERebinningCutterOperator_ser visitcommon avtexpressions_ser avtfilters_ser avtpipeline_ser ${MANTID_SUBPROJECT_LIBS} ${HDF5_LIBRARY}) SET(INSTALLTARGETS ${INSTALLTARGETS} ERebinningCutterOperator_ser) IF(VISIT_PARALLEL) diff --git a/Code/Mantid/Vates/VisitPresenters/CMakeLists.txt b/Code/Mantid/Vates/VisitPresenters/CMakeLists.txt index 356259d61da389b0c37fd75d041ab645bfb8b8b9..55dea14b08ad764871c5a729d92966158aea8def 100644 --- a/Code/Mantid/Vates/VisitPresenters/CMakeLists.txt +++ b/Code/Mantid/Vates/VisitPresenters/CMakeLists.txt @@ -1,3 +1,4 @@ +project ( VisitPresenters ) set ( SRC_FILES src/MultiDimensionalDbPresenter.cpp @@ -6,7 +7,8 @@ src/RebinningCutterXMLDefinitions.cpp src/RebinningXMLGenerator.cpp ) -set ( INC_FILES inc/MantidVisitPresenters/MultiDimensionalDbPresenter.h +set ( INC_FILES +inc/MantidVisitPresenters/MultiDimensionalDbPresenter.h inc/MantidVisitPresenters/RebinningCutterPresenter.h inc/MantidVisitPresenters/RebinningCutterXMLDefinitions.h inc/MantidVisitPresenters/RebinningXMLGenerator.h @@ -27,14 +29,42 @@ set_target_properties ( VisitPresenters PROPERTIES OUTPUT_NAME MantidVisitPresen # Add to the 'Framework' group in VS set_property ( TARGET VisitPresenters PROPERTY FOLDER "Framework" ) -include_directories (${CMAKE_CURRENT_SOURCE_DIR}../../Framework/Kernel/inc) #TODO use get_mantid_subproject -include_directories (${CMAKE_CURRENT_SOURCE_DIR}../../Framework/API/inc) #TODO use get_mantid_subproject -include_directories (${CMAKE_CURRENT_SOURCE_DIR}../../Framework/Geometry/inc) #TODO use get_mantid_subproject -include_directories (${CMAKE_CURRENT_SOURCE_DIR}../../Framework/MDDataObjects/inc) #TODO use get_mantid_subproject -include_directories (${CMAKE_CURRENT_SOURCE_DIR}../../Framework/MDAlgorithms/inc) #TODO use get_mantid_subproject -include_directories (${VISIT_INCLUDE_DIR}/vtk/include/vtk-5.0) #TODO use get_mantid_subproject +INCLUDE(GetMantidSubProject) +get_mantid_subproject(Framework/API) +get_mantid_subproject(Framework/Geometry) +get_mantid_subproject(Framework/Kernel) +get_mantid_subproject(Framework/MDAlgorithms) +get_mantid_subproject(Framework/MDDataObjects) + +include_directories ( +${MANTID_API_INCLUDE_DIR} +${MANTID_GEOMETRY_INCLUDE_DIR} +${MANTID_KERNEL_INCLUDE_DIR} +${MANTID_MDALGORITHMS_INCLUDE_DIR} +# TODO: MDDataObjects headers need to conform to Mantid naming convention +# So we can't use get_mantid_subproject stuff +${CMAKE_CURRENT_SOURCE_DIR}/../../Framework/MDDataObjects/inc +) +include_directories (${VISIT_INCLUDE_DIR}/vtk/include/vtk-5.0) include_directories (inc) -target_link_libraries (VisitPresenters ${MANTIDLIBS} ${VISIT_ROOT}/lib/libvtkCommon${CMAKE_SHARED_LIBRARY_SUFFIX} ${VISIT_ROOT}/lib/libvtkFiltering${CMAKE_SHARED_LIBRARY_SUFFIX}) #TODO: Not the correct way to access shared libraries + +message(STATUS "P: ${MANTIDLIBS}") + +# Handle Mantid subproject libraries +set ( MANTID_SUBPROJECT_LIBS +Kernel +Geometry +API +MDDataObjects +MDAlgorithms +#${MANTID_KERNEL_LIBRARY} +#${MANTID_GEOMETRY_LIBRARY} +#${MANTID_API_LIBRARY} +#${MANTID_MDALGORITHMS_LIBRARY} +#${MANTID_MDDATAOBJECTS_LIBRARY} +) + +target_link_libraries (VisitPresenters ${MANTID_SUBPROJECT_LIBS} ${VISIT_ROOT}/lib/libvtkCommon${CMAKE_SHARED_LIBRARY_SUFFIX} ${VISIT_ROOT}/lib/libvtkFiltering${CMAKE_SHARED_LIBRARY_SUFFIX}) #TODO: Not the correct way to access shared libraries # Create test file projects if ( CXXTEST_FOUND ) cxxtest_add_test ( VisitPresentersTest ${TEST_FILES} )