Only invalidate shallow classes in parsed instead of whole transitive dependency
[hiphop-php.git] / third-party / squangle / squangle-CMakeLists.txt
blob0eebe708bd40443743ac98a6d6b09abd97136916
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 "*.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}")
18 endforeach()
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")