aboutsummaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-06-27 15:18:02 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-06-27 15:36:00 +0200
commited512d6aae18909c85cc92f72930998433cbf3d1 (patch)
tree23da1796ad5fb8182b8ce7b474288a7b003fd3ba /cmake
parentb62e98e11c34acd9f8de99cbeaea2723d3e078f3 (diff)
Only 1 include in root CMake and no macro to call
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>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/common.cmake21
-rw-r--r--cmake/config.cmake.sample11
2 files changed, 18 insertions, 14 deletions
diff --git a/cmake/common.cmake b/cmake/common.cmake
index eb123f1..6465aaf 100644
--- a/cmake/common.cmake
+++ b/cmake/common.cmake
@@ -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
diff --git a/cmake/config.cmake.sample b/cmake/config.cmake.sample
index 9e41872..67c18e1 100644
--- a/cmake/config.cmake.sample
+++ b/cmake/config.cmake.sample
@@ -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