diff options
author | Brad King <brad.king@kitware.com> | 2023-06-23 15:01:19 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-06-23 15:01:48 (GMT) |
commit | 09df135b606a019b63ecfbb59cf08b2aa1bd4f5c (patch) | |
tree | ceaa2a4d050800a0f1b29f259cbbd43ca1de67cc | |
parent | 483c971940836043c3189aef3cff2a22d264ae8e (diff) | |
parent | 302501ad363628176d15bf91687d9adc4df6e5ce (diff) | |
download | CMake-09df135b606a019b63ecfbb59cf08b2aa1bd4f5c.zip CMake-09df135b606a019b63ecfbb59cf08b2aa1bd4f5c.tar.gz CMake-09df135b606a019b63ecfbb59cf08b2aa1bd4f5c.tar.bz2 |
Merge topic 'FindEXPAT-static'
302501ad36 FindEXPAT: add a EXPAT_USE_STATIC_LIBS hint
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8572
-rw-r--r-- | Help/release/dev/FindEXPAT-static.rst | 5 | ||||
-rw-r--r-- | Modules/FindEXPAT.cmake | 23 |
2 files changed, 26 insertions, 2 deletions
diff --git a/Help/release/dev/FindEXPAT-static.rst b/Help/release/dev/FindEXPAT-static.rst new file mode 100644 index 0000000..8808ebd --- /dev/null +++ b/Help/release/dev/FindEXPAT-static.rst @@ -0,0 +1,5 @@ +FindEXPAT-static +---------------- + +* The :module:`FindEXPAT` module gained a ``EXPAT_USE_STATIC_LIBS`` hint + to select static libraries. diff --git a/Modules/FindEXPAT.cmake b/Modules/FindEXPAT.cmake index 3bedc73..762931e 100644 --- a/Modules/FindEXPAT.cmake +++ b/Modules/FindEXPAT.cmake @@ -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) |