Update project settings.
[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 include_directories(demos/stm32f429_disco/stm/usb_dev/Core/inc)\r
33 include_directories(demos/stm32f429_disco/stm/usb_host/Core/inc)\r
34 include_directories(demos/stm32f429_disco/stm/usb_host/Class/MSC/inc)\r
35 include_directories(demos/stm32f429_disco/stm/usb_otg/inc)\r
36 include_directories(demos/stm32f429_disco/stm/usb_user)\r
37 \r
38 aux_source_directory(demos/stm32f429_disco STM32F429_DEMO)\r
39 aux_source_directory(demos/stm32f429_disco/cmsis STM32F429_DEMO)\r
40 aux_source_directory(demos/stm32f429_disco/stm/lcd_utils STM32F429_DEMO)\r
41 aux_source_directory(demos/stm32f429_disco/stm/stm32f4_spl/src STM32F429_DEMO)\r
42 aux_source_directory(demos/stm32f429_disco/stm/stm32f429 STM32F429_DEMO)\r
43 aux_source_directory(demos/stm32f429_disco/stm/usb_host/Core/src STM32F429_DEMO)\r
44 aux_source_directory(demos/stm32f429_disco/stm/usb_host/Class/MSC/src STM32F429_DEMO)\r
45 aux_source_directory(demos/stm32f429_disco/stm/usb_otg/src STM32F429_DEMO)\r
46 aux_source_directory(demos/stm32f429_disco/stm/usb_user STM32F429_DEMO)\r
47 \r
48 add_executable(stm324f29_demo ${STM32F429_DEMO} ${STM32F429_DEMO_ASM})\r
49 \r
50 set_target_properties(stm324f29_demo PROPERTIES COMPILE_FLAGS "-Wno-unused-parameter")\r
51 set_target_properties(stm324f29_demo PROPERTIES COMPILE_FLAGS "-Wno-format")\r
52 set_target_properties(stm324f29_demo PROPERTIES COMPILE_DEFINITIONS "STM32F429_439xx")\r
53 \r
54 set_target_properties(stm324f29_demo PROPERTIES LINK_FLAGS "-T${CMAKE_SOURCE_DIR}/demos/stm32f429_disco/stm32f429.ld")\r
55 target_link_libraries(stm324f29_demo lwext4)\r
56 \r
57 add_custom_target(stm32f429_size ALL DEPENDS stm324f29_demo COMMAND ${SIZE} -B stm324f29_demo)\r
58 \r
59 elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL  bf518)\r
60 #Library size print\r
61 add_custom_target(lib_size ALL DEPENDS lwext4 COMMAND ${SIZE} -B liblwext4.a)\r
62 \r
63 else()\r
64 #Generic example target\r
65 include_directories(blockdev/filedev)\r
66 include_directories(blockdev/io_raw)\r
67 \r
68 aux_source_directory(blockdev/filedev GENERIC_SRC)\r
69 aux_source_directory(blockdev/io_raw GENERIC_SRC)\r
70 aux_source_directory(demos/generic GENERIC_SRC)\r
71 \r
72 add_executable(fileimage_demo ${GENERIC_SRC})\r
73 target_link_libraries(fileimage_demo lwext4)\r
74 add_custom_target(size ALL DEPENDS lwext4 COMMAND size -B liblwext4.a)\r
75 endif()\r
76 \r
77 #DISTRIBUTION\r
78 set(CPACK_PACKAGE_VERSION_MAJOR "0")\r
79 set(CPACK_PACKAGE_VERSION_MINOR "2")\r
80 set(CPACK_PACKAGE_VERSION_PATCH "0")\r
81 set(CPACK_SOURCE_GENERATOR "TBZ2")\r
82 set(CPACK_SOURCE_PACKAGE_FILE_NAME\r
83   "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")\r
84 set(CPACK_SOURCE_IGNORE_FILES\r
85 "/build")\r
86 include(CPack)\r
87 \r
88 add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)\r