1 cmake_minimum_required(VERSION 3.10)
2 project(squangle CXX C)
3 set(CMAKE_CXX_STANDARD 17)
4 set(CMAKE_CXX_STANDARD_REQUIRED ON)
5 set(CMAKE_CXX_EXTENSIONS OFF)
7 # TODO when Ubuntu 18.04 support is dropped:
8 # - use CONFIGURE_DEPENDS in these globs
10 file(GLOB_RECURSE SOURCES "squangle/*.cpp")
12 add_library(squangle STATIC ${SOURCES})
13 target_include_directories(squangle PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
15 foreach(DEP Boost fbmysqlclient re2)
16 set("${DEP}_INCLUDE_DIR" "${DEP}_INCLUDE_DIR-notfound" CACHE PATH "Path to ${DEP}'s includes")
17 target_include_directories(squangle PRIVATE "${${DEP}_INCLUDE_DIR}")
20 find_package(folly REQUIRED)
21 target_link_libraries(squangle Folly::folly)
23 install(TARGETS squangle LIBRARY ARCHIVE DESTINATION lib)
24 install(DIRECTORY "${CMAKE_SOURCE_DIR}/" DESTINATION include FILES_MATCHING PATTERN "*.h")