CMakeLists.txt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # Copyright 2021... by Maxim Gusev
  2. #
  3. # https://github.com/John-Jasper-Doe/http-client-lite
  4. #
  5. # Distributed under the MIT License.
  6. # (See accompanying file LICENSE or copy at https://mit-license.org/)
  7. cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
  8. project(http-client-lite)
  9. ## Set output binary
  10. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
  11. set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
  12. set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
  13. ## Set property
  14. set(CMAKE_CXX_STANDARD 11)
  15. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  16. add_compile_options(-Wall -Werror -Wextra -Wpedantic -g -O0)
  17. option(HTTP_CLIENT_LITE_OPT_BUILD_EXAMPLES "Build examples" OFF )
  18. if(HTTP_CLIENT_LITE_OPT_BUILD_EXAMPLES)
  19. add_subdirectory(examples)
  20. endif()
  21. # Interface library:
  22. add_library(${PROJECT_NAME} INTERFACE)
  23. target_sources(${PROJECT_NAME} INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include/jdl/httpclientlite.h)
  24. add_custom_target(${PROJECT_NAME}.hdr SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/include/jdl/httpclientlite.h)
  25. target_include_directories(
  26. ${PROJECT_NAME}
  27. INTERFACE
  28. "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
  29. "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")