1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/Utilities/exodusii/include
)
SET(XdmfUtilSource
XdmfDiff
XdmfExodusReader
XdmfExodusWriter
XdmfFortran
XdmfPartitioner
)
IF(XDMF_BUILD_MPI)
SET(XDMF_UTILS_PYTHON_FILE ${CMAKE_CURRENT_SOURCE_DIR}/XdmfUtils.py)
ELSE(XDMF_BUILD_MPI)
SET(XDMF_UTILS_PYTHON_FILE ${CMAKE_CURRENT_SOURCE_DIR}/XdmfUtilsNoMpi.py)
ENDIF(XDMF_BUILD_MPI)
IF(XDMF_REGENERATE_WRAPPERS)
IF(SWIG_EXECUTABLE)
FOREACH(LANGUAGE Python)
STRING(TOLOWER ${LANGUAGE} lang)
SET(XDMF_SWIG_INCLUDES ${XDMF_SWIG_INCLUDES} -I${CMAKE_CURRENT_SOURCE_DIR})
IF(XDMF_BUILD_MPI)
SET(swigtarget ${CMAKE_CURRENT_BINARY_DIR}/XdmfUtils${LANGUAGE}.cxx)
MESSAGE(${swigtarget})
ADD_CUSTOM_COMMAND(
OUTPUT ${swigtarget}
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/XdmfUtils.i
COMMAND ${SWIG_EXECUTABLE}
ARGS -v -c++ -make_default -includeall "-${lang}" ${swig_extra_args} ${XDMF_SWIG_INCLUDES} -o "${swigtarget}" XdmfUtils.i)
ELSE(XDMF_BUILD_MPI)
SET(swigtarget ${Xdmf_BINARY_DIR}/libsrc/utils/XdmfUtils${LANGUAGE}NoMpi.cxx)
ADD_CUSTOM_COMMAND(
OUTPUT ${swigtarget}
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/XdmfUtils.i
COMMAND ${SWIG_EXECUTABLE}
ARGS -v -c++ -DXDMF_NO_MPI -make_default -includeall "-${lang}" ${swig_extra_args} ${XDMF_SWIG_INCLUDES} -o "${swigtarget}" XdmfUtils.i)
ENDIF(XDMF_BUILD_MPI)
ENDFOREACH(LANGUAGE)
# ADD_CUSTOM_TARGET(RerunSwig DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/XdmfUtilsPython.cxx)
ENDIF(SWIG_EXECUTABLE)
SET(XDMF_UTILS_PYTHON_FILE ${CMAKE_CURRENT_BINARY_DIR}/XdmfUtils.py)
ENDIF(XDMF_REGENERATE_WRAPPERS)
IF(XDMF_WRAP_PYTHON)
IF(XDMF_BUILD_MPI)
ADD_LIBRARY(_XdmfUtils MODULE XdmfUtilsPython.cxx)
ELSE(XDMF_BUILD_MPI)
ADD_LIBRARY(_XdmfUtils MODULE XdmfUtilsPythonNoMpi.cxx)
ENDIF(XDMF_BUILD_MPI)
TARGET_LINK_LIBRARIES(_XdmfUtils XdmfUtils)
IF(WIN32 OR APPLE)
TARGET_LINK_LIBRARIES(_XdmfUtils ${PYTHON_LIBRARY})
ENDIF(WIN32 OR APPLE)
SET_TARGET_PROPERTIES(_XdmfUtils PROPERTIES PREFIX "")
ADD_DEPENDENCIES(_XdmfUtils XdmfUtils)
CONFIGURE_FILE(${XDMF_UTILS_PYTHON_FILE} XdmfUtils.py COPYONLY)
INSTALL(FILES ${XDMF_UTILS_PYTHON_FILE}
DESTINATION ${XDMF_WRAP_PYTHON_INSTALL_DIR}
COMPONENT Runtime
RENAME XdmfUtils.py # Always named the same regardless of build with or without mpi
)
ENDIF(XDMF_WRAP_PYTHON)
ADD_LIBRARY(XdmfUtils ${LIBTYPE} ${XdmfUtilSource})
TARGET_LINK_LIBRARIES(XdmfUtils Xdmf ${XDMF_EXODUSII_LIBRARIES}
${XDMF_NETCDF_LIBRARIES} metis)
ADD_EXECUTABLE(XdmfDiff XdmfDiff)
ADD_EXECUTABLE(XdmfExodusConverter XdmfExodusConverter)
ADD_EXECUTABLE(XdmfPartitioner XdmfPartitioner)
SET_TARGET_PROPERTIES(XdmfDiff XdmfPartitioner PROPERTIES COMPILE_FLAGS -DBUILD_EXE)
TARGET_LINK_LIBRARIES(XdmfDiff XdmfUtils)
TARGET_LINK_LIBRARIES(XdmfExodusConverter XdmfUtils)
TARGET_LINK_LIBRARIES(XdmfPartitioner XdmfUtils)
IF(NOT XDMF_INSTALL_NO_DEVELOPMENT)
FILE(GLOB devFiles RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h")
INSTALL(
FILES ${devFiles}
DESTINATION ${XDMF_INSTALL_INCLUDE_DIR_CM24}/utils)
ENDIF(NOT XDMF_INSTALL_NO_DEVELOPMENT)
IF(NOT XDMF_INSTALL_NO_LIBRARIES)
INSTALL(TARGETS XdmfExodusConverter XdmfDiff XdmfPartitioner XdmfUtils
RUNTIME DESTINATION ${XDMF_INSTALL_BIN_DIR_CM24} COMPONENT Runtime
LIBRARY DESTINATION ${XDMF_INSTALL_LIB_DIR_CM24} COMPONENT Runtime
ARCHIVE DESTINATION ${XDMF_INSTALL_LIB_DIR_CM24} COMPONENT Development)
INSTALL(
FILES XdmfSTLConverter.txx
DESTINATION ${XDMF_INSTALL_INCLUDE_DIR_CM24})
IF(XDMF_WRAP_PYTHON)
INSTALL(
TARGETS _XdmfUtils
DESTINATION
${XDMF_WRAP_PYTHON_INSTALL_DIR})
ENDIF(XDMF_WRAP_PYTHON)
ENDIF(NOT XDMF_INSTALL_NO_LIBRARIES)
|