cmake_minimum_required(VERSION 3.5.0)

set(VERSION "0.0.1")
set(PROJECT_NAME "GateOpener")

set(PICO_SDK_PATH "C:/Users/naifa/Documents/Projects/Hardware/Microcontroller/SDK/PicoC++/pico-sdk")
set(PICO_TOOLCHAIN_PATH "C:/Users/naifa/Documents/Projects/Hardware/Microcontroller/SDK/arm-gnu-toolchain-15.3.rel2-mingw-w64-x86_64-arm-none-eabi" )
set(FREERTOS_KERNEL_PATH "C:/Users/naifa/Documents/Projects/Hardware/FreeRTOS-Kernel")
set(FREERTOS_CFG_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/Config")
set(RADIOLIB_PATH "C:/Program Files (x86)/radiolib")


set(CMAKE_PREFIX_PATH
	${CMAKE_PREFIX_PATH}
	${FREERTOS_KERNEL_PATH}
	${RADIOLIB_PATH}
)
set(FREERTOS_PICO ${FREERTOS_KERNEL_PATH}/portable/ThirdParty/GCC/RP2040)

include(./pico_sdk_import.cmake)

project(${PROJECT_NAME} VERSION ${VERSION} LANGUAGES CXX C ASM)
include(./FreeRTOS_Kernel_import.cmake)
pico_sdk_init()

message(STATUS "Pico SDK dir is ${PICO_SDK_PATH}")
message(STATUS "FreeRTOS root is ${FREERTOS_KERNEL_PATH}")

include_directories(${FREERTOS_CFG_DIRECTORY}/)
include_directories(SYSTEM AFTER
	# ${FREERTOS_PICO}
	${FREERTOS_PICO}/include
	${FREERTOS_KERNEL_PATH}/include
	${FREERTOS_KERNEL_PATH}/portable/GCC/ARM_CM0
	${RADIOLIB_PATH}/include
)

add_compile_definitions(configTICK_CORE=0)

# include(${FREERTOS_PICO}/FreeRTOS_Kernel_import.cmake)
# add_library(FreeRTOS STATIC
# 	${FREERTOS_KERNEL_PATH}/event_groups.c
# 	${FREERTOS_KERNEL_PATH}/list.c
# 	${FREERTOS_KERNEL_PATH}/queue.c
# 	${FREERTOS_KERNEL_PATH}/stream_buffer.c
# 	${FREERTOS_KERNEL_PATH}/tasks.c
# 	${FREERTOS_KERNEL_PATH}/timers.c
# 	${FREERTOS_KERNEL_PATH}/portable/MemMang/heap_3.c
# 	#	${FREERTOS_SRC_DIRECTORY}/portable/GCC/ARM_CM0/port.c
# 	${FREERTOS_PICO}/port.c
# )


add_subdirectory(./Talky)
# add_subdirectory(./Listener)
# add_subdirectory(./Yeller)

