mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-30 18:29:37 -06:00
FindEXPAT: Implement EXPAT_USE_STATIC_LIBS for non-Windows platforms
In commit 302501ad36 (FindEXPAT: add a EXPAT_USE_STATIC_LIBS hint,
2023-06-19, v3.28.0-rc1~447^2) this flag was introduced but was only
implemented for windows like systems. To make the flag complete and also
behave as you would expect on non-windows systems cmake also looks for
`.a` files now.
Fixes: #26177
This commit is contained in:
committed by
Brad King
parent
2903eb1963
commit
cee34d7ab3
@@ -39,6 +39,10 @@ Hints
|
||||
|
||||
Set to ``TRUE`` to use static libraries.
|
||||
|
||||
.. versionadded:: 3.31
|
||||
|
||||
Implemented on non-Windows platforms.
|
||||
|
||||
#]=======================================================================]
|
||||
|
||||
cmake_policy(PUSH)
|
||||
@@ -72,10 +76,24 @@ if(NOT EXPAT_LIBRARY)
|
||||
set(_expat_ORIG_CMAKE_FIND_LIBRARY_PREFIXES)
|
||||
endif()
|
||||
|
||||
if(DEFINED CMAKE_FIND_LIBRARY_SUFFIXES)
|
||||
set(_expat_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_FIND_LIBRARY_SUFFIXES}")
|
||||
else()
|
||||
set(_expat_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
list(APPEND CMAKE_FIND_LIBRARY_PREFIXES "" "lib")
|
||||
endif()
|
||||
|
||||
if (EXPAT_USE_STATIC_LIBS)
|
||||
if(WIN32)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
else()
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES .a)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Look for the library.
|
||||
find_library(EXPAT_LIBRARY_RELEASE NAMES ${EXPAT_NAMES} NAMES_PER_DIR HINTS ${PC_EXPAT_LIBRARY_DIRS} PATH_SUFFIXES lib)
|
||||
find_library(EXPAT_LIBRARY_DEBUG NAMES ${EXPAT_NAMES_DEBUG} NAMES_PER_DIR HINTS ${PC_EXPAT_LIBRARY_DIRS} PATH_SUFFIXES lib)
|
||||
@@ -87,6 +105,12 @@ if(NOT EXPAT_LIBRARY)
|
||||
set(CMAKE_FIND_LIBRARY_PREFIXES)
|
||||
endif()
|
||||
|
||||
if(DEFINED _expat_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES "${_expat_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}")
|
||||
else()
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES)
|
||||
endif()
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
|
||||
select_library_configurations(EXPAT)
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user