cmake_minimum_required(VERSION 2.8)\r
\r
\r
-#LIBRARY\r
-include_directories(. lwext4)\r
-aux_source_directory(lwext4 LWEXT4_SRC)\r
-add_library(lwext4 ${LWEXT4_SRC})\r
-\r
+include_directories(lwext4)\r
+include_directories(blockdev/filedev)\r
+include_directories(blockdev/filedev_win)\r
\r
-#EXECUTABLE\r
+set(BLOCKDEV_TYPE none)\r
\r
-if(CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m3)\r
-#Library size print\r
-add_custom_target(lib_size ALL DEPENDS lwext4 COMMAND ${SIZE} -B liblwext4.a)\r
+#Examples\r
+if (CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m0)\r
+ #cortex-m0 demos\r
+ #...\r
+elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m3)\r
+ #cortex-m3 demos\r
\r
+elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL arm-sim)\r
+ #arm-sim demos\r
+ add_subdirectory(blockdev)\r
+ add_subdirectory(demos/generic)\r
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL cortex-m4)\r
-#Library size print\r
-add_custom_target(lib_size ALL DEPENDS lwext4 COMMAND ${SIZE} -B liblwext4.a)\r
-\r
-#Discoery disco demo\r
-enable_language(ASM)\r
-set (STM32F429_DEMO_ASM\r
- demos/stm32f429_disco/startup.S\r
-)\r
-\r
-include_directories(demos/stm32f429_disco)\r
-include_directories(demos/stm32f429_disco/cmsis)\r
-include_directories(demos/stm32f429_disco/stm/lcd_utils)\r
-include_directories(demos/stm32f429_disco/stm/stm32f4_spl/inc)\r
-include_directories(demos/stm32f429_disco/stm/stm32f429)\r
-include_directories(demos/stm32f429_disco/stm/usb_dev/Core/inc)\r
-include_directories(demos/stm32f429_disco/stm/usb_host/Core/inc)\r
-include_directories(demos/stm32f429_disco/stm/usb_host/Class/MSC/inc)\r
-include_directories(demos/stm32f429_disco/stm/usb_otg/inc)\r
-include_directories(demos/stm32f429_disco/stm/usb_user)\r
-\r
-aux_source_directory(demos/stm32f429_disco STM32F429_DEMO)\r
-aux_source_directory(demos/stm32f429_disco/cmsis STM32F429_DEMO)\r
-aux_source_directory(demos/stm32f429_disco/stm/lcd_utils STM32F429_DEMO)\r
-aux_source_directory(demos/stm32f429_disco/stm/stm32f4_spl/src STM32F429_DEMO)\r
-aux_source_directory(demos/stm32f429_disco/stm/stm32f429 STM32F429_DEMO)\r
-aux_source_directory(demos/stm32f429_disco/stm/usb_host/Core/src STM32F429_DEMO)\r
-aux_source_directory(demos/stm32f429_disco/stm/usb_host/Class/MSC/src STM32F429_DEMO)\r
-aux_source_directory(demos/stm32f429_disco/stm/usb_otg/src STM32F429_DEMO)\r
-aux_source_directory(demos/stm32f429_disco/stm/usb_user STM32F429_DEMO)\r
-\r
-add_executable(stm324f29_demo ${STM32F429_DEMO} ${STM32F429_DEMO_ASM})\r
-\r
-set_target_properties(stm324f29_demo PROPERTIES COMPILE_FLAGS "-Wno-unused-parameter")\r
-set_target_properties(stm324f29_demo PROPERTIES COMPILE_FLAGS "-Wno-format")\r
-set_target_properties(stm324f29_demo PROPERTIES COMPILE_DEFINITIONS "STM32F429_439xx")\r
-\r
-set_target_properties(stm324f29_demo PROPERTIES LINK_FLAGS "-T${CMAKE_SOURCE_DIR}/demos/stm32f429_disco/stm32f429.ld")\r
-target_link_libraries(stm324f29_demo lwext4)\r
-\r
-add_custom_target(stm32f429_size ALL DEPENDS stm324f29_demo COMMAND ${SIZE} -B stm324f29_demo)\r
-\r
+ #cortex-m4 demos\r
+ add_subdirectory(demos/stm32f429_disco)\r
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL bf518)\r
-#Library size print\r
-add_custom_target(lib_size ALL DEPENDS lwext4 COMMAND ${SIZE} -B liblwext4.a)\r
-\r
+ add_definitions(-DCONFIG_HAVE_OWN_OFLAGS=1)\r
+ #bf518 demos\r
+ #...\r
+elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL avrxmega7)\r
+ add_definitions(-DCONFIG_HAVE_OWN_OFLAGS=1)\r
+ #avrxmega7 demos\r
+ #...\r
+elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL msp430g2210)\r
+ add_definitions(-DCONFIG_DEBUG_PRINTF=0)\r
+ add_definitions(-DCONFIG_DEBUG_ASSERT=0)\r
+ add_definitions(-DCONFIG_HAVE_OWN_OFLAGS=1)\r
+ #msp430f6459 demos\r
+ #...\r
else()\r
-#Generic example target\r
-include_directories(blockdev/filedev)\r
-include_directories(blockdev/io_raw)\r
+ #Generic example target\r
+ set(BLOCKDEV_TYPE linux)\r
+ add_subdirectory(fs_test)\r
+ add_subdirectory(demos/generic)\r
+endif()\r
\r
-aux_source_directory(blockdev/filedev GENERIC_SRC)\r
-aux_source_directory(blockdev/io_raw GENERIC_SRC)\r
-aux_source_directory(demos/generic GENERIC_SRC)\r
+add_subdirectory(blockdev)\r
+\r
+#Library build\r
+add_subdirectory(lwext4)\r
+#Detect all possible warnings for lwext4 target\r
+set_target_properties(lwext4 PROPERTIES COMPILE_FLAGS "-Wall -Wextra -pedantic")\r
\r
-add_executable(fileimage_demo ${GENERIC_SRC})\r
-target_link_libraries(fileimage_demo lwext4)\r
-add_custom_target(size ALL DEPENDS lwext4 COMMAND size -B liblwext4.a)\r
-endif()\r
\r
#DISTRIBUTION\r
set(CPACK_PACKAGE_VERSION_MAJOR "0")\r
-set(CPACK_PACKAGE_VERSION_MINOR "2")\r
+set(CPACK_PACKAGE_VERSION_MINOR "8")\r
set(CPACK_PACKAGE_VERSION_PATCH "0")\r
set(CPACK_SOURCE_GENERATOR "TBZ2")\r
set(CPACK_SOURCE_PACKAGE_FILE_NAME\r
"${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")\r
set(CPACK_SOURCE_IGNORE_FILES\r
-"/build")\r
+"/build" ".git")\r
include(CPack)\r
\r
add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)\r