mirror of https://github.com/gkostka/lwext4.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
3.4 KiB
88 lines
3.4 KiB
project(lwext4 C)
|
|
cmake_minimum_required(VERSION 2.8)
|
|
|
|
|
|
#LIBRARY
|
|
include_directories(. lwext4)
|
|
aux_source_directory(lwext4 LWEXT4_SRC)
|
|
add_library(lwext4 ${LWEXT4_SRC})
|
|
|
|
|
|
#EXECUTABLE
|
|
|
|
if(CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m3)
|
|
#Library size print
|
|
add_custom_target(lib_size ALL DEPENDS lwext4 COMMAND ${SIZE} -B liblwext4.a)
|
|
|
|
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m4)
|
|
#Library size print
|
|
add_custom_target(lib_size ALL DEPENDS lwext4 COMMAND ${SIZE} -B liblwext4.a)
|
|
|
|
#Discoery disco demo
|
|
enable_language(ASM)
|
|
set (STM32F429_DEMO_ASM
|
|
demos/stm32f429_disco/startup.S
|
|
)
|
|
|
|
include_directories(demos/stm32f429_disco)
|
|
include_directories(demos/stm32f429_disco/cmsis)
|
|
include_directories(demos/stm32f429_disco/stm/lcd_utils)
|
|
include_directories(demos/stm32f429_disco/stm/stm32f4_spl/inc)
|
|
include_directories(demos/stm32f429_disco/stm/stm32f429)
|
|
include_directories(demos/stm32f429_disco/stm/usb_dev/Core/inc)
|
|
include_directories(demos/stm32f429_disco/stm/usb_host/Core/inc)
|
|
include_directories(demos/stm32f429_disco/stm/usb_host/Class/MSC/inc)
|
|
include_directories(demos/stm32f429_disco/stm/usb_otg/inc)
|
|
include_directories(demos/stm32f429_disco/stm/usb_user)
|
|
|
|
aux_source_directory(demos/stm32f429_disco STM32F429_DEMO)
|
|
aux_source_directory(demos/stm32f429_disco/cmsis STM32F429_DEMO)
|
|
aux_source_directory(demos/stm32f429_disco/stm/lcd_utils STM32F429_DEMO)
|
|
aux_source_directory(demos/stm32f429_disco/stm/stm32f4_spl/src STM32F429_DEMO)
|
|
aux_source_directory(demos/stm32f429_disco/stm/stm32f429 STM32F429_DEMO)
|
|
aux_source_directory(demos/stm32f429_disco/stm/usb_host/Core/src STM32F429_DEMO)
|
|
aux_source_directory(demos/stm32f429_disco/stm/usb_host/Class/MSC/src STM32F429_DEMO)
|
|
aux_source_directory(demos/stm32f429_disco/stm/usb_otg/src STM32F429_DEMO)
|
|
aux_source_directory(demos/stm32f429_disco/stm/usb_user STM32F429_DEMO)
|
|
|
|
add_executable(stm324f29_demo ${STM32F429_DEMO} ${STM32F429_DEMO_ASM})
|
|
|
|
set_target_properties(stm324f29_demo PROPERTIES COMPILE_FLAGS "-Wno-unused-parameter")
|
|
set_target_properties(stm324f29_demo PROPERTIES COMPILE_FLAGS "-Wno-format")
|
|
set_target_properties(stm324f29_demo PROPERTIES COMPILE_DEFINITIONS "STM32F429_439xx")
|
|
|
|
set_target_properties(stm324f29_demo PROPERTIES LINK_FLAGS "-T${CMAKE_SOURCE_DIR}/demos/stm32f429_disco/stm32f429.ld")
|
|
target_link_libraries(stm324f29_demo lwext4)
|
|
|
|
add_custom_target(stm32f429_size ALL DEPENDS stm324f29_demo COMMAND ${SIZE} -B stm324f29_demo)
|
|
|
|
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL bf518)
|
|
#Library size print
|
|
add_custom_target(lib_size ALL DEPENDS lwext4 COMMAND ${SIZE} -B liblwext4.a)
|
|
|
|
else()
|
|
#Generic example target
|
|
include_directories(blockdev/filedev)
|
|
include_directories(blockdev/io_raw)
|
|
|
|
aux_source_directory(blockdev/filedev GENERIC_SRC)
|
|
aux_source_directory(blockdev/io_raw GENERIC_SRC)
|
|
aux_source_directory(demos/generic GENERIC_SRC)
|
|
|
|
add_executable(fileimage_demo ${GENERIC_SRC})
|
|
target_link_libraries(fileimage_demo lwext4)
|
|
add_custom_target(size ALL DEPENDS lwext4 COMMAND size -B liblwext4.a)
|
|
endif()
|
|
|
|
#DISTRIBUTION
|
|
set(CPACK_PACKAGE_VERSION_MAJOR "0")
|
|
set(CPACK_PACKAGE_VERSION_MINOR "3")
|
|
set(CPACK_PACKAGE_VERSION_PATCH "0")
|
|
set(CPACK_SOURCE_GENERATOR "TBZ2")
|
|
set(CPACK_SOURCE_PACKAGE_FILE_NAME
|
|
"${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
|
|
set(CPACK_SOURCE_IGNORE_FILES
|
|
"/build" ".svn")
|
|
include(CPack)
|
|
|
|
add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
|
|
|