summaryrefslogtreecommitdiffstats
path: root/libmariadb/cmake/export.cmake
blob: 5ae2b74f12ec7f380ffb20278be3cc16e03e6ab4 (plain)
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
#
#  Copyright (C) 2013-2016 MariaDB Corporation AB
#
#  Redistribution and use is allowed according to the terms of the New
#  BSD license.
#  For details see the COPYING-CMAKE-SCRIPTS file.
#
MACRO(CREATE_EXPORT_FILE op outfile version symbols alias_version)
  IF(WIN32)
    SET(EXPORT_CONTENT "EXPORTS\n")
    FOREACH(exp_symbol ${symbols})
      SET(EXPORT_CONTENT ${EXPORT_CONTENT} "${exp_symbol}\n")
    ENDFOREACH()
  ELSE()
    SET(EXPORT_CONTENT "VERSION {\n${version} {\nglobal:\n")
    FOREACH(exp_symbol ${symbols})
      SET(EXPORT_CONTENT "${EXPORT_CONTENT} ${exp_symbol}\\;\n")
    ENDFOREACH()
    SET(EXPORT_CONTENT "${EXPORT_CONTENT}local:\n *\\;\n}\\;\n")
    IF ("${alias_version}" STRGREATER "")
      SET(EXPORT_CONTENT "${EXPORT_CONTENT}${alias_version} {\n}\\;\n}\\;\n")
      FOREACH(exp_symbol ${symbols})
        SET(EXPORT_CONTENT "${EXPORT_CONTENT}\"${exp_symbol}@${alias_version}\" = ${exp_symbol}\\;\n")
      ENDFOREACH()
    ELSE()
      SET(EXPORT_CONTENT "${EXPORT_CONTENT}}\\;\n")
    ENDIF()
  ENDIF()
  FILE(${op} ${CMAKE_CURRENT_BINARY_DIR}/${outfile} ${EXPORT_CONTENT})
ENDMACRO()