CMakeLists.txt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. project(redis++)
  2. if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
  3. cmake_minimum_required(VERSION 3.0.0)
  4. else()
  5. cmake_minimum_required(VERSION 2.8.0)
  6. endif()
  7. set(CMAKE_CXX_FLAGS "-std=c++11 -Wall -W -Werror -fPIC")
  8. set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
  9. set(PROJECT_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src/sw/redis++)
  10. file(GLOB PROJECT_SOURCE_FILES "${PROJECT_SOURCE_DIR}/*.cpp")
  11. set(STATIC_LIB redispp_static)
  12. # set(SHARED_LIB shared)
  13. add_library(${STATIC_LIB} STATIC ${PROJECT_SOURCE_FILES})
  14. # add_library(${SHARED_LIB} SHARED ${PROJECT_SOURCE_FILES})
  15. # hiredis dependency
  16. find_path(HIREDIS_HEADER hiredis)
  17. target_include_directories(${STATIC_LIB} PUBLIC ${HIREDIS_HEADER})
  18. # target_include_directories(${SHARED_LIB} PUBLIC ${HIREDIS_HEADER})
  19. find_library(HIREDIS_LIB hiredis)
  20. # target_link_libraries(${SHARED_LIB} ${HIREDIS_LIB})
  21. set_target_properties(${STATIC_LIB} PROPERTIES OUTPUT_NAME ${PROJECT_NAME})
  22. # set_target_properties(${SHARED_LIB} PROPERTIES OUTPUT_NAME ${PROJECT_NAME})
  23. set_target_properties(${STATIC_LIB} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
  24. # set_target_properties(${SHARED_LIB} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
  25. # Install static lib.
  26. install(TARGETS ${STATIC_LIB}
  27. ARCHIVE DESTINATION lib)
  28. # Install shared lib.
  29. # install(TARGETS ${SHARED_LIB}
  30. # LIBRARY DESTINATION lib)
  31. #Install headers.
  32. set(HEADER_PATH "sw/redis++")
  33. file(GLOB HEADERS "${PROJECT_SOURCE_DIR}/*.h*")
  34. install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/${HEADER_PATH})