CMake: Improve finding Iconv
Continue when Iconv can not be found. Silence warnings when testing if second argument for iconv() is const. Use correct include dir.
This commit is contained in:
@@ -154,15 +154,25 @@ if(wxUSE_LIBLZMA)
|
||||
find_package(LibLZMA REQUIRED)
|
||||
endif()
|
||||
|
||||
if(UNIX AND wxUSE_SECRETSTORE)
|
||||
# The required APIs are always available under MSW and OS X but we must
|
||||
# have GNOME libsecret under Unix to be able to compile this class.
|
||||
find_package(Libsecret REQUIRED)
|
||||
if(NOT LIBSECRET_FOUND)
|
||||
message(WARNING "libsecret not found, wxSecretStore won't be available")
|
||||
wx_option_force_value(wxUSE_SECRETSTORE OFF)
|
||||
if(UNIX)
|
||||
if(wxUSE_SECRETSTORE)
|
||||
# The required APIs are always available under MSW and OS X but we must
|
||||
# have GNOME libsecret under Unix to be able to compile this class.
|
||||
find_package(Libsecret REQUIRED)
|
||||
if(NOT LIBSECRET_FOUND)
|
||||
message(WARNING "libsecret not found, wxSecretStore won't be available")
|
||||
wx_option_force_value(wxUSE_SECRETSTORE OFF)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(wxUSE_LIBICONV)
|
||||
find_package(Iconv)
|
||||
if(NOT ICONV_FOUND)
|
||||
message(WARNING "iconv not found")
|
||||
wx_option_force_value(wxUSE_LIBICONV OFF)
|
||||
endif()
|
||||
endif()
|
||||
endif(UNIX)
|
||||
|
||||
if(wxUSE_GUI)
|
||||
if(WXMSW AND wxUSE_METAFILE)
|
||||
|
@@ -48,8 +48,8 @@ if(UNIX AND wxUSE_SECRETSTORE)
|
||||
wx_lib_include_directories(base PRIVATE ${LIBSECRET_INCLUDE_DIRS})
|
||||
wx_lib_link_libraries(base PRIVATE ${LIBSECRET_LIBRARIES})
|
||||
endif()
|
||||
if(wxUSE_LIBICONV AND ICONV_FOUND)
|
||||
wx_lib_include_directories(base PRIVATE ${ICONV_INCLUDE_DIRS})
|
||||
if(wxUSE_LIBICONV)
|
||||
wx_lib_include_directories(base PRIVATE ${ICONV_INCLUDE_DIR})
|
||||
wx_lib_link_libraries(base PRIVATE ${ICONV_LIBRARIES})
|
||||
endif()
|
||||
if(wxUSE_THREADS AND CMAKE_THREAD_LIBS_INIT)
|
||||
|
@@ -25,6 +25,7 @@ ENDIF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
|
||||
|
||||
set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR})
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES})
|
||||
set(CMAKE_REQUIRED_QUIET ON)
|
||||
IF(ICONV_FOUND)
|
||||
check_cxx_source_compiles("
|
||||
#include <iconv.h>
|
||||
@@ -41,6 +42,7 @@ IF(ICONV_FOUND)
|
||||
ENDIF(ICONV_FOUND)
|
||||
set(CMAKE_REQUIRED_INCLUDES)
|
||||
set(CMAKE_REQUIRED_LIBRARIES)
|
||||
set(CMAKE_REQUIRED_QUIET)
|
||||
|
||||
IF(ICONV_FOUND)
|
||||
IF(NOT ICONV_FIND_QUIETLY)
|
||||
|
@@ -217,9 +217,8 @@ macro(wx_get_socket_param_type name code)
|
||||
endmacro()
|
||||
|
||||
# the following tests are for Unix(like) systems only
|
||||
if(NOT WIN32)
|
||||
if(wxUSE_LIBICONV AND NOT APPLE)
|
||||
find_package(Iconv REQUIRED)
|
||||
if(UNIX)
|
||||
if(wxUSE_LIBICONV)
|
||||
set(HAVE_ICONV ON)
|
||||
set(ICONV_CONST " ")
|
||||
if(ICONV_SECOND_ARGUMENT_IS_CONST)
|
||||
@@ -419,8 +418,8 @@ if(NOT WIN32)
|
||||
check_symbol_exists(getservbyname netdb.h HAVE_GETSERVBYNAME)
|
||||
check_symbol_exists(inet_aton arpa/inet.h HAVE_INET_ATON)
|
||||
check_symbol_exists(inet_addr arpa/inet.h HAVE_INET_ADDR)
|
||||
endif() # wxUSE_SOCKETS
|
||||
endif() # NOT WIN32
|
||||
endif(wxUSE_SOCKETS)
|
||||
endif(UNIX)
|
||||
|
||||
if(CMAKE_USE_PTHREADS_INIT)
|
||||
cmake_push_check_state(RESET)
|
||||
|
Reference in New Issue
Block a user