STM32F429 cmake target.
[lwext4.git] / CMakeLists.txt
1 project(lwext4 C)\r
2 cmake_minimum_required(VERSION 2.8)\r
3 \r
4 \r
5 #LIBRARY\r
6 include_directories(. lwext4)\r
7 aux_source_directory(lwext4 LWEXT4_SRC)\r
8 add_library(lwext4  ${LWEXT4_SRC})\r
9 \r
10 \r
11 #EXECUTABLE\r
12 \r
13 if(CMAKE_SYSTEM_PROCESSOR STREQUAL  cortex-m3)\r
14 #Library size print\r
15 add_custom_target(lib_size ALL DEPENDS lwext4 COMMAND ${SIZE} -B liblwext4.a)\r
16 \r
17 elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL  cortex-m4)\r
18 #Library size print\r
19 add_custom_target(lib_size ALL DEPENDS lwext4 COMMAND ${SIZE} -B liblwext4.a)\r
20 \r
21 #Discoery disco demo\r
22 enable_language(ASM)\r
23 set (STM32F429_DEMO_ASM\r
24     demos/stm32f429_disco/startup.S\r
25 )\r
26 \r
27 include_directories(demos/stm32f429_disco)\r
28 include_directories(demos/stm32f429_disco/cmsis)\r
29 include_directories(demos/stm32f429_disco/stm/lcd_utils)\r
30 include_directories(demos/stm32f429_disco/stm/stm32f4_spl/inc)\r
31 include_directories(demos/stm32f429_disco/stm/stm32f429)\r
32 \r
33 aux_source_directory(demos/stm32f429_disco STM32F429_DEMO)\r
34 aux_source_directory(demos/stm32f429_disco/cmsis STM32F429_DEMO)\r
35 aux_source_directory(demos/stm32f429_disco/stm/lcd_utils STM32F429_DEMO)\r
36 aux_source_directory(demos/stm32f429_disco/stm/stm32f4_spl/src STM32F429_DEMO)\r
37 aux_source_directory(demos/stm32f429_disco/stm/stm32f429 STM32F429_DEMO)\r
38 \r
39 add_executable(stm324f29_demo ${STM32F429_DEMO} ${STM32F429_DEMO_ASM})\r
40 set_target_properties(stm324f29_demo PROPERTIES COMPILE_DEFINITIONS "STM32F429_439xx")\r
41 set_target_properties(stm324f29_demo PROPERTIES LINK_FLAGS "-T${CMAKE_SOURCE_DIR}/demos/stm32f429_disco/stm32f429.ld")\r
42 target_link_libraries(stm324f29_demo lwext4)\r
43 \r
44 add_custom_target(stm32f429_size ALL DEPENDS stm324f29_demo COMMAND ${SIZE} -B stm324f29_demo)\r
45 \r
46 elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL  bf518)\r
47 #Library size print\r
48 add_custom_target(lib_size ALL DEPENDS lwext4 COMMAND ${SIZE} -B liblwext4.a)\r
49 \r
50 else()\r
51 #Generic example target\r
52 include_directories(blockdev/filedev)\r
53 include_directories(blockdev/io_raw)\r
54 \r
55 aux_source_directory(blockdev/filedev GENERIC_SRC)\r
56 aux_source_directory(blockdev/io_raw GENERIC_SRC)\r
57 aux_source_directory(demos/generic GENERIC_SRC)\r
58 \r
59 add_executable(fileimage_demo ${GENERIC_SRC})\r
60 target_link_libraries(fileimage_demo lwext4)\r
61 add_custom_target(size ALL DEPENDS lwext4 COMMAND size -B liblwext4.a)\r
62 endif()\r
63 \r
64 #DISTRIBUTION\r
65 set(CPACK_PACKAGE_VERSION_MAJOR "0")\r
66 set(CPACK_PACKAGE_VERSION_MINOR "2")\r
67 set(CPACK_PACKAGE_VERSION_PATCH "0")\r
68 set(CPACK_SOURCE_GENERATOR "TBZ2")\r
69 set(CPACK_SOURCE_PACKAGE_FILE_NAME\r
70   "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")\r
71 set(CPACK_SOURCE_IGNORE_FILES\r
72 "/build")\r
73 include(CPack)\r
74 \r
75 add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)\r