cmake_minimum_required(VERSION 3.16) project(kindle2latex LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) function(kindle2latex_enable_warnings target) if(MSVC) target_compile_options(${target} PRIVATE /W4) else() target_compile_options(${target} PRIVATE -Wall -Wextra -Wpedantic) endif() endfunction() add_executable(kindle2latex_typefactory typefactory/converter.cpp typefactory/converter.h typefactory/main.cpp typefactory/typefactory.h ) set_target_properties(kindle2latex_typefactory PROPERTIES OUTPUT_NAME kindle2latex-typefactory ) kindle2latex_enable_warnings(kindle2latex_typefactory) add_executable(kindle2latex_fsm fsm/main.cpp fsm/fsm.h ) set_target_properties(kindle2latex_fsm PROPERTIES OUTPUT_NAME kindle2latex-fsm ) kindle2latex_enable_warnings(kindle2latex_fsm)