1 # 2 # Copyright (C) 2013-2016 MariaDB Corporation AB 3 # 4 # Redistribution and use is allowed according to the terms of the New 5 # BSD license. 6 # For details see the COPYING-CMAKE-SCRIPTS file. 7 # 8 MACRO(CREATE_EXPORT_FILE op outfile version symbols alias_version) 9 IF(WIN32) 10 SET(EXPORT_CONTENT "EXPORTS\n") 11 FOREACH(exp_symbol ${symbols}) 12 SET(EXPORT_CONTENT ${EXPORT_CONTENT} "${exp_symbol}\n") 13 ENDFOREACH() 14 ELSE() 15 SET(EXPORT_CONTENT "VERSION {\n${version} {\nglobal:\n") 16 FOREACH(exp_symbol ${symbols}) 17 SET(EXPORT_CONTENT "${EXPORT_CONTENT} ${exp_symbol}\\;\n") 18 ENDFOREACH() 19 SET(EXPORT_CONTENT "${EXPORT_CONTENT}local:\n *\\;\n}\\;\n") 20 IF ("${alias_version}" STRGREATER "") 21 SET(EXPORT_CONTENT "${EXPORT_CONTENT}${alias_version} {\n}\\;\n}\\;\n") 22 FOREACH(exp_symbol ${symbols}) 23 SET(EXPORT_CONTENT "${EXPORT_CONTENT}\"${exp_symbol}@${alias_version}\" = ${exp_symbol}\\;\n") 24 ENDFOREACH() 25 ELSE() 26 SET(EXPORT_CONTENT "${EXPORT_CONTENT}}\\;\n") 27 ENDIF() 28 ENDIF() 29 FILE(${op} ${CMAKE_CURRENT_BINARY_DIR}/${outfile} ${EXPORT_CONTENT}) 30 ENDMACRO()