build: Add uchardet CLI tool building support for MSVC

This commit is contained in:
myd7349 2020-04-25 18:43:02 +08:00 committed by Jehan Pagès
parent 5bcbd23acf
commit 8681fc060e

View File

@ -3,6 +3,18 @@ set(
uchardet.cpp
)
include(CheckSymbolExists)
check_symbol_exists(getopt_long "getopt.h" HAVE_GETOPT_LONG)
# On Windows with MSVC, `getopt_long` is not available by default.
# But some third-party libraries can be used. For example, in `vcpkg`,
# we can find a port named `getopt-win32`.
if (NOT HAVE_GETOPT_LONG)
find_path(GETOPT_INCLUDE_DIR NAMES getopt.h)
find_library(GETOPT_LIBRARY NAMES getopt)
endif (NOT HAVE_GETOPT_LONG)
set(UCHARDET_BINARY uchardet)
add_executable(
@ -10,6 +22,11 @@ add_executable(
${UCHARDET_SOURCES}
)
if (GETOPT_INCLUDE_DIR AND GETOPT_LIBRARY)
target_include_directories(${UCHARDET_BINARY} PRIVATE ${GETOPT_INCLUDE_DIR})
target_link_libraries(${UCHARDET_BINARY} PRIVATE ${GETOPT_LIBRARY})
endif (GETOPT_INCLUDE_DIR AND GETOPT_LIBRARY)
target_link_libraries(
${UCHARDET_BINARY}
${UCHARDET_LIBRARY}