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) include(GNUInstallDirs) add_subdirectory(third_party) add_subdirectory(effcee) add_subdirectory(fuzzer) if(${EFFCEE_BUILD_SAMPLES}) add_subdirectory(examples) endif()