cmake_minimum_required(VERSION 3.10) project(epec-mcu-emulator LANGUAGES C) option(TESTS "Build unit tests" ON) option(WERROR "Treat warnings as errors" OFF) macro(set_default_target_options target) set_property(TARGET ${target} PROPERTY C_STANDARD 11) set_property(TARGET ${target} PROPERTY C_EXTENSIONS OFF) target_compile_options(${target} PRIVATE -Wall -Wextra -pedantic) if (${WERROR}) target_compile_options(${target} PRIVATE -Werror) endif() endmacro() add_custom_target(format COMMAND sh ${CMAKE_SOURCE_DIR}/scripts/format.sh WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} ) add_custom_target(check-format COMMAND sh ${CMAKE_SOURCE_DIR}/scripts/check-format.sh WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} ) add_subdirectory(engine) if (${TESTS}) enable_testing() add_subdirectory(tests) endif()