CMakeLists.txt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. cmake_minimum_required(VERSION 3.10)
  2. project(libhv_bindings)
  3. set(CMAKE_POSITION_INDEPENDENT_CODE ON)
  4. set(CMAKE_C_STANDARD 11)
  5. set(CMAKE_C_STANDARD_REQUIRED ON)
  6. set(CMAKE_CXX_STANDARD 14)
  7. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  8. option(BUILD_SHARED "build shared library" OFF)
  9. option(BUILD_STATIC "build static library" ON)
  10. option(BUILD_EXAMPLES "build examples" OFF)
  11. option(WITH_OPENSSL "with openssl library" OFF)
  12. add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/libhv)
  13. AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_LIST_DIR}/src LIBHV_BINDINGS_SRC)
  14. add_library(${PROJECT_NAME} STATIC ${LIBHV_BINDINGS_SRC})
  15. target_link_libraries(${PROJECT_NAME} hv_static)
  16. # define WITHOUT_HTTP_CONTENT
  17. target_compile_definitions(libhv_bindings PRIVATE WITHOUT_HTTP_CONTENT)
  18. target_compile_definitions(hv_static PRIVATE WITHOUT_HTTP_CONTENT)
  19. target_include_directories(${PROJECT_NAME} PRIVATE
  20. ${CMAKE_CURRENT_LIST_DIR}/../../include
  21. ${CMAKE_CURRENT_LIST_DIR}/include
  22. ${CMAKE_CURRENT_LIST_DIR}/libhv
  23. ${CMAKE_CURRENT_LIST_DIR}/libhv/base
  24. ${CMAKE_CURRENT_LIST_DIR}/libhv/evpp
  25. ${CMAKE_CURRENT_LIST_DIR}/libhv/event
  26. ${CMAKE_CURRENT_LIST_DIR}/libhv/http
  27. ${CMAKE_CURRENT_LIST_DIR}/libhv/ssl
  28. ${CMAKE_CURRENT_LIST_DIR}/libhv/cpputil
  29. )
  30. target_include_directories(${PROJECT_NAME} INTERFACE
  31. ${CMAKE_CURRENT_LIST_DIR}/include
  32. )