--- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -6,7 +6,7 @@ IF(NOT HAVE_GETOPT) ENDIF(NOT HAVE_GETOPT) ADD_EXECUTABLE(zipcmp zipcmp.c ${SRC_EXTRA_FILES}) -TARGET_LINK_LIBRARIES(zipcmp zip) +TARGET_LINK_LIBRARIES(zipcmp zip ${FTS_LIB}) INSTALL(TARGETS zipcmp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ADD_EXECUTABLE(zipmerge zipmerge.c ${SRC_EXTRA_FILES}) --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,6 +22,7 @@ OPTION(BUILD_DOC "Build documentation" O INCLUDE(CheckFunctionExists) INCLUDE(CheckIncludeFiles) +INCLUDE(CheckLibraryExists) INCLUDE(CheckSymbolExists) INCLUDE(CheckTypeSize) INCLUDE(CheckCSourceRuns) @@ -158,6 +159,20 @@ CHECK_FUNCTION_EXISTS(strtoll HAVE_STRTO CHECK_FUNCTION_EXISTS(strtoull HAVE_STRTOULL) CHECK_INCLUDE_FILES("sys/types.h;sys/stat.h;fts.h" HAVE_FTS_H) +# fts functions may be in external library +IF(HAVE_FTS_H) + CHECK_FUNCTION_EXISTS(fts_open HAVE_FTS_OPEN) + IF(NOT HAVE_FTS_OPEN) + CHECK_LIBRARY_EXISTS(fts fts_open "" HAVE_LIB_FTS) + ENDIF(NOT HAVE_FTS_OPEN) +ENDIF(HAVE_FTS_H) + +IF(HAVE_LIB_FTS) + SET(FTS_LIB fts) +ELSE() + SET(FTS_LIB "") +ENDIF() + CHECK_INCLUDE_FILES(stdbool.h HAVE_STDBOOL_H) CHECK_INCLUDE_FILES(strings.h HAVE_STRINGS_H) CHECK_INCLUDE_FILES(unistd.h HAVE_UNISTD_H)