[xdmf] 14/38: Snapshot of xdmf.git from kitware (Xdmf3)
Alastair McKinstry
mckinstry at moszumanska.debian.org
Thu Apr 13 15:16:33 UTC 2017
This is an automated email from the git hooks/post-receive script.
mckinstry pushed a commit to branch debian/master
in repository xdmf.
commit 4d797be70a356ba9f3766219bfe4c4e8f776ee40
Author: Alastair McKinstry <mckinstry at debian.org>
Date: Sun Aug 14 17:35:02 2016 +0100
Snapshot of xdmf.git from kitware (Xdmf3)
---
CMakeLists.txt | 973 +++++++++++++++++++++++++-----------------------------
CTestConfig.cmake | 21 +-
2 files changed, 449 insertions(+), 545 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3147058..0110dbb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,536 +1,445 @@
-#
-CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
-PROJECT(Xdmf)
-if(COMMAND cmake_policy)
- cmake_policy(SET CMP0003 NEW)
-# cmake_policy(SET CMP0003 OLD)
-endif(COMMAND cmake_policy)
-SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${Xdmf_SOURCE_DIR}/CMake)
-
-OPTION(BUILD_SHARED_LIBS "Build Shared XDMF Library" ON)
-
-# Disable deprecation warnings for standard C and STL functions in VS2005
-# and later
-IF(MSVC_VERSION EQUAL 1400 OR MSVC_VERSION GREATER 1400)
- ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS)
- ADD_DEFINITIONS(-D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS)
-ENDIF(MSVC_VERSION EQUAL 1400 OR MSVC_VERSION GREATER 1400)
-
-IF(NOT BUILD_SHARED_LIBS)
- SET(CMAKE_C_FLAGS -fPIC)
- SET(CMAKE_CXX_FLAGS -fPIC)
-ENDIF(NOT BUILD_SHARED_LIBS)
-
-# We need ansi c-flags, especially on HP
-SET(CMAKE_REQUIRED_FLAGS ${CMAKE_ANSI_CFLAGS})
-
-# Platform configuration tests.
-INCLUDE(${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityC.cmake)
-INCLUDE(${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake)
-
-SET(XDMF_INSTALL_DIR_CONFIG ${Xdmf_BINARY_DIR})
-INCLUDE_DIRECTORIES(
- ${Xdmf_SOURCE_DIR}/libsrc
- ${Xdmf_BINARY_DIR}/libsrc)
-
-SET (LIBRARY_OUTPUT_PATH ${Xdmf_BINARY_DIR}/bin/ CACHE PATH
- "Single output directory for building all libraries.")
-SET (EXECUTABLE_OUTPUT_PATH ${Xdmf_BINARY_DIR}/bin/ CACHE PATH
- "Single output directory for building all executables.")
-
-INCLUDE (${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake)
-INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
-
-SET(VTK_INSTALL_LIB_DIR "/lib")
-
-OPTION(XDMF_MEMORY_DEBUG "Enable Memory Debugging in Xdmf" OFF)
-IF(XDMF_MEMORY_DEBUG)
- SET(CMAKE_BUILD_TYPE "Debug")
- ADD_DEFINITIONS(-DH5_USING_PURIFY -DXDMF_MEMORY_DEBUG)
-ENDIF(XDMF_MEMORY_DEBUG)
-
-############################################################################
-# Metis
-
-IF(XDMF_BUILD_UTILS)
- SET(XDMF_METIS_LIBRARIES metis)
- SET(METIS_INCLUDE_DIRS "${Xdmf_SOURCE_DIR}/Utilities/metis")
- INCLUDE_DIRECTORIES(${METIS_INCLUDE_DIRS})
-
- ADD_SUBDIRECTORY(Utilities/metis)
-
- # Set config.cmake paths
- SET(XDMF_METIS_INCLUDE_DIR_CONFIG ${METIS_INCLUDE_DIRS})
- SET(XDMF_METIS_INCLUDE_DIR_INSTALL_CONFIG ${CMAKE_INSTALL_PREFIX}/include/metis)
- SET(XDMF_METIS_LIBRARY_DIR_CONFIG ${Xdmf_BINARY_DIR}/bin)
- SET(XDMF_METIS_LIBRARY_DIR_INSTALL_CONFIG ${CMAKE_INSTALL_PREFIX}/lib)
-ENDIF(XDMF_BUILD_UTILS)
-
-#############################################################################
-# VTK READER/WRITER to use .xdmf files in vtk
-
-INCLUDE(vtkThirdParty)
-OPTION(XDMF_BUILD_VTK "Build VTK reader" OFF)
-
-IF(XDMF_BUILD_VTK)
- FIND_PACKAGE(VTK REQUIRED)
- IF(VTK_FOUND)
- INCLUDE(${VTK_USE_FILE})
- ENDIF(VTK_FOUND)
-ELSE(XDMF_BUILD_VTK)
- SET(VTK_DIR)
-ENDIF(XDMF_BUILD_VTK)
-
-#############################################################################
-# ZLIB LIBRARY
-
-IF(XDMF_BUILD_VTK)
-
- # Zlib from vtk
- SET(XDMF_ZLIB_LIBRARIES ${VTK_ZLIB_LIBRARIES})
- IF(NOT VTK_USE_SYSTEM_ZLIB)
- SET(HDF5_ZLIB_INCLUDE_DIRS ${VTK_INSTALL_PREFIX}${VTK_INSTALL_INCLUDE_DIR};${VTK_INSTALL_PREFIX}${VTK_INSTALL_INCLUDE_DIR}/vtkzlib)
- INCLUDE_DIRECTORIES(${HDF5_ZLIB_INCLUDE_DIRS})
- SET(HDF5_ZLIB_HEADER "vtkzlib/zlib.h")
-
- # Set config.cmake paths
- SET(XDMF_ZLIB_INCLUDE_DIR_CONFIG ${HDF5_ZLIB_INCLUDE_DIRS})
- SET(XDMF_ZLIB_INCLUDE_DIR_INSTALL_CONFIG ${XDMF_ZLIB_INCLUDE_DIR_CONFIG})
- SET(XDMF_ZLIB_LIBRARY_DIR_CONFIG ${VTK_LIBRARY_DIRS})
- SET(XDMF_ZLIB_LIBRARY_DIR_INSTALL_CONFIG ${XDMF_ZLIB_LIBRARY_DIR_CONFIG})
-
- ENDIF(NOT VTK_USE_SYSTEM_ZLIB)
-
-ELSE(XDMF_BUILD_VTK)
+project(Xdmf)
+cmake_minimum_required(VERSION 2.6)
+
+#Needed to build DSM because relative paths are used to add its libraries
+if (POLICY CMP0015)
+ cmake_policy(SET CMP0015 NEW)
+endif ()
+
+if(MSVC10)
+ SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR})
+ SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR})
+ SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR})
+endif()
+
+set(XDMF_LIBNAME "Xdmf" CACHE STRING "Name for this xdmf library to avoid collision")
+option(BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
+if(BUILD_SHARED_LIBS)
+ set(LIBTYPE SHARED)
+ set(BUILD_SHARED 1)
+else()
+ set(LIBTYPE STATIC)
+endif()
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/XdmfConfig.hpp.in
+ ${CMAKE_CURRENT_BINARY_DIR}/XdmfConfig.hpp)
+
+if (WIN32)
+ set(XDMF_STATIC_AND_SHARED OFF)
+else()
+ option(XDMF_STATIC_AND_SHARED
+ "Build both static and shared libraries" ON)
+ mark_as_advanced(FORCE XDMF_STATIC_AND_SHARED)
+endif()
+
+# Enable CMake testing
+option(XDMF_BUILD_TESTING "Build Tests" OFF)
+if(XDMF_BUILD_TESTING)
+ enable_testing()
+ include(CTest)
+endif()
+
+if (XDMF_STATIC_AND_SHARED)
+ add_definitions(-DXDMFSTATIC)
+endif ()
+
+include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+list(APPEND CMAKE_MODULE_PATH
+ ${CMAKE_CURRENT_SOURCE_DIR}/CMake
+ ${CMAKE_CURRENT_SOURCE_DIR}/CMake/VersionSuite)
+if(XDMF_BUILD_TESTING)
+ list(APPEND CMAKE_MODULE_PATH
+ ${CMAKE_CURRENT_SOURCE_DIR}/CMake/TestingSuite)
+endif()
+
+include(XdmfFunctions)
+
+# Converting Install Prefix to an absolute path
+get_filename_component(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE)
+
+# RPath
+#set(CMAKE_SKIP_BUILD_RPATH FALSE)
+#set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+#set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
+#set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+
+# Should we build with documentation
+option(XDMF_BUILD_DOCUMENTATION OFF)
+if(XDMF_BUILD_DOCUMENTATION)
+ add_subdirectory(doc)
+endif()
+
+# Wrapper Setup
+option(XDMF_WRAP_PYTHON OFF)
+option(XDMF_WRAP_JAVA OFF)
+
+#check for TIFF
+find_package(TIFF)
+if (TIFF_FOUND)
+ add_definitions(-DXDMF_BUILD_TIFF)
+ mark_as_advanced(FORCE TIFF_INCLUDE_DIR)
+ mark_as_advanced(FORCE TIFF_LIBRARIES)
+ mark_as_advanced(FORCE TIFF_LIBRARY)
+ include_directories(${TIFF_INCLUDE_DIR})
+ get_filename_component(TIFF_LIBRARY_DIR "${TIFF_LIBRARY}" PATH)
+ set(XDMF_LIBRARY_DIRS ${XDMF_LIBRARY_DIRS} ${TIFF_LIBRARY_DIR})
+ set(XDMF_LIBRARIES ${XDMF_LIBRARIES} ${TIFF_LIBRARIES})
+endif (TIFF_FOUND)
+
+# Test for DSM
+option(XDMF_BUILD_DSM OFF)
+mark_as_advanced(XDMF_BUILD_DSM)
+
+if(XDMF_BUILD_DSM)
+ find_package(MPI REQUIRED)
+ if(MPI_FOUND)
+ include_directories(${MPI_INCLUDE_PATH})
+ set(XDMF_LIBRARIES ${XDMF_LIBRARIES} ${MPI_LIBRARY} ${MPI_EXTRA_LIBRARY})
+ get_filename_component(MPI_LIBRARY_DIR ${MPI_LIBRARY} PATH)
+ set(XDMF_LIBRARY_DIRS ${XDMF_LIBRARY_DIRS} ${MPI_LIBRARY_DIR})
+ # intel compiler requires an extra tag for CXX_FLAGS in order to properly build
+ STRING(REGEX MATCH "icpc" IS_INTEL "${CMAKE_CXX_COMPILER}")
+ if (NOT "${IS_INTEL}" STREQUAL "")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMPICH_IGNORE_CXX_SEEK")
+ endif ()
+ endif()
+ option(XDMF_BUILD_DSM_THREADS ON)
+ if (XDMF_WRAP_PYTHON)
+ mark_as_advanced(FORCE PYTHON_INCLUDE_MPI4PY_DIR)
+ set(PYTHON_INCLUDE_MPI4PY_DIR "" CACHE STRING "Directory containing mpi4py/mpi4py.i")
+ endif ()
+ add_definitions(-DXDMF_BUILD_DSM)
+endif()
+
+# If we are wrapping either, we need swig
+if(XDMF_WRAP_PYTHON OR XDMF_WRAP_JAVA)
+ find_package(SWIG REQUIRED)
+ include(${SWIG_USE_FILE})
+ if(${SWIG_VERSION} LESS 2.0.0)
+ message(SEND_ERROR "Swig must be version 2.0.0 or greater")
+ endif()
+endif()
+
+# If we are wrapping python, let's include it in the top level
+if(XDMF_WRAP_PYTHON)
+ find_package(PythonInterp ${REQUESTED_PYTHON_VERSION} REQUIRED)
+ find_package(PythonLibs ${REQUESTED_PYTHON_VERSION} REQUIRED)
+ if (XDMF_BUILD_DSM)
+ find_package (MPI4PY REQUIRED)
+ if (MPI4PY_FOUND)
+ if ("${PYTHON_INCLUDE_MPI4PY_DIR}" STREQUAL "")
+ set(PYTHON_INCLUDE_MPI4PY_DIR ${MPI4PY_INCLUDE_DIR})
+ endif ()
+ endif ()
+ include_directories(${PYTHON_INCLUDE_DIRS} ${MPI_CXX_INCLUDE_PATH} ${PYTHON_INCLUDE_MPI4PY_DIR})
+ else ()
+ include_directories(${PYTHON_INCLUDE_DIRS})
+ endif ()
+
+ # A macro to swig and create the python files
+ # Since we essentually do the same thing inside and outside core, it
+ # would be easier as a macro
+ # Parameters:
+ # python_name = the name of the intended target to be wrapped
+ # ${ARGN} = any dependencies needed by the target
+ # Output:
+ # Target Name = the output target name will have ${python_name} as its name
+ macro(XDMF_SWIG_PYTHON python_name)
+ set(CMAKE_SWIG_OUTDIR ${CMAKE_BINARY_DIR})
+ # optimize swig generation --- these are all flags corresponding to -O
+ # except -fvirtual which breaks visitor operation
+ set(CMAKE_SWIG_FLAGS ${XDMF_SWIG_FLAGS} -modern -fastdispatch -nosafecstrings -noproxydel -fastproxy -fastinit -fastunpack -fastquery -modernargs -nobuildnone)
+ #Enables DSM
+ if (XDMF_BUILD_DSM)
+ set(CMAKE_SWIG_FLAGS ${CMAKE_SWIG_FLAGS} -DXDMF_BUILD_DSM)
+ if (XDMF_BUILD_DSM_THREADS)
+ set(CMAKE_SWIG_FLAGS ${CMAKE_SWIG_FLAGS} -DXDMF_BUILD_DSM_THREADS)
+ endif ()
+ endif ()
+ set_source_files_properties(${python_name}.i PROPERTIES CPLUSPLUS ON)
+ set(swig_extra_generated_files "")
+ swig_add_module(${python_name}Python python ${python_name}.i)
+ swig_link_libraries(${python_name}Python ${python_name} ${PYTHON_LIBRARIES})
+ set_property(DIRECTORY APPEND PROPERTY
+ ADDITIONAL_MAKE_CLEAN_FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/${python_name}.pyc
+ )
- OPTION(XDMF_SYSTEM_ZLIB "Use system Zlib" OFF)
- IF(XDMF_SYSTEM_ZLIB)
-
- # Use a zlib that is installed on the machine somewhere
- FIND_PACKAGE(ZLIB REQUIRED)
- SET(XDMF_ZLIB_LIBRARIES ${ZLIB_LIBRARY})
- SET(HDF5_ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
-
- # Set config.cmake paths
- SET(XDMF_ZLIB_INCLUDE_DIR_CONFIG ${ZLIB_INCLUDE_DIR})
- SET(XDMF_ZLIB_INCLUDE_DIR_INSTALL_CONFIG ${XDMF_ZLIB_INCLUDE_DIR_CONFIG})
- GET_FILENAME_COMPONENT(XDMF_ZLIB_LIBRARY_DIR_CONFIG ${ZLIB_LIBRARY} PATH)
- SET(XDMF_ZLIB_LIBRARY_DIR_INSTALL_CONFIG ${XDMF_ZLIB_LIBRARY_DIR_CONFIG})
-
- ELSE(XDMF_SYSTEM_ZLIB)
-
- # Build our own vtkzlib
- SUBDIRS(Utilities/vtkzlib)
-
- SET(HDF5_ZLIB_INCLUDE_DIRS "${Xdmf_BINARY_DIR}/Utilities/vtkzlib;${Xdmf_BINARY_DIR}/Utilities;${Xdmf_SOURCE_DIR}/Utilities;${Xdmf_SOURCE_DIR}/Utilities/vtkzlib")
- INCLUDE_DIRECTORIES(${HDF5_ZLIB_INCLUDE_DIRS})
- SET(HDF5_ZLIB_HEADER "vtkzlib/zlib.h")
-
- # Set config.cmake paths
- SET(XDMF_ZLIB_INCLUDE_DIR_CONFIG ${HDF5_ZLIB_INCLUDE_DIRS})
- SET(XDMF_ZLIB_INCLUDE_DIR_INSTALL_CONFIG ${CMAKE_INSTALL_PREFIX}/include/vtkzlib)
- SET(XDMF_ZLIB_LIBRARY_DIR_CONFIG ${Xdmf_BINARY_DIR}/bin)
- SET(XDMF_ZLIB_LIBRARY_DIR_INSTALL_CONFIG ${CMAKE_INSTALL_PREFIX}/lib)
- SET(XDMF_ZLIB_LIBRARIES vtkzlib)
-
- ENDIF(XDMF_SYSTEM_ZLIB)
-
-ENDIF(XDMF_BUILD_VTK)
-
-#############################################################################
-# NETCDF LIBRARY
-
-IF(XDMF_BUILD_UTILS)
- IF(XDMF_BUILD_VTK AND EXISTS ${VTK_INSTALL_PREFIX}${VTK_INSTALL_INCLUDE_DIR}/vtk_netcdf.h)
-
- # NetCDF library from vtk
- SET(XDMF_NETCDF_LIBRARIES vtkNetCDF)
- SET(NETCDF_INCLUDE_DIRS ${VTK_INSTALL_PREFIX}${VTK_INSTALL_INCLUDE_DIR}/vtknetcdf)
- INCLUDE_DIRECTORIES(${NETCDF_INCLUDE_DIRS})
-
- # Set config.cmake paths
- SET(XDMF_NETCDF_INCLUDE_DIR_CONFIG ${VTK_INSTALL_PREFIX}${VTK_INSTALL_INCLUDE_DIR}/vtknetcdf)
- SET(XDMF_NETCDF_INCLUDE_DIR_INSTALL_CONFIG ${XDMF_NETCDF_INCLUDE_DIR_CONFIG})
- SET(XDMF_NETCDF_LIBRARY_DIR_CONFIG ${VTK_LIBRARY_DIRS})
- SET(XDMF_NETCDF_LIBRARY_DIR_INSTALL_CONFIG ${XDMF_NETCDF_LIBRARY_DIR_CONFIG})
+ if("${ARGN}" STRGREATER "")
+ add_dependencies(${python_name} "${ARGN}")
+ endif()
+
+ if(WIN32)
+ if(NOT MSVC10)
+ set_target_properties(${SWIG_MODULE_${python_name}Python_REAL_NAME}
+ PROPERTIES
+ PREFIX ../
+ IMPORT_PREFIX ../
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+ endif()
+ endif()
+
+ set_target_properties(${SWIG_MODULE_${python_name}Python_REAL_NAME}
+ PROPERTIES
+ OUTPUT_NAME "_${python_name}")
+
+ string(TOUPPER ${python_name} python_name_upper)
+ set(${python_name_upper}_PYTHON
+ ${CMAKE_INSTALL_PREFIX}/lib/python/${python_name}.py)
+ get_directory_property(${python_name}Parent PARENT_DIRECTORY)
+ if(NOT "${${python_name}Parent}" STREQUAL "")
+ set(${python_name_upper}_PYTHON ${${python_name_upper}_PYTHON}
+ PARENT_SCOPE)
+ endif()
+
+ install(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${python_name}.py
+ DESTINATION lib/python)
+ install(TARGETS ${SWIG_MODULE_${python_name}Python_REAL_NAME}
+ DESTINATION lib/python)
+ endmacro()
+endif()
+
+# If we are wrapping java, let's include it in the top level
+if(XDMF_WRAP_JAVA)
+ find_package(Java REQUIRED)
+ find_package(JNI REQUIRED)
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}
+ ${JAVA_INCLUDE_PATH}
+ ${JAVA_INCLUDE_PATH2})
+
+ # A macro to swig and create the jar files
+ # Since we essentually do the same thing inside and outside core, it
+ # would be easier as a macro
+ # Parameters:
+ # java_name = the name of the intended target to be wrapped
+ # ${ARGN} = any dependencies needed by the target
+ # Output:
+ # Target Name = the output target name will have ${java_name}Java as its name
+ # Target Jar = the output target jar will have ${java_name}Java.jar as its name
+ macro(XDMF_SWIG_JAVA java_name)
+ set(${java_name}_JAVA_JAR ${CMAKE_BINARY_DIR}/${java_name}.jar)
+ set(XDMF_JAVA_PACKAGE_DIR mil/army/arl/xdmf)
+ set(XDMF_JAVA_DIR ${CMAKE_BINARY_DIR}/${XDMF_JAVA_PACKAGE_DIR})
+ set(CMAKE_SWIG_OUTDIR ${XDMF_JAVA_DIR})
+ set(CMAKE_SWIG_FLAGS ${XDMF_SWIG_FLAGS} -v -make_default -package mil.army.arl.xdmf)
+ set_source_files_properties(${java_name}.i PROPERTIES CPLUSPLUS ON)
+ set(swig_extra_generated_files "")
+ swig_add_module(${java_name}Java java ${java_name}.i)
+ swig_link_libraries(${java_name}Java ${java_name})
+
+ if(WIN32)
+ if(NOT MSVC10)
+ set_target_properties(${SWIG_MODULE_${java_name}Java_REAL_NAME}
+ PROPERTIES
+ PREFIX ../
+ IMPORT_PREFIX ../
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+ endif()
+ set(java_files *.java)
+ set(java_dest "bin")
+ set(separator "\;")
+ else()
+ set(java_files ${XDMF_JAVA_DIR}/*.java)
+ set(java_dest "lib/java")
+ set(separator ":")
+ endif()
+
+ add_custom_target(${java_name}_Java_Dir ALL DEPENDS ${XDMF_JAVA_DIR})
+ add_custom_command(OUTPUT ${XDMF_JAVA_DIR}
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${XDMF_JAVA_DIR})
+ add_custom_target(Compiled_${java_name}_Jar ALL DEPENDS
+ ${${java_name}_JAVA_JAR})
+ add_custom_command(OUTPUT ${${java_name}_JAVA_JAR}
+ COMMAND ${CMAKE_COMMAND} -E chdir ${XDMF_JAVA_PACKAGE_DIR}
+ ${JAVA_COMPILE} -cp \".${java_cp_jars}\" ${java_files}
+ COMMAND ${JAVA_ARCHIVE} -cvf ${${java_name}_JAVA_JAR}
+ "${XDMF_JAVA_PACKAGE_DIR}/*.class")
+ add_dependencies(${java_name}Java ${java_name}_Java_Dir)
+ add_dependencies(Compiled_${java_name}_Jar ${java_name}Java)
+
+ if(NOT ${ARGN} EQUAL "")
+ add_dependencies(Compiled_${java_name}_Jar "${ARGN}")
+ endif()
+
+ set_property(DIRECTORY APPEND PROPERTY
+ ADDITIONAL_MAKE_CLEAN_FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/${java_name}.jar
+ ${XDMF_JAVA_DIR})
+
+ set(java_cp_jars "${java_cp_jars}${separator}${${java_name}_JAVA_JAR}")
+ string(TOUPPER ${java_name} java_name_upper)
+ set(${java_name_upper}_JAVA_JAR
+ ${CMAKE_INSTALL_PREFIX}/lib/java/${java_name}.jar)
+ get_directory_property(${java_name}Parent PARENT_DIRECTORY)
+ if(NOT "${${java_name}Parent}" STREQUAL "")
+ set(${java_name_upper}_JAVA_JAR ${${java_name_upper}_JAVA_JAR}
+ PARENT_SCOPE)
+ set(java_cp_jars "${java_cp_jars}" PARENT_SCOPE)
+ endif()
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${java_name}.jar
+ DESTINATION lib/java)
+ install(TARGETS ${SWIG_MODULE_${java_name}Java_REAL_NAME}
+ DESTINATION ${java_dest})
+ endmacro()
+endif()
+
+add_subdirectory(core)
+include_directories(${XdmfCore_INCLUDE_DIRS} ${XdmfDSM_INCLUDE_DIRS})
+link_directories(${XDMF_LIBRARY_DIRS})
+
+option(XDMF_BUILD_CORE_ONLY OFF)
+if(NOT XDMF_BUILD_CORE_ONLY)
+ set(XdmfSources
+ XdmfAggregate
+ XdmfAttribute
+ XdmfAttributeCenter
+ XdmfAttributeType
+ XdmfCurvilinearGrid
+ XdmfDomain
+ XdmfGeometry
+ XdmfGeometryType
+ XdmfGraph
+ XdmfGrid
+ XdmfGridCollection
+ XdmfGridCollectionType
+ XdmfGridController
+ XdmfGridTemplate
+ XdmfItemFactory
+ XdmfMap
+ XdmfReader
+ XdmfRectilinearGrid
+ XdmfRegularGrid
+ XdmfSet
+ XdmfSetType
+ XdmfTemplate
+ XdmfTime
+ XdmfTopology
+ XdmfTopologyType
+ XdmfUnstructuredGrid)
+
+ if(XDMF_STATIC_AND_SHARED)
+ add_library(XdmfObjects OBJECT ${XdmfSources})
+ set_target_properties(XdmfObjects PROPERTIES
+ POSITION_INDEPENDENT_CODE True)
+ add_library(${XDMF_LIBNAME} $<TARGET_OBJECTS:XdmfObjects>)
+ if (BUILD_SHARED_LIBS)
+ add_library(Xdmf_Static STATIC $<TARGET_OBJECTS:XdmfObjects>)
+ set_target_properties(Xdmf_Static PROPERTIES
+ OUTPUT_NAME "Xdmf")
+ endif (BUILD_SHARED_LIBS)
+ else()
+ add_library(${XDMF_LIBNAME} ${LIBTYPE} ${XdmfSources})
+ endif()
+ if(XDMF_BUILD_DSM)
+ target_link_libraries(${XDMF_LIBNAME} XdmfCore XdmfDSM)
+ if(XDMF_STATIC_AND_SHARED AND BUILD_SHARED_LIBS)
+ target_link_libraries(Xdmf_Static XdmfCore_Static XdmfDSM_Static)
+ endif()
+ else(XDMF_BUILD_DSM)
+ target_link_libraries(${XDMF_LIBNAME} XdmfCore)
+ if(XDMF_STATIC_AND_SHARED AND BUILD_SHARED_LIBS)
+ target_link_libraries(Xdmf_Static XdmfCore_Static)
+ endif ()
+ endif(XDMF_BUILD_DSM)
+ if (COMMAND vtk_target_install)
+ vtk_target_install(${XDMF_LIBNAME})
+ endif()
+
+ if(WIN32)
+ if (BUILD_SHARED_LIBS)
+ set_target_properties(${XDMF_LIBNAME} PROPERTIES
+ DEFINE_SYMBOL XDMF_EXPORTS)
+ if(XDMF_STATIC_AND_SHARED)
+ set_target_properties(Xdmf_Static PROPERTIES
+ DEFINE_SYMBOL Xdmf_EXPORTS)
+ endif()
+ endif ()
+ if(NOT MSVC10)
+ set_target_properties(${XDMF_LIBNAME} PROPERTIES
+ PREFIX ../
+ IMPORT_PREFIX ../
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}
+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}
+ ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
+ if(XDMF_STATIC_AND_SHARED AND BUILD_SHARED_LIBS)
+ set_target_properties(Xdmf_Static PROPERTIES
+ PREFIX ../
+ IMPORT_PREFIX ../
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}
+ LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}
+ ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
+ endif ()
+ endif()
+ endif()
+
+ if(XDMF_WRAP_JAVA)
+ XDMF_SWIG_JAVA(${XDMF_LIBNAME} Compiled_XdmfCore_Jar)
+ endif()
+
+ if(XDMF_WRAP_PYTHON)
+ if (NOT BUILD_SHARED_LIBS)
+ message(FATAL_ERROR "Python Wrappers do not function"
+ " properly without shared libraries")
+ endif (NOT BUILD_SHARED_LIBS)
+ if (XDMF_BUILD_DSM)
+ XDMF_SWIG_PYTHON(${XDMF_LIBNAME} XdmfCore XdmfDSM)
+ else()
+ XDMF_SWIG_PYTHON(${XDMF_LIBNAME} XdmfCore)
+ endif()
+ set(XDMF_PYTHON_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib/python/)
+ endif()
+
+ if(XDMF_BUILD_TESTING)
+ add_subdirectory(tests)
+ endif()
+
+ option(XDMF_BUILD_UTILS OFF)
+ if(XDMF_BUILD_UTILS)
+ add_subdirectory(utils)
+ endif()
+
+ if(WIN32)
+ set(XDMF_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib/${XDMF_LIBNAME}.lib)
+ endif()
- ELSE(XDMF_BUILD_VTK AND EXISTS ${VTK_INSTALL_PREFIX}${VTK_INSTALL_INCLUDE_DIR}/vtk_netcdf.h)
-
- # Build our own vtknetcdf library
- ADD_SUBDIRECTORY(Utilities/vtknetcdf)
-
- SET(XDMF_NETCDF_LIBRARIES vtkNetCDF)
- SET(NETCDF_INCLUDE_DIRS "${Xdmf_BINARY_DIR}/Utilities/vtknetcdf;${Xdmf_SOURCE_DIR}/Utilities/vtknetcdf")
- INCLUDE_DIRECTORIES(${NETCDF_INCLUDE_DIRS})
-
- SET(XDMF_NETCDF_INCLUDE_DIR_CONFIG ${NETCDF_INCLUDE_DIRS})
- SET(XDMF_NETCDF_INCLUDE_DIR_INSTALL_CONFIG ${CMAKE_INSTALL_PREFIX}/include/vtknetcdf)
- SET(XDMF_NETCDF_LIBRARY_DIR_CONFIG ${CMAKE_INSTALL_PREFIX}/bin)
- SET(XDMF_NETCDF_LIBRARY_DIR_INSTALL_CONFIG ${CMAKE_INSTALL_PREFIX}/lib)
+ if(UNIX)
+ if (BUILD_SHARED_LIBS)
+ set(XDMF_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib/lib${XDMF_LIBNAME}.so)
+ else (BUILD_SHARED_LIBS)
+ set(XDMF_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib/lib${XDMF_LIBNAME}.a)
+ endif (BUILD_SHARED_LIBS)
+ endif(UNIX)
+
+ if(APPLE)
+ set(XDMF_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib/lib${XDMF_LIBNAME}.dylib)
+ endif()
- ENDIF(XDMF_BUILD_VTK AND EXISTS ${VTK_INSTALL_PREFIX}${VTK_INSTALL_INCLUDE_DIR}/vtk_netcdf.h)
-
-ENDIF(XDMF_BUILD_UTILS)
-
-#############################################################################
-# EXODUSII LIBRARY
-
-IF(XDMF_BUILD_UTILS)
-
- IF(XDMF_BUILD_VTK AND EXISTS ${VTK_INSTALL_PREFIX}${VTK_INSTALL_INCLUDE_DIR}/vtkexodus2/exodusII.h)
-
- # Exodus library from vtk
- SET(XDMF_EXODUSII_LIBRARIES vtkexoIIc)
- SET(EXODUSII_INCLUDE_DIRS ${VTK_INSTALL_PREFIX}${VTK_INSTALL_INCLUDE_DIR}/vtkexodus2)
- INCLUDE_DIRECTORIES(${EXODUSII_INCLUDE_DIRS})
-
- # Set config.cmake paths
- SET(XDMF_EXODUSII_INCLUDE_DIR_CONFIG ${EXODUSII_INCLUDE_DIRS})
- SET(XDMF_EXODUSII_INCLUDE_DIR_INSTALL_CONFIG ${XDMF_EXODUSII_INCLUDE_DIR_CONFIG})
- SET(XDMF_EXODUSII_LIBRARY_DIR_CONFIG ${VTK_LIBRARY_DIRS})
- SET(XDMF_EXODUSII_LIBRARY_DIR_INSTALL_CONFIG ${XDMF_EXODUSII_LIBRARY_DIR_CONFIG})
-
- ELSE(XDMF_BUILD_VTK AND EXISTS ${VTK_INSTALL_PREFIX}${VTK_INSTALL_INCLUDE_DIR}/vtkexodus2/exodusII.h)
-
- # Build our own vtkexodus2 library
- ADD_SUBDIRECTORY(Utilities/vtkexodus2)
-
- SET(XDMF_EXODUSII_LIBRARIES vtkexoIIc)
- SET(EXODUSII_INCLUDE_DIRS "${Xdmf_BINARY_DIR}/Utilities/vtkexodus2/include;${Xdmf_SOURCE_DIR}/Utilities/vtkexodus2/include")
- INCLUDE_DIRECTORIES(${EXODUSII_INCLUDE_DIRS})
-
- # Set config.cmake paths
- SET(XDMF_EXODUSII_INCLUDE_DIR_CONFIG ${EXODUSII_INCLUDE_DIRS})
- SET(XDMF_EXODUSII_INCLUDE_DIR_INSTALL_CONFIG ${CMAKE_INSTALL_PREFIX}/include/vtkexodus2)
- SET(XDMF_EXODUSII_LIBRARY_DIR_CONFIG ${Xdmf_BINARY_DIR}/bin)
- SET(XDMF_EXODUSII_LIBRARY_DIR_INSTALL_CONFIG ${CMAKE_INSTALL_PREFIX}/lib)
-
- ENDIF(XDMF_BUILD_VTK AND EXISTS ${VTK_INSTALL_PREFIX}${VTK_INSTALL_INCLUDE_DIR}/vtkexodus2/exodusII.h)
-
-ENDIF(XDMF_BUILD_UTILS)
-
-#############################################################################
-# XML2 LIBRARY
-
-IF(XDMF_BUILD_VTK)
-
- # Libxml2 library from vtk
- SET(LIBXML2_LIBRARY ${VTK_LIBXML2_LIBRARIES})
- SET(XDMF_LIBXML2_INCLUDE_DIRS ${VTK_KITS_DIR}/vtklibxml2 ${VTK_INSTALL_PREFIX}${VTK_INSTALL_INCLUDE_DIR}/vtklibxml2)
- #SET(XDMF_LIBXML2_INCLUDE_DIRS ${VTK_INSTALL_PREFIX}${VTK_INSTALL_INCLUDE_DIR}/vtklibxml2)
- INCLUDE_DIRECTORIES(${XDMF_LIBXML2_INCLUDE_DIRS})
-
- # Set config.cmake paths
- SET(XDMF_LIBXML2_INCLUDE_DIR_CONFIG ${XDMF_LIBXML2_INCLUDE_DIRS})
- SET(XDMF_LIBXML2_INCLUDE_DIR_INSTALL_CONFIG ${XDMF_LIBXML2_INCLUDE_DIR_CONFIG})
- SET(XDMF_LIBXML2_LIBRARY_DIR_CONFIG ${VTK_LIBRARY_DIRS})
- SET(XDMF_LIBXML2_LIBRARY_DIR_INSTALL_CONFIG ${XDMF_LIBXML2_LIBRARY_DIR_CONFIG})
- SET(XDMF_LIBXML2_LIBRARIES ${LIBXML2_LIBRARY})
-
-ELSE(XDMF_BUILD_VTK)
- OPTION(XDMF_SYSTEM_LIBXML2 "Use system libxml2" OFF)
- IF(NOT XDMF_SYSTEM_LIBXML2)
-
- # Build our own vtklibxml2.
- SUBDIRS(Utilities/vtklibxml2)
-
- SET(LIBXML2_LIBRARY vtklibxml2)
- SET(XDMF_LIBXML2_INCLUDE_DIRS "${Xdmf_BINARY_DIR}/Utilities/vtklibxml2")
- INCLUDE_DIRECTORIES(${XDMF_LIBXML2_INCLUDE_DIRS})
-
- # Set config.cmake paths
- SET(XDMF_LIBXML2_INCLUDE_DIR_CONFIG ${XDMF_LIBXML2_INCLUDE_DIRS})
- SET(XDMF_LIBXML2_INCLUDE_DIR_INSTALL_CONFIG ${CMAKE_INSTALL_PREFIX}/include/vtklibxml2)
- SET(XDMF_LIBXML2_LIBRARY_DIR_CONFIG ${Xdmf_BINARY_DIR}/bin)
- SET(XDMF_LIBXML2_LIBRARY_DIR_INSTALL_CONFIG ${CMAKE_INSTALL_PREFIX}/lib)
- SET(XDMF_LIBXML2_LIBRARIES ${LIBXML2_LIBRARY})
-
- ELSE(NOT XDMF_SYSTEM_LIBXML2)
-
- # Use a libxml2 that is installed on the machine somewhere.
- FIND_LIBRARY(LIBXML2_LIBRARY
- xml2
- /usr/lib64
- /usr/lib
- /usr/local/lib)
- FIND_PATH(LIBXML2_INCLUDE_PATH
- libxml
- /usr/include/libxml2
- /usr/include)
- INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_PATH}
- ${LIBXML2_INCLUDE_PATH}/libxml2)
- SET(LIBXML2_LIBRARY ${LIBXML2_LIBS})
-
- # Set config.cmake paths
- SET(XDMF_LIBXML2_INCLUDE_DIR_CONFIG ${LIBXML2_INCLUDE_PATH})
- SET(XDMF_LIBXML2_INCLUDE_DIR_INSTALL_CONFIG ${XDMF_LIBXML2_INCLUDE_DIR_CONFIG})
- GET_FILENAME_COMPONENT(XDMF_LIBXML2_LIBRARY_DIR_CONFIG ${LIBXML2_LIBRARY} PATH)
- SET(XDMF_LIBXML2_LIBRARY_DIR_INSTALL_CONFIG ${XDMF_LIBXML2_LIBRARY_DIR_CONFIG})
- SET(XDMF_LIBXML2_LIBRARIES ${LIBXML2_LIBRARY})
-
- ENDIF(NOT XDMF_SYSTEM_LIBXML2)
-ENDIF(XDMF_BUILD_VTK)
-
-IF(MSVC_VERSION EQUAL 1400 OR MSVC_VERSION GREATER 1400)
- ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE
- -D_CRT_NONSTDC_NO_DEPRECATE
- -D_CRT_SECURE_NO_WARNINGS)
- ADD_DEFINITIONS(-D_SCL_SECURE_NO_DEPRECATE)
-ENDIF(MSVC_VERSION EQUAL 1400 OR MSVC_VERSION GREATER 1400)
-
-#############################################################################
-# MPI LIBRARY
-OPTION(XDMF_BUILD_MPI "Build MPI Objects" ON)
-SET(XDMF_MPI_LIBRARIES "")
-IF(XDMF_BUILD_MPI)
- INCLUDE (${CMAKE_ROOT}/Modules/FindMPI.cmake)
- IF (MPI_INCLUDE_PATH)
- SET(XDMF_MPI_INCLUDE_PATH ${MPI_INCLUDE_PATH})
- INCLUDE_DIRECTORIES(${MPI_INCLUDE_PATH})
- ENDIF(MPI_INCLUDE_PATH)
- IF (MPI_LIBRARY)
- SET(XDMF_MPI_LIBRARIES ${XDMF_MPI_LIBRARIES} ${MPI_LIBRARY})
- ELSE (MPI_LIBRARY)
- MESSAGE(FATAL_ERROR
- "Could not find the required MPI libraries, install MPI, or set MPI_INCLUDE_PATH and MPI_LIBRARY and MPI_EXTRA_LIBRARY, or turn XDMF_BUILD_MPI to OFF")
- ENDIF (MPI_LIBRARY)
- IF (MPI_EXTRA_LIBRARY)
- SET(XDMF_MPI_LIBRARIES ${XDMF_MPI_LIBRARIES} ${MPI_EXTRA_LIBRARY})
- ENDIF (MPI_EXTRA_LIBRARY)
-ELSE(XDMF_BUILD_MPI)
- ADD_DEFINITIONS("-DXDMF_NO_MPI")
-ENDIF(XDMF_BUILD_MPI)
-
-#############################################################################
-# HDF5 LIBRARY
-OPTION(XDMF_SYSTEM_HDF5 "Use system HDF5" OFF)
-IF(XDMF_SYSTEM_HDF5)
- OPTION(XDMF_SYSTEM_HDF5_IS_PARALLEL "HDF5 Built for MPI" OFF)
- IF (XDMF_SYSTEM_HDF5_IS_PARALLEL)
- ENDIF (XDMF_SYSTEM_HDF5_IS_PARALLEL)
- FIND_LIBRARY(HDF5_LIBRARY
- hdf5
- /usr/lib
- /opt/lib
- /usr/local/lib)
- FIND_PATH(HDF5_INCLUDE_PATH
- H5Ipublic.h
- /usr/include
- /opt/include
- /usr/local/include)
- MESSAGE(STATUS "Using system HDF5")
- INCLUDE_DIRECTORIES(${HDF5_INCLUDE_PATH})
-
- # Set config.cmake paths
- SET(XDMF_HDF5_INCLUDE_CONFIG ${HDF5_INCLUDE_PATH})
- SET(XDMF_HDF5_INCLUDE_INSTALL_CONFIG ${XDMF_HDF5_INCLUDE_CONFIG})
- GET_FILENAME_COMPONENT(XDMF_HDF5_LIBRARY_PATH_CONFIG ${HDF5_LIBRARY} PATH)
- SET(XDMF_HDF5_LIBRARY_PATH_INSTALL_CONFIG ${XDMF_HDF5_LIBRARY_PATH_CONFIG})
- SET(XDMF_HDF5_LIBRARIES ${HDF5_LIBRARY})
-
-ELSE(XDMF_SYSTEM_HDF5)
-
- # Build our own vtkhdf5
- INCLUDE_DIRECTORIES(${Xdmf_SOURCE_DIR}/Utilities/hdf5 ${Xdmf_BINARY_DIR}/Utilities/hdf5 ${Xdmf_SOURCE_DIR}/Utilities)
- SUBDIRS(Utilities)
- SET(HDF5_LIBRARY vtkhdf5)
- SET(HDF5_CONFIG "${Xdmf_BINARY_DIR}/Utilities/hdf5/HDF5Config.cmake")
- IF(EXISTS "${HDF5_CONFIG}")
- INCLUDE("${HDF5_CONFIG}")
- ADD_DEFINITIONS(${HDF5_EXTRA_FLAGS})
- ENDIF(EXISTS "${HDF5_CONFIG}")
-
- # Set config.cmake paths
- SET(XDMF_HDF5_INCLUDE_CONFIG ${Xdmf_SOURCE_DIR}/Utilities/hdf5 ${Xdmf_BINARY_DIR}/Utilities/hdf5 ${Xdmf_SOURCE_DIR}/Utilities)
- SET(XDMF_HDF5_INCLUDE_INSTALL_CONFIG ${CMAKE_INSTALL_PREFIX}/include/vtkhdf5)
- SET(XDMF_HDF5_LIBRARY_PATH_CONFIG ${Xdmf_BINARY_DIR}/bin)
- SET(XDMF_HDF5_LIBRARY_PATH_INSTALL_CONFIG ${CMAKE_INSTALL_PREFIX}/lib)
- SET(XDMF_HDF5_LIBRARIES ${HDF5_LIBRARY})
-
-ENDIF(XDMF_SYSTEM_HDF5)
-
-#############################################################################
-# stdlib and std namespace
-IF(XDMF_BUILD_VTK)
- # if using VTK, then copy the VTK value for VTK_USE_ANSI_STDLIB
- SET(XDMF_USE_ANSI_STDLIB "${VTK_USE_ANSI_STDLIB}" CACHE INTERNAL
- "ansi c++ stdlib flag")
-ELSE(XDMF_BUILD_VTK)
- # if not using VTK, then do the test for ansi stream headers
- # here
- INCLUDE(TestForANSIStreamHeaders)
- IF(CMAKE_NO_ANSI_STREAM_HEADERS)
- SET(XDMF_USE_ANSI_STDLIB FALSE CACHE INTERNAL "ansi c++ stdlib flag")
- ELSE(CMAKE_NO_ANSI_STREAM_HEADERS)
- SET(XDMF_USE_ANSI_STDLIB TRUE CACHE INTERNAL "ansi c++ stdlib flag")
- ENDIF(CMAKE_NO_ANSI_STREAM_HEADERS)
-ENDIF(XDMF_BUILD_VTK)
-INCLUDE(TestForSTDNamespace)
-
-# Enforce 0/1 as only possible values. Needed for the means by which
-# Configure.hxx is implemented.
-IF(CMAKE_NO_STD_NAMESPACE)
- SET(XDMF_NO_STD_NAMESPACE 1)
-ELSE(CMAKE_NO_STD_NAMESPACE)
- SET(XDMF_NO_STD_NAMESPACE 0)
-ENDIF(CMAKE_NO_STD_NAMESPACE)
-
-#############################################################################
-# Now build xdmf library
-SUBDIRS(libsrc)
-
-IF(XDMF_BUILD_VTK)
- SUBDIRS(vtk)
- INCLUDE_DIRECTORIES(${Xdmf_SOURCE_DIR}/vtk
- ${Xdmf_BINARY_DIR}/vtk)
-ENDIF(XDMF_BUILD_VTK)
-
-#############################################################################
-# Testing
-OPTION(BUILD_TESTING ON)
-IF(BUILD_TESTING)
- ENABLE_TESTING()
- CONFIGURE_FILE(${Xdmf_SOURCE_DIR}/CTestCustom.cmake.in
- ${Xdmf_BINARY_DIR}/CTestCustom.cmake @ONLY)
- INCLUDE(CTest)
- OPTION(VTK_USE_DISPLAY
- "Turn this option off and tests will not popup windows" ON)
- MARK_AS_ADVANCED(VTK_USE_DISPLAY)
-ENDIF(BUILD_TESTING)
-
-#############################################################################
-# Examples
-OPTION(XDMF_BUILD_EXAMPLES "Build C++ Examples" OFF)
-IF(XDMF_BUILD_EXAMPLES)
- SUBDIRS(Examples/Cxx)
-ENDIF(XDMF_BUILD_EXAMPLES)
-
-#############################################################################
-# RPATH Handling
-OPTION(XDMF_USE_RPATH "Build Xdmf with RPaths flag" ON)
-IF(XDMF_USE_RPATH)
- # use, i.e. don't skip the full RPATH for the build tree
- SET(CMAKE_SKIP_BUILD_RPATH FALSE)
-
- # when building, don't use the install RPATH already
- # (but later on when installing)
- SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
-
- # the RPATH to be used when installing
- SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
-
- # add the automatically determined parts of the RPATH
- # which point to directories outside the build tree to the install RPATH
- SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-ENDIF(XDMF_USE_RPATH)
-
-#############################################################################
-# Installation
-# This code has to be duplicated for install tree
-
-SET(XDMF_INCLUDE_DIRS_CONFIG
- ${Xdmf_SOURCE_DIR}/libsrc
- ${Xdmf_BINARY_DIR}/libsrc
+ file(GLOB XdmfHeaders
+ "*.hpp"
+ "*.tpp"
+ "*.i"
+ "CMake/VersionSuite/*.hpp"
+ "${CMAKE_CURRENT_BINARY_DIR}/*.hpp"
)
-SET(XDMF_LIBRARY_DIRS_CONFIG
- ${LIBRARY_OUTPUT_PATH})
-
-IF(XDMF_BUILD_VTK)
- SET(XDMF_INCLUDE_DIRS_CONFIG ${XDMF_INCLUDE_DIRS_CONFIG}
- ${Xdmf_SOURCE_DIR}/vtk
- ${Xdmf_BINARY_DIR}/vtk
- )
-ENDIF(XDMF_BUILD_VTK)
-
-IF(XDMF_SYSTEM_HDF5)
- SET(XDMF_INCLUDE_DIRS_CONFIG ${XDMF_INCLUDE_DIRS_CONFIG}
- ${HDF5_ZLIB_INCLUDE_DIRS})
-ELSE(XDMF_SYSTEM_HDF5)
- SET(XDMF_INCLUDE_DIRS_CONFIG ${XDMF_INCLUDE_DIRS_CONFIG}
- ${Xdmf_SOURCE_DIR}/Utilities/hdf5
- ${Xdmf_BINARY_DIR}/Utilities/hdf5)
-ENDIF(XDMF_SYSTEM_HDF5)
-
-IF(XDMF_BUILD_UTILS)
- SET(XDMF_INCLUDE_DIRS_CONFIG ${XDMF_INCLUDE_DIRS_CONFIG} ${Xdmf_SOURCE_DIR}/libsrc/utils ${Xdmf_BINARY_DIR}/libsrc/utils)
-ENDIF(XDMF_BUILD_UTILS)
-
-# Save the compiler settings so another project can import them.
-INCLUDE(${CMAKE_ROOT}/Modules/CMakeExportBuildSettings.cmake)
-CMAKE_EXPORT_BUILD_SETTINGS(${Xdmf_BINARY_DIR}/XDMFBuildSettings.cmake)
-
-SET(XDMF_BUILD_SETTINGS_FILE ${Xdmf_BINARY_DIR}/XDMFBuildSettings.cmake)
-SET(XDMF_USE_FILE "${Xdmf_SOURCE_DIR}/UseXDMF.cmake")
-SET(XDMF_KITS_DIR "${Xdmf_BINARY_DIR}/vtk/Utilities")
-
-#SET(XDMF_HDF5_LIBRARIES ${HDF5_LIBRARY})
-
-# Save library dependencies.
-EXPORT_LIBRARY_DEPENDENCIES(${Xdmf_BINARY_DIR}/XDMFLibraryDepends.cmake)
-SET(XDMF_LIBRARY_DEPENDS_FILE ${Xdmf_BINARY_DIR}/XDMFLibraryDepends.cmake)
-
-CONFIGURE_FILE(${Xdmf_SOURCE_DIR}/XDMFConfig.cmake.in
- ${Xdmf_BINARY_DIR}/XDMFConfig.cmake @ONLY IMMEDIATE)
-
-SET(XDMF_INSTALL_BIN_DIR "/bin")
-SET(XDMF_INSTALL_LIB_DIR "/lib")
-SET(XDMF_INSTALL_INCLUDE_DIR "/include")
-SET(XDMF_INSTALL_INCLUDE_VTK_DIR "/include")
-
-# Because INSTALL_* commands require a leading / and because INSTALL (cmake 2.4
-# and newer) requires no leading / to install under INSTALL_PREFIX, we
-# are stripping the leading /. In the future, there should be no leading
-# / in any install directory variables
-STRING(REGEX REPLACE "^/" "" VTK_INSTALL_LIB_DIR_CM24 "${XDMF_INSTALL_LIB_DIR}")
-STRING(REGEX REPLACE "^/" "" VTK_INSTALL_BIN_DIR_CM24 "${XDMF_INSTALL_BIN_DIR}")
-STRING(REGEX REPLACE "^/" "" VTK_INSTALL_INCLUDE_DIR_CM24 "${XDMF_INSTALL_INCLUDE_DIR}")
-STRING(REGEX REPLACE "^/" "" VTK_INSTALL_PACKAGE_DIR_CM24 "${XDMF_LIB_INCLUDE_DIR}/vtk")
-
-IF(NOT XDMF_INSTALL_NO_DEVELOPMENT)
- SET(XDMF_INSTALL_LIB_DIR_CM24 ${VTK_INSTALL_LIB_DIR_CM24})
- SET(XDMF_INSTALL_BIN_DIR_CM24 ${VTK_INSTALL_BIN_DIR_CM24})
- SET(XDMF_INSTALL_INCLUDE_DIR_CM24 ${VTK_INSTALL_INCLUDE_DIR_CM24})
- # Re-make XDMFConfig.cmake for installation
- SET(DOLLAR "$")
- SET(XDMF_HDF5_INCLUDE_CONFIG ${XDMF_HDF5_INCLUDE_INSTALL_CONFIG})
- SET(XDMF_HDF5_LIBRARY_PATH_CONFIG ${XDMF_HDF5_LIBRARY_PATH_INSTALL_CONFIG})
- SET(XDMF_LIBXML2_INCLUDE_DIR_CONFIG ${XDMF_LIBXML2_INCLUDE_DIR_INSTALL_CONFIG})
- SET(XDMF_LIBXML2_LIBRARY_DIR_CONFIG ${XDMF_LIBXML2_LIBRARY_DIR_INSTALL_CONFIG})
- SET(XDMF_ZLIB_INCLUDE_DIR_CONFIG ${XDMF_ZLIB_INCLUDE_DIR_INSTALL_CONFIG})
- SET(XDMF_ZLIB_LIBRARY_DIR_CONFIG ${XDMF_ZLIB_LIBRARY_DIR_INSTALL_CONFIG})
- SET(XDMF_EXODUSII_INCLUDE_DIR_CONFIG ${XDMF_EXODUSII_INCLUDE_DIR_INSTALL_CONFIG})
- SET(XDMF_EXODUSII_LIBRARY_DIR_CONFIG ${XDMF_EXODUSII_LIBRARY_DIR_INSTALL_CONFIG})
- SET(XDMF_METIS_INCLUDE_DIR_CONFIG ${XDMF_METIS_INCLUDE_DIR_INSTALL_CONFIG})
- SET(XDMF_METIS_LIBRARY_DIR_CONFIG ${XDMF_METIS_LIBRARY_DIR_INSTALL_CONFIG})
- SET(XDMF_NETCDF_INCLUDE_DIR_CONFIG ${XDMF_NETCDF_INCLUDE_DIR_INSTALL_CONFIG})
- SET(XDMF_NETCDF_LIBRARY_DIR_CONFIG ${XDMF_NETCDF_LIBRARY_DIR_INSTALL_CONFIG})
- SET(XDMF_INSTALL_DIR_CONFIG ${CMAKE_INSTALL_PREFIX})
- SET(XDMF_INCLUDE_DIRS_CONFIG
- ${DOLLAR}{XDMF_INSTALL_DIR}/include/
- ${XDMF_HDF5_INCLUDE_CONFIG}
- )
- IF(XDMF_BUILD_UTILS)
- SET(XDMF_INCLUDE_DIRS_CONFIG ${XDMF_INCLUDE_DIRS_CONFIG} ${DOLLAR}{XDMF_INSTALL_DIR}/include/utils)
- ENDIF(XDMF_BUILD_UTILS)
- SET(XDMF_LIBRARY_DIRS_CONFIG
- ${DOLLAR}{XDMF_INSTALL_DIR}/lib
- )
- SET(XDMF_USE_FILE ${DOLLAR}{XDMF_INSTALL_DIR}/lib/XdmfCMake/UseXDMF.cmake)
- SET(XDMF_BUILD_SETTINGS_FILE ${DOLLAR}{XDMF_INSTALL_DIR}/lib/XdmfCMake/XDMFBuildSettings.cmake)
- SET(XDMF_LIBRARY_DEPENDS_FILE ${DOLLAR}{XDMF_INSTALL_DIR}/lib/XdmfCMake/XDMFLibraryDepends.cmake)
- SET(XDMF_KITS_DIR ${DOLLAR}{XDMF_INSTALL_DIR}/vtk)
- CONFIGURE_FILE(${Xdmf_SOURCE_DIR}/XDMFConfig.cmake.in
- ${Xdmf_BINARY_DIR}/XDMFConfigInstall.cmake @ONLY IMMEDIATE)
- INSTALL(FILES
- ${Xdmf_BINARY_DIR}/XDMFLibraryDepends.cmake
- ${Xdmf_BINARY_DIR}/XDMFBuildSettings.cmake
- DESTINATION ${XDMF_INSTALL_LIB_DIR_CM24}/XdmfCMake
- COMPONENT Development
- )
- INSTALL(FILES
- ${Xdmf_BINARY_DIR}/XDMFConfigInstall.cmake
- DESTINATION ${XDMF_INSTALL_LIB_DIR_CM24}/XdmfCMake
- COMPONENT Development
- RENAME XDMFConfig.cmake
- )
-ENDIF(NOT XDMF_INSTALL_NO_DEVELOPMENT)
+ install(FILES ${XdmfHeaders} DESTINATION include)
+ install(TARGETS ${XDMF_LIBNAME}
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+ if (XDMF_STATIC_AND_SHARED AND BUILD_SHARED_LIBS)
+ install(TARGETS Xdmf_Static
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+ endif()
+endif()
+
+xdmf_create_config_file(${PROJECT_NAME})
+install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
+ DESTINATION ${CMAKE_INSTALL_PREFIX})
diff --git a/CTestConfig.cmake b/CTestConfig.cmake
old mode 100755
new mode 100644
index 6692ea2..f02c2a3
--- a/CTestConfig.cmake
+++ b/CTestConfig.cmake
@@ -1,14 +1,9 @@
-## This file should be placed in the root directory of your project.
-## Then modify the CMakeLists.txt file in the root directory of your
-## project to incorporate the testing dashboard.
-## # The following are required to uses Dart and the Cdash dashboard
-## ENABLE_TESTING()
-## INCLUDE(CTest)
-set(CTEST_PROJECT_NAME "Xdmf")
-set(CTEST_NIGHTLY_START_TIME "21:00:00 EST")
+SET(CTEST_NIGHTLY_START_TIME "00:00:00 EDT")
+SET(CTEST_PROJECT_NAME "XDMF")
-set(CTEST_DROP_METHOD "https")
-set(CTEST_DROP_SITE "hsai-web-origin.arl.army.mil")
-set(CTEST_DROP_LOCATION "/hsai/CDash/submit.php?project=Xdmf")
-set(CTEST_DROP_SITE_CDASH TRUE)
-set(CTEST_CURL_OPTIONS "CURLOPT_SSL_VERIFYPEER_OFF;CURLOPT_SSL_VERIFYHOST_OFF")
+SET(CTEST_DROP_METHOD "https")
+SET(CTEST_DROP_SITE "open.cdash.org")
+SET(CTEST_DROP_LOCATION "/submit.php?project=XDMF")
+
+SET(CTEST_DROP_SITE_CDASH True)
+SET(CTEST_CURL_OPTIONS "CURLOPT_SSL_VERIFYPEER_OFF;CURLOPT_SSL_VERIFYHOST_OFF")
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/xdmf.git
More information about the debian-science-commits
mailing list