cmake_minimum_required(VERSION 3.1) if(CORTEX_M0_TARGET) set(CMAKE_TOOLCHAIN_FILE cortex-m0plus.cmake) elseif(ARMV5-ARM926EJ-S_TARGET) set(CMAKE_TOOLCHAIN_FILE armv5-arm926ej-s.cmake) endif() project(libEvoCANopen VERSION 0.1) if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Debug) endif() message("** Build type: ${CMAKE_BUILD_TYPE}") set(CMAKE_C_STANDARD 99) set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) add_compile_options(-Wall -Wextra -pedantic -Werror) add_subdirectory(src) if(NOT CORTEX_M0_TARGET) include(inih-CMakeLists.txt) add_subdirectory(apps) endif() add_custom_command(OUTPUT cscope.out WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND find ${PROJECT_SOURCE_DIR} -name '*.cpp' | grep -vw 'build' > cscope.files || true COMMAND find ${PROJECT_SOURCE_DIR} -name '*.hpp' | grep -vw 'build' >> cscope.files || true COMMAND sed -i "s#${PROJECT_SOURCE_DIR}/##" cscope.files || true COMMAND cscope -cb || true COMMAND ctags --c++-kinds=+lp --fields=+i --extra=+q -n -L cscope.files || true ) add_custom_target(tags DEPENDS cscope.out)