Merge topic 'FindEXPAT-static'

302501ad36 FindEXPAT: add a EXPAT_USE_STATIC_LIBS hint

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8572
This commit is contained in:
Brad King
2023-06-23 15:01:19 +00:00
committed by Kitware Robot
2 changed files with 26 additions and 2 deletions

View File

@@ -0,0 +1,5 @@
FindEXPAT-static
----------------
* The :module:`FindEXPAT` module gained a ``EXPAT_USE_STATIC_LIBS`` hint
to select static libraries.

View File

@@ -30,6 +30,15 @@ This module will set the following variables in your project:
``EXPAT_FOUND``
true if the Expat headers and libraries were found.
Hints
^^^^^
``EXPAT_USE_STATIC_LIBS``
.. versionadded:: 3.28
Set to ``TRUE`` to use static libraries.
#]=======================================================================]
find_package(PkgConfig QUIET)
@@ -43,8 +52,13 @@ set(EXPAT_NAMES expat expatw)
set(EXPAT_NAMES_DEBUG expatd expatwd)
if(WIN32)
list(APPEND EXPAT_NAMES expatMT expatMD expatwMT expatwMD)
list(APPEND EXPAT_NAMES_DEBUG expatdMT expatdMD expatwdMT expatwdMD)
if(EXPAT_USE_STATIC_LIBS)
list(APPEND EXPAT_NAMES expatMT expatwMT)
list(APPEND EXPAT_NAMES_DEBUG expatdMT expatwdMT)
else()
list(APPEND EXPAT_NAMES expatMT expatMD expatwMT expatwMD)
list(APPEND EXPAT_NAMES_DEBUG expatdMT expatdMD expatwdMT expatwdMD)
endif()
endif()
# Allow EXPAT_LIBRARY to be set manually, as the location of the expat library
@@ -115,6 +129,11 @@ if(EXPAT_FOUND)
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
INTERFACE_INCLUDE_DIRECTORIES "${EXPAT_INCLUDE_DIRS}")
if(EXPAT_USE_STATIC_LIBS)
set_property(TARGET EXPAT::EXPAT APPEND PROPERTY
INTERFACE_COMPILE_DEFINITIONS "XML_STATIC")
endif()
if(EXPAT_LIBRARY_RELEASE)
set_property(TARGET EXPAT::EXPAT APPEND PROPERTY
IMPORTED_CONFIGURATIONS RELEASE)