Guest User

Untitled

a guest
Jun 6th, 2011
574
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # ограничение версии
  2. cmake_minimum_required(VERSION 2.6)
  3.  
  4. # Generic - не использовать дополнительные настройки библиотек и пр. - собирать и линковать только то и с тем, о чем сказано явно
  5. SET(CMAKE_SYSTEM_NAME Generic)
  6.  
  7. # Путь поиска библиотек (/lib) и заголовочных файлов (/include)
  8. SET(CMAKE_FIND_ROOT_PATH C:/WinAVR/avr/)
  9.  
  10. # Имя исполняемого файла компилятора С
  11. SET(CMAKE_C_COMPILER avr-gcc)
  12. # И С++
  13. SET(CMAKE_CXX_COMPILER avr-g++)
  14.  
  15. # Устанавливаем флаги
  16. SET(CSTANDARD "-std=gnu99")
  17. SET(CDEBUG "-gstabs")
  18. SET(CWARN "-Wall -Wstrict-prototypes")
  19. SET(CTUNING "-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums")
  20. SET(COPT "-Os")
  21. SET(CMCU "-mmcu=atmega8")
  22. SET(CDEFS "-DF_CPU=8000000")
  23.  
  24. SET(CFLAGS "${CMCU} ${CDEBUG} ${CDEFS} ${CINCS} ${COPT} ${CWARN} ${CSTANDARD} ${CEXTRA}")
  25. SET(CXXFLAGS "${CMCU} ${CDEFS} ${CINCS} ${COPT}")
  26.  
  27. # Чтобы флаги задействовать при сборке, нужно их поместить в соответствующие переменные
  28. SET(CMAKE_C_FLAGS ${CFLAGS})
  29. SET(CMAKE_CXX_FLAGS ${CXXFLAGS})
  30.  
  31. # Объявляем новый проект
  32. project(D_SENSORS)
  33. # Дополнительные пути поиска заголовочных файлов
  34. include_directories($(D_SENSORS_SOURCE_DIR)/periph/avr $(D_SENSORS_SOURCE_DIR)/sensors)
  35. # Добавляем цель - static library
  36. add_library(periph periph/avr/TWI_Master.c)
  37. # И еще одну
  38. add_library(sensors sensors/ITG320x/ITG320x.cpp sensors/MMA7455/MMA7455.cpp)
  39. # Sensors зависит от Periph - линкуем их между собой
  40. target_link_libraries(sensors periph)
  41. # Добавляем цель - исполняемый файл
  42. add_executable(main sensors.cpp)
  43. # И линкуем его с библиотеками
  44. target_link_libraries(main periph sensors)
RAW Paste Data