1INCLUDE_DIRECTORIES( 2 ${HDF5_INCLUDE_DIRS} 3 ${MPI_INCLUDE_DIRS} 4) 5 6# Needed by all targets: 7ADD_DEFINITIONS(-DMED_MESGERR_FOR_TOOLS) 8INCLUDE_DIRECTORIES(include) 9 10# Those two need specific includes: 11ADD_SUBDIRECTORY("2.1.x") 12ADD_SUBDIRECTORY("2.3.1") 13 14# For the rest: 15INCLUDE_DIRECTORIES("${PROJECT_BINARY_DIR}/include" 16 "${PROJECT_SOURCE_DIR}/include") 17 18ADD_SUBDIRECTORY("2.3.6") 19ADD_SUBDIRECTORY("3.0.0") 20ADD_SUBDIRECTORY("3.1.0") 21ADD_SUBDIRECTORY("3.2.0") 22 23SET(medimporttop_SOURCES 24 libmedimport.c 25 MAJ_version.c 26) 27 28SET(medimport_SOURCES 29 $<TARGET_OBJECTS:_medimport21x> 30 $<TARGET_OBJECTS:_medimport231> 31 $<TARGET_OBJECTS:_medimport236> 32 $<TARGET_OBJECTS:_medimport300> 33 $<TARGET_OBJECTS:_medimport310> 34 $<TARGET_OBJECTS:_medimport320> 35 ${medimporttop_SOURCES} 36) 37 38SET(medimport_static_SOURCES 39 $<TARGET_OBJECTS:_medimport21x_static> 40 $<TARGET_OBJECTS:_medimport231_static> 41 $<TARGET_OBJECTS:_medimport236_static> 42 $<TARGET_OBJECTS:_medimport300_static> 43 $<TARGET_OBJECTS:_medimport310_static> 44 $<TARGET_OBJECTS:_medimport320_static> 45 ${medimporttop_SOURCES} 46) 47 48# Shared version 49IF(MEDFILE_BUILD_SHARED_LIBS) 50 ADD_LIBRARY(medimportengine SHARED ${medimport_SOURCES}) 51 IF(WIN32) 52 MED_SET_DEFINITIONS(medimportengine medimport_EXPORTS MEDIMPORTCXX_DLL_EXPORTS) 53 ENDIF() 54 SET_TARGET_PROPERTIES(medimportengine PROPERTIES 55 VERSION @MEDIMPORT_CMAKE_SO_VERSION@ 56 SOVERSION @MEDIMPORT_CMAKE_SO_MAJ@.@MEDIMPORT_CMAKE_SO_MIN@.@MEDIMPORT_CMAKE_SO_REL@) 57 TARGET_LINK_LIBRARIES(medimportengine medC) 58 SET_TARGET_PROPERTIES(medimportengine PROPERTIES OUTPUT_NAME medimport) 59 INSTALL(TARGETS medimportengine DESTINATION lib) 60 SET(_lib_to_link "medimportengine") 61ENDIF() 62 63# Static version 64IF(MEDFILE_BUILD_STATIC_LIBS) 65 ADD_LIBRARY(medimportengine_static STATIC ${medimport_static_SOURCES}) 66 TARGET_LINK_LIBRARIES(medimportengine_static medC_static) 67 MED_SET_DEFINITIONS(medimportengine_static MED3_USESTATIC) 68 SET_TARGET_PROPERTIES(medimportengine_static PROPERTIES OUTPUT_NAME medimport) 69 INSTALL(TARGETS medimportengine_static DESTINATION lib) 70 # Give precendence to the shared object for the linking of 71 # the executable medimport: 72 IF(NOT _lib_to_link) 73 SET(_lib_to_link "medimportengine_static") 74 ENDIF() 75ENDIF() 76 77# Only build the medimport executable on certain 78# conditions to avoid a nasty name conflict: 79IF(NOT (WIN32 AND MEDFILE_BUILD_STATIC_LIBS)) 80 ADD_EXECUTABLE(medimport medimportcxx.cxx) 81 IF(MEDFILE_BUILD_STATIC_LIBS) 82 MED_SET_DEFINITIONS(medimport MED3_USESTATIC) 83 ENDIF() 84 TARGET_LINK_LIBRARIES(medimport ${_lib_to_link}) 85 86 # Installation 87 INSTALL(TARGETS medimport DESTINATION bin ) 88ENDIF() 89 90INSTALL(FILES include/medimport_win_dll.h include/MEDimport.h include/MEDimport.hxx include/medimportcxx_win_dll.h DESTINATION include) 91