add_executable(gtfsplanner)

target_sources(gtfsplanner
  PRIVATE
  	#>>> include/*.h
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/commands/arrival.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/commands/command.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/commands/count.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/commands/departure.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/commands/exit.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/commands/help.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/commands/info.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/commands/list.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/commands/load.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/commands/mapcount.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/commands/parser.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/commands/route.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/commands/trip.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/gtfs_helpers.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/gtfs_types.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/helpers/calculations.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/helpers/console.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/helpers/exception.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/helpers/heatmap.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/helpers/map_writer.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/helpers/progress_writer.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/helpers/string_functions.h>
  	$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/types.h>
  	#>>> src/*.h
  	#>>> src/*.cpp
  	src/commands/arrival.cpp
  	src/commands/count.cpp
  	src/commands/departure.cpp
  	src/commands/exit.cpp
  	src/commands/help.cpp
  	src/commands/info.cpp
  	src/commands/list.cpp
  	src/commands/load.cpp
  	src/commands/mapcount.cpp
  	src/commands/parser.cpp
  	src/commands/route.cpp
  	src/commands/trip.cpp
  	src/gtfs_helpers.cpp
  	src/gtfsplanner.cpp
  	src/helpers/calculations.cpp
  	src/helpers/console.cpp
  	src/helpers/heatmap.cpp
  	src/helpers/map_writer.cpp
  	src/helpers/progress_writer.cpp
  	src/helpers/string_functions.cpp
  	)

#>>source_groups> include
source_group("include" REGULAR_EXPRESSION include)
source_group("include\\commands" REGULAR_EXPRESSION include/commands)
source_group("include\\helpers" REGULAR_EXPRESSION include/helpers)
#>>source_groups> src
source_group("src" REGULAR_EXPRESSION src)
source_group("src\\commands" REGULAR_EXPRESSION src/commands)
source_group("src\\helpers" REGULAR_EXPRESSION src/helpers)

if(CLANG_TIDY_EXE) 
	set_target_properties(gtfsplanner PROPERTIES 
		CXX_CLANG_TIDY "${CLANG_TIDY_SETTINGS}")
endif()

target_include_directories(gtfsplanner
  PUBLIC
    include
  PRIVATE
    src
)

target_link_libraries(gtfsplanner
  PUBLIC
  PRIVATE
)

install(TARGETS gtfsplanner)
