|
@@ -25,40 +25,69 @@
|
|
|
project(redis)
|
|
|
|
|
|
if(REDIS)
|
|
|
- ADD_PLUGIN(redis PACKAGES HIREDIS MINVERSION 0.13.0) #NOTE: If MINVERSION is altered then min versions in redis.hpp must also be altered.
|
|
|
- if(MAKE_REDIS)
|
|
|
- set(
|
|
|
- SRCS
|
|
|
- redis.hpp
|
|
|
- redis.cpp)
|
|
|
+ add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/libhiredis.so.0.13
|
|
|
+ COMMAND make dynamic
|
|
|
+ COMMAND mv libhiredis.so ${PROJECT_BINARY_DIR}/libhiredis.so.0.13
|
|
|
+ COMMAND make clean
|
|
|
+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/hiredis
|
|
|
+ COMMENT Building hiredis c library)
|
|
|
+ add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/libhiredis.so
|
|
|
+ COMMAND ln -sf libhiredis.so.0.13 libhiredis.so
|
|
|
+ DEPENDS ${PROJECT_BINARY_DIR}/libhiredis.so.0.13
|
|
|
+ WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
|
|
|
+ add_custom_target(hiredis-build ALL
|
|
|
+ DEPENDS ${PROJECT_BINARY_DIR}/libhiredis.so)
|
|
|
|
|
|
- include_directories(
|
|
|
- ./../../system/include
|
|
|
- ./../../rtl/eclrtl
|
|
|
- ./../../rtl/include
|
|
|
- ./../../common/deftype
|
|
|
- ./../../system/jlib
|
|
|
- ${HIREDIS_INCLUDE_DIR})
|
|
|
+ install(CODE "set(ENV{LD_LIBRARY_PATH} \"\$ENV{LD_LIBRARY_PATH}:${PROJECT_BINARY_DIR}\")")
|
|
|
|
|
|
- add_definitions(-D_USRDLL -DECL_REDIS_EXPORTS)
|
|
|
+ add_library(hiredis SHARED IMPORTED)
|
|
|
+ set_property(TARGET hiredis PROPERTY IMPORTED_LOCATION ${PROJECT_BINARY_DIR}/libhiredis.so)
|
|
|
+ add_dependencies(hiredis hiredis-build)
|
|
|
|
|
|
- HPCC_ADD_LIBRARY(redis SHARED ${SRCS})
|
|
|
- if(${CMAKE_VERSION} VERSION_LESS "2.8.9")
|
|
|
- message(WARNING "Cannot set NO_SONAME. shlibdeps will give warnings when package is installed")
|
|
|
- elseif(NOT APPLE)
|
|
|
- set_target_properties(redis PROPERTIES NO_SONAME 1)
|
|
|
- endif()
|
|
|
+ install(FILES
|
|
|
+ ${PROJECT_BINARY_DIR}/libhiredis.so
|
|
|
+ ${PROJECT_BINARY_DIR}/libhiredis.so.0.13
|
|
|
+ DESTINATION ${LIB_DIR}
|
|
|
+ PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
|
|
+ COMPONENT Runtime)
|
|
|
+
|
|
|
+ install(FILES
|
|
|
+ ${PROJECT_SOURCE_DIR}/hiredis/COPYING
|
|
|
+ DESTINATION ${LIB_DIR}
|
|
|
+ COMPONENT Runtime
|
|
|
+ RENAME libhiredis.copywrite)
|
|
|
+
|
|
|
+ set(
|
|
|
+ SRCS
|
|
|
+ redis.hpp
|
|
|
+ redis.cpp)
|
|
|
+
|
|
|
+ include_directories(
|
|
|
+ ./../../system/include
|
|
|
+ ./../../rtl/eclrtl
|
|
|
+ ./../../rtl/include
|
|
|
+ ./../../common/deftype
|
|
|
+ ./../../system/jlib
|
|
|
+ ./hiredis)
|
|
|
|
|
|
- install(
|
|
|
- TARGETS redis
|
|
|
- DESTINATION plugins)
|
|
|
+ add_definitions(-D_USRDLL -DECL_REDIS_EXPORTS)
|
|
|
|
|
|
- target_link_libraries(
|
|
|
- redis
|
|
|
- eclrtl
|
|
|
- jlib
|
|
|
- ${HIREDIS_LIBRARY})
|
|
|
+ HPCC_ADD_LIBRARY(redis SHARED ${SRCS})
|
|
|
+ if(${CMAKE_VERSION} VERSION_LESS "2.8.9")
|
|
|
+ message(WARNING "Cannot set NO_SONAME. shlibdeps will give warnings when package is installed")
|
|
|
+ elseif(NOT APPLE)
|
|
|
+ set_target_properties(redis PROPERTIES NO_SONAME 1)
|
|
|
endif()
|
|
|
+
|
|
|
+ install(
|
|
|
+ TARGETS redis
|
|
|
+ DESTINATION plugins)
|
|
|
+
|
|
|
+ target_link_libraries(
|
|
|
+ redis
|
|
|
+ eclrtl
|
|
|
+ jlib
|
|
|
+ hiredis)
|
|
|
endif()
|
|
|
|
|
|
if(PLATFORM OR CLIENTTOOLS_ONLY)
|