From 64d1a001186173d5d4a62c1ac25cc9a65416b6a2 Mon Sep 17 00:00:00 2001 From: Markus Rickert Date: Thu, 19 Nov 2020 22:06:23 +0100 Subject: [PATCH] Add missing compile definition for static builds to CMake --- CMakeLists.txt | 4 ++++ libxml2-config.cmake.cmake.in | 3 +++ 2 files changed, 7 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index c918125a..1148e3e9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -424,6 +424,10 @@ endif() add_library(LibXml2 ${LIBXML2_HDRS} ${LIBXML2_SRCS}) +if(NOT BUILD_SHARED_LIBS) + target_compile_definitions(LibXml2 INTERFACE LIBXML_STATIC) +endif() + if(LIBXML2_WITH_THREADS) target_compile_definitions(LibXml2 PRIVATE _REENTRANT) if(WIN32) diff --git a/libxml2-config.cmake.cmake.in b/libxml2-config.cmake.cmake.in index 6e6fc7ab..4dec6275 100644 --- a/libxml2-config.cmake.cmake.in +++ b/libxml2-config.cmake.cmake.in @@ -8,6 +8,7 @@ # # LIBXML2_INCLUDE_DIRS - Directory where libxml2 headers are located. # LIBXML2_LIBRARIES - xml2 libraries to link against. +# LIBXML2_DEFINITIONS - the compiler switches required for using LibXml2 # LIBXML2_VERSION_MAJOR - The major version of libxml2. # LIBXML2_VERSION_MINOR - The minor version of libxml2. # LIBXML2_VERSION_PATCH - The patch version of libxml2. @@ -62,6 +63,8 @@ if(@LIBXML2_WITH_ICONV@) endif() if(NOT @BUILD_SHARED_LIBS@) + set(LIBXML2_DEFINITIONS -DLIBXML_STATIC) + if(@LIBXML2_WITH_THREADS@) find_dependency(Threads) list(APPEND LIBXML2_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) -- GitLab