cmake_minimum_required(VERSION 3.18.1) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(BUILDCONFIG "" CACHE STRING "Build Configuration") set(BUILDVERSION "" CACHE STRING "M.M.P") set(MSPM0_SDK_BASEPATH "${CMAKE_SOURCE_DIR}/SDK/mspm0_sdk_1_20_01_06") set(FREERTOS_BASEPATH "${CMAKE_SOURCE_DIR}/SDK/freertos") set(GCC_BASEPATH "C:/ti/ccs1250/ccs/tools/compiler/gcc-arm-none-eabi-9-2019-q4-major/arm-none-eabi") set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/gcc_arm_eabi_mspM0_toolchain.cmake") project(EC LANGUAGES C) set(THE_PROJECT_DIR ${CMAKE_SOURCE_DIR}) get_filename_component(PARENT_DIR ${THE_PROJECT_DIR} NAME) add_library(Mirror_Target) set_property(TARGET Mirror_Target PROPERTY C_STANDARD 11) ####################################INCLUDE DIRECTORIES################################## include_directories("Generated_Code") include_directories("Sources") include_directories("Sources/Utils") include_directories("Sources/Utils/ML-U0001-MagnaStatus") include_directories("Sources/Utils/ML-U0003-MagnaErrorHandler") include_directories("Sources/DAL") include_directories("Sources/DAL/TI_OPT4001_Q1") include_directories("Sources/PAL") include_directories("Sources/PAL/M0_I2C") include_directories("Sources/FAL") include_directories("Sources/FAL/MagnaEC") include_directories("Sources/Subsystems") include_directories("Sources/Subsystems/EC") #SDK INCLUDES include_directories("${MSPM0_SDK_BASEPATH}") include_directories("${MSPM0_SDK_BASEPATH}/source/third_party/CMSIS/Core/Include") include_directories("${MSPM0_SDK_BASEPATH}/source") include_directories("${GCC_BASEPATH}/arm-none-eabi/include/newlib-nano") include_directories("${GCC_BASEPATH}/arm-none-eabi/include") ##################################SOURCES############################################## target_sources(Mirror_Target PRIVATE "${MSPM0_SDK_BASEPATH}/source/ti/devices/msp/m0p/startup_system_files/gcc/startup_mspm0g350x_gcc.c") target_sources(Mirror_Target PRIVATE "Generated_Code/ti_msp_dl_config.c") target_sources(Mirror_Target PRIVATE "Sources/GDODemo_main.c") target_sources(Mirror_Target PRIVATE "Sources/FAL/MagnaEC/ECInterface.c") target_sources(Mirror_Target PRIVATE "Sources/DAL/TI_OPT4001_Q1/TI_OPT4001_Q1.c") target_sources(Mirror_Target PRIVATE "Sources/DAL/TI_OPT4001_Q1/TI_OPT4001_Q1_Interface.c") target_sources(Mirror_Target PRIVATE "Sources/PAL/M0_I2C/M0_I2C_Interface.c") ##################################LIBRARIES############################################## # target_link_libraries(Mirror_Target PRIVATE "${FREERTOS_BASEPATH}/Debug/libfreertos_builds_LP_MSPM0G3507_release_gcc.a") target_link_libraries(Mirror_Target PRIVATE "${MSPM0_SDK_BASEPATH}/source/ti/driverlib/lib/gcc/m0p/mspm0g1x0x_g3x0x/driverlib.a") target_link_libraries(Mirror_Target PRIVATE "${GCC_BASEPATH}/lib/thumb/v6-m/nofp/libc.a") target_link_libraries(Mirror_Target PRIVATE "${GCC_BASEPATH}/lib/thumb/v6-m/nofp/libm.a") target_link_libraries(Mirror_Target PRIVATE "${GCC_BASEPATH}/lib/thumb/v6-m/nofp/libnosys.a") target_link_libraries(Mirror_Target PRIVATE "${GCC_BASEPATH}/../lib/gcc/arm-none-eabi/9.2.1/thumb/v6-m/nofp/libgcc.a") target_link_libraries(Mirror_Target PRIVATE "${THE_PROJECT_DIR}/Sources/FAL/MagnaEC/MMNA_ML-F0001-MAGNA-EC_DEV_windows__2.0.0.37.a") ##################################EXECUTABLES############################################## add_executable(${PROJECT_NAME}_${PARENT_DIR}_${BUILDVERSION}.out $) target_link_libraries(${PROJECT_NAME}_${PARENT_DIR}_${BUILDVERSION}.out Mirror_Target)