GenerateExportHeader: Allow use of of this macro with MODULEs.
The significant issue with MODULEs is that on Windows, the exported symbols must be dllexported and they are not imported. In other export macro implementations this is done by defining an export macro outside of any ifdef which depends on definitions set on the command line. However, with cmake we already expect the DEFINE_SYMBOL to be defined, so the regular EXPORT macro can be used by such plugins.
This commit is contained in:
parent
711073e8c6
commit
7ffef5024a
|
@ -307,11 +307,9 @@ endmacro()
|
||||||
|
|
||||||
function(GENERATE_EXPORT_HEADER TARGET_LIBRARY)
|
function(GENERATE_EXPORT_HEADER TARGET_LIBRARY)
|
||||||
get_property(type TARGET ${TARGET_LIBRARY} PROPERTY TYPE)
|
get_property(type TARGET ${TARGET_LIBRARY} PROPERTY TYPE)
|
||||||
if(${type} STREQUAL "MODULE")
|
if(NOT ${type} STREQUAL "STATIC_LIBRARY"
|
||||||
message(WARNING "This macro should not be used with libraries of type MODULE")
|
AND NOT ${type} STREQUAL "SHARED_LIBRARY"
|
||||||
return()
|
AND NOT ${type} STREQUAL "MODULE_LIBRARY")
|
||||||
endif()
|
|
||||||
if(NOT ${type} STREQUAL "STATIC_LIBRARY" AND NOT ${type} STREQUAL "SHARED_LIBRARY")
|
|
||||||
message(WARNING "This macro can only be used with libraries")
|
message(WARNING "This macro can only be used with libraries")
|
||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
Loading…
Reference in New Issue