diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-06-27 15:18:02 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-10-15 18:22:47 +0200 |
commit | 83e0e3039ffa42c63273e82eac7e62e6108a733e (patch) | |
tree | 316992c3e3c1474a0d07dc734d65722c48b58e11 | |
parent | a049d9e5d8ecf76b486e8dedb1a8202be992b418 (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>
-rw-r--r-- | cmake/common.cmake | 21 | ||||
-rw-r--r-- | cmake/config.cmake.sample | 11 |
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 |