36 lines
874 B
CMake
36 lines
874 B
CMake
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)
|