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