Project(SimpleScopeEDF)

cmake_minimum_required(VERSION 2.8)

set(EZS_SUBMISSION_EXERCISE_NAME "SimpleScope")
set(EZS_SUBMISSION_MULTIPROJECT "ON")

set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}")

set(NEEDS_MULTIPLEX "ON" CACHE BOOL "Does this exercise need serial multiplexing?")
INCLUDE(EZS)

add_definitions("-D EZS_DUMB_SERIAL")
add_definitions("-D EZS_TRACER_USE_HANDLE")

set(LIBEZS_C_SOURCES
	libEZS/src/ezs_sensor.c
	libEZS/src/ezs_stopwatch.c
	libEZS/src/ezs_delay.c
	libEZS/src/ezs_io.c
	libEZS/src/ezs_lcd.c
	libEZS/drivers/${EZS_ARCH}/ezs_lcd.c
	libEZS/drivers/${EZS_ARCH}/ezs_sdram.c
	libEZS/src/ezs_fft.c
	libEZS/src/ezs_window.c
	libEZS/drivers/${EZS_ARCH}/ezs_gpio.c
	libEZS/src/ezs_utils.c
	libEZS/src/ezs_io_fel_print.c
	)

set(LIBEZS_CPP_SOURCES
	libEZS/src/ezs_tracer.cpp
	libEZS/drivers/${EZS_ARCH}/ezs_dac.cpp
	libEZS/drivers/${EZS_ARCH}/ezs_serial.cpp
	libEZS/drivers/${EZS_ARCH}/ezs_counter.cpp
	libEZS/src/ezs_deadlines.cpp
	)

# Testing
if(WITH_SANITY_TEST)
	set(LIBEZS_C_SOURCES
		${LIBEZS_C_SOURCES}
		../test/test.c)
endif(WITH_SANITY_TEST)

SET(SRC_C_LIST
	app.c
	${LIBEZS_C_SOURCES}
	)

SET(SRC_CPP_LIST
	${LIBEZS_CPP_SOURCES}
	)

set(TGT "app")

set_source_files_properties(${SRC_C_LIST} PROPERTIES COMPILE_FLAGS "-Wall -Werror -std=c99 -fgnu89-inline -Wno-unused-variable -Wno-unused-function")
set_source_files_properties(${SRC_CPP_LIST} PROPERTIES COMPILE_FLAGS "-Wall -Werror -Wno-unused-variable -Wno-unused-function")

SET(SRC_LIST
	${SRC_C_LIST}
	${SRC_CPP_LIST}
	)

ECOS_ADD_EXECUTABLE(${TGT} ${SRC_LIST})
