cmake_minimum_required (VERSION 2.8)
include_directories (${CMAKE_SOURCE_DIR}
                     ${CMAKE_SOURCE_DIR}/src
                     ${CMAKE_SOURCE_DIR}/src/commands
                     ${CMAKE_SOURCE_DIR}/src/columns
                     ${TASK_INCLUDE_DIRS})

set (task_SRCS CLI.cpp CLI.h
               Color.cpp Color.h
               Config.cpp Config.h
               Context.cpp Context.h
               DOM.cpp DOM.h
               Date.cpp Date.h
               Dates.cpp Dates.h
               Directory.cpp Directory.h
               Duration.cpp Duration.h
               Eval.cpp Eval.h
               File.cpp File.h
               Filter.cpp Filter.h
               Hooks.cpp Hooks.h
               ISO8601.cpp ISO8601.h
               JSON.cpp JSON.h
               Lexer.cpp Lexer.h
               Msg.cpp Msg.h
               Nibbler.cpp Nibbler.h
               Path.cpp Path.h
               RX.cpp RX.h
               TDB2.cpp TDB2.h
               Task.cpp Task.h
               Timer.cpp Timer.h
               TLSClient.cpp TLSClient.h
               Variant.cpp Variant.h
               ViewTask.cpp ViewTask.h
               ViewText.cpp ViewText.h
               dependency.cpp
               feedback.cpp
               i18n.h
               interactive.cpp
               legacy.cpp
               recur.cpp
               rules.cpp
               sort.cpp
               text.cpp text.h
               utf8.cpp utf8.h
               util.cpp util.h
               wcwidth6.cpp)

add_library (task STATIC ${task_SRCS})
add_executable (task_executable main.cpp)
add_executable (calc_executable calc.cpp)

# Yes, 'task' is included twice, otherwise linking fails on assorted OSes.
target_link_libraries (task_executable task commands columns task ${TASK_LIBRARIES})
target_link_libraries (calc_executable task commands columns task ${TASK_LIBRARIES})

set_property (TARGET task_executable PROPERTY OUTPUT_NAME "task")

install (TARGETS task_executable DESTINATION ${TASK_BINDIR})

set_property (TARGET calc_executable PROPERTY OUTPUT_NAME "calc")

#SET(CMAKE_BUILD_TYPE gcov)
#SET(CMAKE_CXX_FLAGS_GCOV "--coverage")
#SET(CMAKE_C_FLAGS_GCOV "--coverage")
#SET(CMAKE_EXE_LINKER_FLAGS_GCOV "--coverage")
