blob: a521ac3345c3bf7ca0bcecbbf66f476f31612021 [file] [log] [blame]
cmake_minimum_required(VERSION 3.1)
project(effcee C CXX)
enable_testing()
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
option(EFFCEE_BUILD_TESTING "Enable testing for Effcee" ON)
if(${EFFCEE_BUILD_TESTING})
message(STATUS "Configuring Effcee to build tests.")
if(MSVC)
# Our tests use ::testing::Combine. Force the ability to use it, working
# around googletest's possibly faulty compiler detection logic.
# See https://github.com/google/googletest/issues/1352
add_definitions(-DGTEST_HAS_COMBINE=1)
endif(MSVC)
else()
message(STATUS "Configuring Effcee to avoid building tests.")
endif()
option(EFFCEE_BUILD_SAMPLES "Enable building sample Effcee programs" ON)
if(${EFFCEE_BUILD_SAMPLES})
message(STATUS "Configuring Effcee to build samples.")
else()
message(STATUS "Configuring Effcee to avoid building samples.")
endif()
# RE2 needs Pthreads on non-WIN32
set(CMAKE_THREAD_LIBS_INIT "")
find_package(Threads)
include(cmake/setup_build.cmake)
include(cmake/utils.cmake)
add_subdirectory(third_party)
add_subdirectory(effcee)
add_subdirectory(fuzzer)
if(${EFFCEE_BUILD_SAMPLES})
add_subdirectory(examples)
endif()