From ead586a2cb7de8a17073a96704a4200d63a380e5 Mon Sep 17 00:00:00 2001 From: Mark Nunberg Date: Tue, 25 Sep 2018 19:44:58 -0400 Subject: [PATCH] Add CMake system. Initial commit This provides a target to build a DSO, as well as the ability to install it. --- CMakeLists.txt | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..b1771d5 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,47 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0) +INCLUDE(GNUInstallDirs) +PROJECT(redisearch) + +# Get the version numbers +MACRO(getVersionBit name) + +EXECUTE_PROCESS( + WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" + COMMAND grep "${name}" hiredis.h COMMAND awk "{print $3}" + OUTPUT_VARIABLE "${name}" + OUTPUT_STRIP_TRAILING_WHITESPACE) +ENDMACRO(getVersionBit) + +getVersionBit(HIREDIS_MAJOR) +getVersionBit(HIREDIS_MINOR) +getVersionBit(HIREDIS_PATCH) + +MESSAGE("Detected version: ${HIREDIS_MAJOR}.${HIREDIS_MINOR}.${HIREDIS_PATCH}") + +ADD_LIBRARY(hiredis SHARED + async.c + dict.c + hiredis.c + net.c + read.c + sds.c) + +SET_TARGET_PROPERTIES(hiredis + PROPERTIES + VERSION "${HIREDIS_MAJOR}.${HIREDIS_MINOR}.${HIREDIS_PATCH}") + +INSTALL(TARGETS hiredis + DESTINATION "${CMAKE_INSTALL_LIBDIR}") + +INSTALL(FILES hiredis.h read.h sds.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hiredis) + +# Add tests: Currently, I don't know how to make the tests actually run +# without hanging! +ENABLE_TESTING() +ADD_EXECUTABLE(hiredis-test + test.c) +TARGET_LINK_LIBRARIES(hiredis-test hiredis) + +# Add examples +