Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # ограничение версии
- cmake_minimum_required(VERSION 2.6)
- # Generic - не использовать дополнительные настройки библиотек и пр. - собирать и линковать только то и с тем, о чем сказано явно
- SET(CMAKE_SYSTEM_NAME Generic)
- # Путь поиска библиотек (/lib) и заголовочных файлов (/include)
- SET(CMAKE_FIND_ROOT_PATH C:/WinAVR/avr/)
- # Имя исполняемого файла компилятора С
- SET(CMAKE_C_COMPILER avr-gcc)
- # И С++
- SET(CMAKE_CXX_COMPILER avr-g++)
- # Устанавливаем флаги
- SET(CSTANDARD "-std=gnu99")
- SET(CDEBUG "-gstabs")
- SET(CWARN "-Wall -Wstrict-prototypes")
- SET(CTUNING "-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums")
- SET(COPT "-Os")
- SET(CMCU "-mmcu=atmega8")
- SET(CDEFS "-DF_CPU=8000000")
- SET(CFLAGS "${CMCU} ${CDEBUG} ${CDEFS} ${CINCS} ${COPT} ${CWARN} ${CSTANDARD} ${CEXTRA}")
- SET(CXXFLAGS "${CMCU} ${CDEFS} ${CINCS} ${COPT}")
- # Чтобы флаги задействовать при сборке, нужно их поместить в соответствующие переменные
- SET(CMAKE_C_FLAGS ${CFLAGS})
- SET(CMAKE_CXX_FLAGS ${CXXFLAGS})
- # Объявляем новый проект
- project(D_SENSORS)
- # Дополнительные пути поиска заголовочных файлов
- include_directories($(D_SENSORS_SOURCE_DIR)/periph/avr $(D_SENSORS_SOURCE_DIR)/sensors)
- # Добавляем цель - static library
- add_library(periph periph/avr/TWI_Master.c)
- # И еще одну
- add_library(sensors sensors/ITG320x/ITG320x.cpp sensors/MMA7455/MMA7455.cpp)
- # Sensors зависит от Periph - линкуем их между собой
- target_link_libraries(sensors periph)
- # Добавляем цель - исполняемый файл
- add_executable(main sensors.cpp)
- # И линкуем его с библиотеками
- target_link_libraries(main periph sensors)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement