Skip to content

Commit

Permalink
Generate hiredis_features.h in build dir
Browse files Browse the repository at this point in the history
Fixes #549

Signed-off-by: Ted Lyngmo <ted@lyncon.se>
  • Loading branch information
TedLyngmo committed Feb 26, 2024
1 parent f779c71 commit 59e6d08
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 6 deletions.
15 changes: 10 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.1)

set(REDIS_PLUS_PLUS_VERSION "1.3.11")
set(REDIS_PLUS_PLUS_VERSION "1.3.13")
message(STATUS "redis-plus-plus version: ${REDIS_PLUS_PLUS_VERSION}")

project(redis++ LANGUAGES CXX VERSION ${REDIS_PLUS_PLUS_VERSION})
Expand Down Expand Up @@ -168,7 +168,8 @@ set(CMAKE_REQUIRED_LIBRARIES ${HIREDIS_FEATURE_TEST_LIB})

CHECK_SYMBOL_EXISTS(redisEnableKeepAliveWithInterval ${HIREDIS_FEATURE_TEST_HEADER} REDIS_PLUS_PLUS_HAS_redisEnableKeepAliveWithInterval)

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/hiredis_features.h.in ${CMAKE_CURRENT_SOURCE_DIR}/${REDIS_PLUS_PLUS_SOURCE_DIR}/hiredis_features.h)
set(REDIS_PLUS_PLUS_GENERATED_HEADER_DIR ${CMAKE_CURRENT_BINARY_DIR}/${REDIS_PLUS_PLUS_HEADER_DIR})
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/hiredis_features.h.in ${CMAKE_CURRENT_BINARY_DIR}/${REDIS_PLUS_PLUS_SOURCE_DIR}/hiredis_features.h)

# Restore CMAKE_REQUIRED_LIBRARIES
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_BACK})
Expand Down Expand Up @@ -203,7 +204,9 @@ if(REDIS_PLUS_PLUS_BUILD_STATIC)
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/${REDIS_PLUS_PLUS_HEADER_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/${TLS_SUB_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/${CXX_UTILS_DIR}>
$<INSTALL_INTERFACE:include>)
$<INSTALL_INTERFACE:include>
PRIVATE
${REDIS_PLUS_PLUS_GENERATED_HEADER_DIR})

if(hiredis_FOUND)
target_include_directories(${STATIC_LIB} PUBLIC $<BUILD_INTERFACE:${hiredis_INCLUDE_DIRS}>)
Expand Down Expand Up @@ -255,7 +258,9 @@ if(REDIS_PLUS_PLUS_BUILD_SHARED)
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/${REDIS_PLUS_PLUS_HEADER_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/${TLS_SUB_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/${CXX_UTILS_DIR}>
$<INSTALL_INTERFACE:include>)
$<INSTALL_INTERFACE:include>
PRIVATE
${REDIS_PLUS_PLUS_GENERATED_HEADER_DIR})

if(hiredis_FOUND)
target_include_directories(${SHARED_LIB} PUBLIC $<BUILD_INTERFACE:${hiredis_INCLUDE_DIRS}>)
Expand Down Expand Up @@ -319,7 +324,7 @@ install(EXPORT redis++-targets

# Install headers.
set(HEADER_PATH "sw/redis++")
file(GLOB HEADERS "${REDIS_PLUS_PLUS_SOURCE_DIR}/*.h*" "${TLS_SUB_DIR}/sw/redis++/*.h" "${CXX_UTILS_DIR}/sw/redis++/*.h" "${REDIS_PLUS_PLUS_ASYNC_FUTURE_HEADER}/sw/redis++/*.h")
file(GLOB HEADERS "${REDIS_PLUS_PLUS_SOURCE_DIR}/*.h*" "${TLS_SUB_DIR}/sw/redis++/*.h" "${CXX_UTILS_DIR}/sw/redis++/*.h" "${REDIS_PLUS_PLUS_ASYNC_FUTURE_HEADER}/sw/redis++/*.h" "${REDIS_PLUS_PLUS_GENERATED_HEADER_DIR}/sw/redis++/*.h")
if(NOT REDIS_PLUS_PLUS_BUILD_ASYNC)
file(GLOB ASYNC_HEADERS "${REDIS_PLUS_PLUS_SOURCE_DIR}/async_*.h" "${REDIS_PLUS_PLUS_SOURCE_DIR}/event_*.h")
list(REMOVE_ITEM HEADERS ${ASYNC_HEADERS})
Expand Down
3 changes: 2 additions & 1 deletion test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@ endif()
target_include_directories(${PROJECT_NAME} PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../src>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../${TLS_SUB_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../${CXX_UTILS_DIR}>)
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../${CXX_UTILS_DIR}>
${REDIS_PLUS_PLUS_GENERATED_HEADER_DIR})

# solaris socket dependency
if(CMAKE_SYSTEM_NAME MATCHES "(Solaris|SunOS)")
Expand Down

0 comments on commit 59e6d08

Please sign in to comment.