mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 19:38:20 +00:00
Merge #19139 build(cmake): fix static libintl on macOS
This commit is contained in:
1
.github/workflows/release.yml
vendored
1
.github/workflows/release.yml
vendored
@@ -102,6 +102,7 @@ jobs:
|
|||||||
brew uninstall $(brew uses --installed --recursive gettext)
|
brew uninstall $(brew uses --installed --recursive gettext)
|
||||||
brew unlink gettext
|
brew unlink gettext
|
||||||
ln -sf "$(brew --prefix)/opt/$(readlink "${GETTEXT_PREFIX}")/bin"/* /usr/local/bin/
|
ln -sf "$(brew --prefix)/opt/$(readlink "${GETTEXT_PREFIX}")/bin"/* /usr/local/bin/
|
||||||
|
ln -sf "$(brew --prefix)/opt/$(readlink "${GETTEXT_PREFIX}")/include"/* /usr/local/include/
|
||||||
rm -f "$GETTEXT_PREFIX"
|
rm -f "$GETTEXT_PREFIX"
|
||||||
- name: Build release
|
- name: Build release
|
||||||
run: |
|
run: |
|
||||||
|
@@ -41,6 +41,16 @@ endif()
|
|||||||
if (MSVC)
|
if (MSVC)
|
||||||
list(APPEND CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY})
|
list(APPEND CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# On macOS, if libintl is a static library then we also need
|
||||||
|
# to link libiconv and CoreFoundation.
|
||||||
|
get_filename_component(LibIntl_EXT "${LibIntl_LIBRARY}" EXT)
|
||||||
|
if (APPLE AND (LibIntl_EXT STREQUAL ".a"))
|
||||||
|
set(LibIntl_STATIC TRUE)
|
||||||
|
find_library(CoreFoundation_FRAMEWORK CoreFoundation)
|
||||||
|
list(APPEND CMAKE_REQUIRED_LIBRARIES "${ICONV_LIBRARY}" "${CoreFoundation_FRAMEWORK}")
|
||||||
|
endif()
|
||||||
|
|
||||||
check_c_source_compiles("
|
check_c_source_compiles("
|
||||||
#include <libintl.h>
|
#include <libintl.h>
|
||||||
|
|
||||||
@@ -54,6 +64,9 @@ int main(int argc, char** argv) {
|
|||||||
if (MSVC)
|
if (MSVC)
|
||||||
list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY})
|
list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY})
|
||||||
endif()
|
endif()
|
||||||
|
if (LibIntl_STATIC)
|
||||||
|
list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES "${ICONV_LIBRARY}" "${CoreFoundation_FRAMEWORK}")
|
||||||
|
endif()
|
||||||
if (LibIntl_INCLUDE_DIR)
|
if (LibIntl_INCLUDE_DIR)
|
||||||
list(REMOVE_ITEM CMAKE_REQUIRED_INCLUDES "${LibIntl_INCLUDE_DIR}")
|
list(REMOVE_ITEM CMAKE_REQUIRED_INCLUDES "${LibIntl_INCLUDE_DIR}")
|
||||||
endif()
|
endif()
|
||||||
|
Reference in New Issue
Block a user