mirror of
https://github.com/zeux/pugixml.git
synced 2024-12-27 22:01:03 +08:00
CMake: Add __declspec(dllexport) for shared library builds
This makes sure that MSVC shared library build actually exports all the needed symbols and generates import table. Somehow, this is actually enough to make pugixml link as a DLL - there's no need to specify __declspec(dllimport) even though pugixml exports classes via DLL. Fixes #113.
This commit is contained in:
parent
492ebc22bc
commit
6016e2180e
@ -42,6 +42,11 @@ else()
|
|||||||
add_library(pugixml STATIC ${SOURCES})
|
add_library(pugixml STATIC ${SOURCES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Export symbols for shared library builds
|
||||||
|
if(BUILD_SHARED_LIBS AND MSVC)
|
||||||
|
target_compile_definitions(pugixml PRIVATE "PUGIXML_API=__declspec(dllexport)")
|
||||||
|
endif()
|
||||||
|
|
||||||
# Enable C++11 long long for compilers that are capable of it
|
# Enable C++11 long long for compilers that are capable of it
|
||||||
if(NOT ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} STRLESS 3.1 AND ";${CMAKE_CXX_COMPILE_FEATURES};" MATCHES ";cxx_long_long_type;")
|
if(NOT ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} STRLESS 3.1 AND ";${CMAKE_CXX_COMPILE_FEATURES};" MATCHES ";cxx_long_long_type;")
|
||||||
target_compile_features(pugixml PUBLIC cxx_long_long_type)
|
target_compile_features(pugixml PUBLIC cxx_long_long_type)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user