diff options
author | Sascha Cunz <sascha.cunz@gmail.com> | 2014-01-30 02:30:55 +0000 |
---|---|---|
committer | Sascha Cunz <sascha.cunz@gmail.com> | 2014-01-30 02:35:09 +0000 |
commit | 6e0ff093fb955adeeeed5c83a0fafc568d4b8074 (patch) | |
tree | ead9ed91d2863dc4596a397c5b887f3ec68d746b /cmake | |
parent | 39949f0604cb009d850ff080f630ccdf7ab11715 (diff) | |
download | libgit2-6e0ff093fb955adeeeed5c83a0fafc568d4b8074.tar.gz |
Find and use a MacPorts version of libiconv. Fixes #2017.
- Add correct -I, -L and -l flags
- Search for libiconv in /opt/local/[include|lib] before in the
system path. See #2017 for details.
- Give splitted -L and -l arguments to pkg-config
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/Modules/FindIconv.cmake | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/cmake/Modules/FindIconv.cmake b/cmake/Modules/FindIconv.cmake index 487b2f557..f1406c557 100644 --- a/cmake/Modules/FindIconv.cmake +++ b/cmake/Modules/FindIconv.cmake @@ -11,15 +11,23 @@ IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) SET(ICONV_FIND_QUIETLY TRUE) ENDIF() +FIND_PATH(ICONV_INCLUDE_DIR iconv.h PATHS /opt/local/include NO_DEFAULT_PATH) FIND_PATH(ICONV_INCLUDE_DIR iconv.h) -FIND_LIBRARY(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c PATH) +FIND_LIBRARY(iconv_lib NAMES iconv libiconv libiconv-2 c NO_DEFAULT_PATH PATHS /opt/local/lib) +FIND_LIBRARY(iconv_lib NAMES iconv libiconv libiconv-2 c) -IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) +IF(ICONV_INCLUDE_DIR AND iconv_lib) SET(ICONV_FOUND TRUE) ENDIF() IF(ICONV_FOUND) + # split iconv into -L and -l linker options, so we can set them for pkg-config + GET_FILENAME_COMPONENT(iconv_path ${iconv_lib} PATH) + GET_FILENAME_COMPONENT(iconv_name ${iconv_lib} NAME_WE) + STRING(REGEX REPLACE "^lib" "" iconv_name ${iconv_name}) + SET(ICONV_LIBRARIES -L${iconv_path} -l${iconv_name}) + IF(NOT ICONV_FIND_QUIETLY) MESSAGE(STATUS "Found Iconv: ${ICONV_LIBRARIES}") ENDIF(NOT ICONV_FIND_QUIETLY) |