cmake_minimum_required(VERSION 3.0) project(xmos_loopback_cmake) set(board_target "src/xcore_200_explorer.xn") ######################### # Set up cross compiler # ######################### set(CMAKE_C_COMPILER xcc) set(CMAKE_CXX_COMPILER xcc) set(CMAKE_AR xmosar) set(CMAKE_C_FLAGS "${board_target} -MD -O2 -fxscope -report ") set(CMAKE_C_FLAGS_RELEASE " -MD -O3 -fschedule -fxscope -report") set(CMAKE_C_FLAGS_DEBUG " -MD -DDEBUG -O0 -g -fxscope -report") ################## # Compiler Flags # ################## set(CMAKE_EXE_LINKER_FLAGS "") ################# # Source files # ################# file(GLOB lib_i2c_sources lib_i2c/lib_i2c/src/*.xc) file(GLOB lib_gpio_sources lib_gpio/lib_gpio/src/*.xc) set(compile_sources src/main.xc ${lib_i2c_sources} ${lib_gpio_sources} ) ################# # Include files # ################# set(INCLUDE_DIRS lib_spi/lib_spi/api/ # i2s lib lib_i2s/lib_i2s/api lib_i2s/lib_i2s/src # i2c lib lib_i2c/lib_i2c/api # gpio lib lib_gpio/lib_gpio/api lib_gpio/lib_gpio/api # xassert lib lib_xassert/lib_xassert/api lib_xassert/lib_xassert/api ) ############################## # Compiler Language Settings # ############################## set_source_files_properties(${compile_sources} PROPERTIES LANGUAGE C) ################# # Create Target # ################# include_directories(${INCLUDE_DIRS}) add_executable(loopback_example ${compile_sources})