# HG changeset patch # User David Demelier # Date 1632319246 -7200 # Node ID 764f65dfa46d944c4446d39c432007eb86a35d3f # Parent 1a6125ffebffb7d4c86bbc5349a42c3d530dc3bd misc: various fixes for glibc diff -r 1a6125ffebff -r 764f65dfa46d CMakeLists.txt --- a/CMakeLists.txt Wed Sep 22 12:57:55 2021 +0200 +++ b/CMakeLists.txt Wed Sep 22 16:00:46 2021 +0200 @@ -27,7 +27,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) if (CMAKE_C_COMPILER_ID MATCHES "GNU|Clang") - set(CMAKE_C_FLAGS "-Wall -Wextra -pedantic ${CMAKE_C_FLAGS}") + set(CMAKE_C_FLAGS "-Wall -Wextra -pedantic -D_POSIX_C_SOURCE=200809L ${CMAKE_C_FLAGS}") elseif (CMAKE_C_COMPILER_ID MATCHES "MSVC") set(CMAKE_C_FLAGS "/wd4090 /wd5105 /wd6031 /wd6001 /wd26451 ${CMAKE_C_FLAGS}") endif () @@ -55,6 +55,11 @@ if (MLK_WITH_ZSTD) find_package(ZSTD REQUIRED) + + # Compressor is required as well. + if (NOT TARGET ZSTD::exe) + message(FATAL_ERROR "Missing zstd command line utility") + endif () endif () add_subdirectory(extern/libsqlite) diff -r 1a6125ffebff -r 764f65dfa46d cmake/FindZSTD.cmake --- a/cmake/FindZSTD.cmake Wed Sep 22 12:57:55 2021 +0200 +++ b/cmake/FindZSTD.cmake Wed Sep 22 16:00:46 2021 +0200 @@ -41,7 +41,7 @@ ) endif () - if (NOT TARGET ZSTD::exe) + if (ZSTD_EXE AND NOT TARGET ZSTD::exe) add_executable(ZSTD::exe IMPORTED GLOBAL) set_target_properties(ZSTD::exe PROPERTIES IMPORTED_LOCATION "${ZSTD_EXE}") endif () diff -r 1a6125ffebff -r 764f65dfa46d extern/libsqlite/CMakeLists.txt --- a/extern/libsqlite/CMakeLists.txt Wed Sep 22 12:57:55 2021 +0200 +++ b/extern/libsqlite/CMakeLists.txt Wed Sep 22 16:00:46 2021 +0200 @@ -34,6 +34,7 @@ SQLITE_DEFAULT_MEMSTATUS=0 SQLITE_OMIT_DECLTYPE SQLITE_OMIT_DEPRECATED + SQLITE_OMIT_LOAD_EXTENSION SQLITE_DEFAULT_FOREIGN_KEYS=1 INCLUDES PUBLIC $ diff -r 1a6125ffebff -r 764f65dfa46d libmlk-port/CMakeLists.txt --- a/libmlk-port/CMakeLists.txt Wed Sep 22 12:57:55 2021 +0200 +++ b/libmlk-port/CMakeLists.txt Wed Sep 22 16:00:46 2021 +0200 @@ -22,6 +22,7 @@ include(CheckIncludeFile) include(CheckSymbolExists) include(CheckTypeSize) +include(CheckLibraryExists) check_function_exists(strlcpy MLK_HAS_STRLCPY) check_function_exists(fmemopen MLK_HAS_FMEMOPEN) @@ -33,6 +34,7 @@ check_include_file(unistd.h MLK_HAS_UNISTD_H) check_symbol_exists(PATH_MAX limits.h MLK_HAS_PATH_MAX) check_type_size(ssize_t MLK_HAS_SSIZE_T) +check_library_exists(m fmin "" MLK_HAS_LIBM) if (NOT MLK_HAS_STDNORETURN_H) file(WRITE ${CMAKE_BINARY_DIR}/stdnoreturn.h "#define noreturn\n") @@ -55,10 +57,15 @@ ${libmlk-port_SOURCE_DIR}/port/port.h ) +if (MLK_HAS_LIBM) + list(APPEND LIBRARIES m) +endif () + mlk_library( NAME libmlk-port SOURCES ${SOURCES} TYPE STATIC + LIBRARIES ${LIBRARIES} INCLUDES PUBLIC $