Only 1 include in root CMake and no macro to call
authorRomain Forlot <romain.forlot@iot.bzh>
Tue, 27 Jun 2017 13:18:02 +0000 (15:18 +0200)
committerRomain Forlot <romain.forlot@iot.bzh>
Tue, 27 Jun 2017 13:36:00 +0000 (15:36 +0200)
Added a variable to specify pattern to search CMakeLists.txt
over directories and include common.cmake from config.cmake file.
Now it isn't needed to call any macro to configure the
project.

Change-Id: I0c0eecc684db4f8ee1055d84205ad457a6fde179
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
cmake/common.cmake
cmake/config.cmake.sample

index eb123f1..6465aaf 100644 (file)
@@ -36,17 +36,12 @@ foreach(file ${project_cmakefiles} ${home_cmakefiles} ${system_cmakefiles})
        include(${file})
 endforeach()
 
-macro(project_build)
-       set (ARGSLIST ${ARGN})
-       list(LENGTH ARGSLIST ARGSNUM)
-       if(${ARGSNUM} GREATER 0)
-               set(pattern "${ARGV0}")
-       else()
-               set(pattern "*")
-       endif()
+if(DEFINED PROJECT_SRC_DIR_PATTERN)
+       project_subdirs_add(${PROJECT_SRC_DIR_PATTERN})
+else()
+       project_subdirs_add()
+endif(DEFINED PROJECT_SRC_DIR_PATTERN)
 
-       project_subdirs_add(${pattern})
-       project_targets_populate()
-       project_package_build()
-       project_closing_msg()
-endmacro(project_build)
\ No newline at end of file
+project_targets_populate()
+project_package_build()
+project_closing_msg()
\ No newline at end of file
index 9e41872..67c18e1 100644 (file)
@@ -40,12 +40,16 @@ set(PROJECT_APP_TEMPLATES_DIR "conf.d/app-templates")
 # Where are stored data for your application. Pictures, static resources must be placed in that folder.
 # set(PROJECT_RESOURCES "data")
 
+# Which directories inspect to find CMakeLists.txt target files
+# set(PROJECT_SRC_DIR_PATTERN "*")
+
 # Compilation Mode (DEBUG, RELEASE)
 # ----------------------------------
 set(CMAKE_BUILD_TYPE "DEBUG")
 
 # Kernel selection if needed. Impose a minimal version.
-# NOTE FOR NOW IT CHECKS KERNEL HOST VERSION
+# NOTE FOR NOW IT CHECKS KERNEL Yocto SDK Kernel version
+# else only HOST VERSION
 # -----------------------------------------------
 #set (kernel_minimal_version 4.8)
 
@@ -138,3 +142,8 @@ set(WIDGET_ENTRY_POINT EntryPoint_Path_Not_Set)
 #------------------------------------------------------------
 #set(AFB_TOKEN   ""      CACHE PATH "Default AFB_TOKEN")
 #set(AFB_REMPORT "1234" CACHE PATH "Default AFB_TOKEN")
+
+# This include is mandatory and MUST happens at the end
+# of this file, else you expose you to unexpected behavior
+# -----------------------------------------------------------
+include(${PROJECT_APP_TEMPLATES_DIR}/cmake/common.cmake)
\ No newline at end of file