Mercurial > louis > kiibohd-controller
view Lib/CMake/initialize.cmake @ 149:c127188dcc80
Adding compiler change detection.
- Tried to add auto cmake reset...so far unsuccessful
- Ported MBC-55X (was used to test compilers)
- Disabled in-source builds, to prevent CMake from shooting itself in the foot.
author | Jacob Alexander <haata@kiibohd.com> |
---|---|
date | Sat, 19 Apr 2014 01:51:25 -0700 |
parents | 95da03b43860 |
children | 6ac92b8614c0 |
line wrap: on
line source
###| CMAKE Kiibohd Controller Initialization |### # # Written by Jacob Alexander in 2011-2014 for the Kiibohd Controller # # Released into the Public Domain # ### #| Windows / Cygwin Compatibility options set( CMAKE_LEGACY_CYGWIN_WIN32 0 ) set( CMAKE_USE_RELATIVE_PATHS 1 ) #| Prevent In-Source Builds set( CMAKE_DISABLE_SOURCE_CHANGES ON ) set( CMAKE_DISABLE_IN_SOURCE_BUILD ON ) ### # Compiler Lookup # #| avr match if ( "${CHIP}" MATCHES "^at90usb.*$" OR "${CHIP}" MATCHES "^atmega.*$" ) set( COMPILER_FAMILY "avr" ) #| arm match elseif ( "${CHIP}" MATCHES "^mk20dx.*$" ) set( COMPILER_FAMILY "arm" ) #| Invalid CHIP else () message( FATAL_ERROR "CHIP: ${CHIP} - Unknown chip, could not choose compiler..." ) endif () #| Results of Compiler Lookup message( STATUS "Compiler Family:" ) message( "${COMPILER_FAMILY}" ) #| Compiler Selection Record #| This is used to check if the chip target has changed (a complete cmake reset is needed) if ( EXISTS compiler ) file( READ ${CMAKE_BINARY_DIR}/compiler COMPILER_RECORD ) # Detect case if a full cmake reset is required if ( NOT COMPILER_FAMILY STREQUAL COMPILER_RECORD ) message( FATAL_ERROR "Changing compilers requires a cmake reset\ne.g. rm -rf *; cmake .." ) endif() endif () #| Load the compiler family specific configurations include( Lib/CMake/${COMPILER_FAMILY}.cmake ) #| Binutils not set by CMake set( CMAKE_SIZE "${_CMAKE_TOOLCHAIN_PREFIX}size" )