From 4d67d060455919313491e904d32eb53b303dc21c Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Fri, 18 Aug 2017 20:22:06 +0200 Subject: Better OS detection and inclusion per distribution Change-Id: I6f479353df990eb2ff9030b7427d48bb72f0416f Signed-off-by: Romain Forlot --- cmake/cmake.d/02-variables.cmake | 9 +++++---- cmake/common.cmake | 12 ++++++++++-- 2 files changed, 15 insertions(+), 6 deletions(-) (limited to 'cmake') diff --git a/cmake/cmake.d/02-variables.cmake b/cmake/cmake.d/02-variables.cmake index dd86d2b..ec6510f 100644 --- a/cmake/cmake.d/02-variables.cmake +++ b/cmake/cmake.d/02-variables.cmake @@ -54,14 +54,15 @@ if(EXISTS "/etc/os-release") execute_process(COMMAND grep -E "^ID(=|_LIKE=)" /etc/os-release OUTPUT_VARIABLE TMP_OSRELEASE ) + if (NOT TMP_OSRELEASE STREQUAL "") - string(REGEX REPLACE ".*=" "" OSRELEASE ${TMP_OSRELEASE}) + string(REGEX REPLACE ".*=([0-9a-z._-]*)\n" "\\1" OSRELEASE ${TMP_OSRELEASE}) else() - set(OSRELEASE "NOT DEBIAN OS") + set(OSRELEASE "NO COMPATIBLE !") endif() - message(STATUS "OSRELEASE = ${OSRELEASE}") + message(STATUS "Distribution used ${OSRELEASE}") else() - set(OSRELEASE "NOT DEBIAN OS") + set(OSRELEASE "NO COMPATIBLE !") endif() if(DEFINED ENV{SDKTARGETSYSROOT}) diff --git a/cmake/common.cmake b/cmake/common.cmake index ed13ccc..06d04c6 100644 --- a/cmake/common.cmake +++ b/cmake/common.cmake @@ -26,9 +26,9 @@ file(GLOB project_cmakefiles ${PROJECT_APP_TEMPLATES_DIR}/cmake/cmake.d/[0-9][0-9]-*.cmake) list(SORT project_cmakefiles) -file(GLOB home_cmakefiles $ENV{HOME}/.config/app-templates/cmake.d/[0-9][0-9]-common-*.cmake $ENV{HOME}/.config/app-templates/cmake.d/[0-9][0-9]-${PROJECT_NAME}-*.cmake) +file(GLOB home_cmakefiles $ENV{HOME}/.config/app-templates/cmake.d/[0-9][0-9]-common*.cmake $ENV{HOME}/.config/app-templates/cmake.d/[0-9][0-9]-${PROJECT_NAME}*.cmake) list(SORT home_cmakefiles) -file(GLOB system_cmakefiles /etc/app-templates/cmake.d/[0-9][0-9]-common-*.cmake /etc/app-templates/cmake.d/[0-9][0-9]-${PROJECT_NAME}-*.cmake) +file(GLOB system_cmakefiles /etc/app-templates/cmake.d/[0-9][0-9]-common*.cmake /etc/app-templates/cmake.d/[0-9][0-9]-${PROJECT_NAME}*.cmake) list(SORT system_cmakefiles) foreach(file ${system_cmakefiles} ${home_cmakefiles} ${project_cmakefiles}) @@ -36,6 +36,14 @@ foreach(file ${system_cmakefiles} ${home_cmakefiles} ${project_cmakefiles}) include(${file}) endforeach() +message(STATUS "${ENTRY_POINT}/cmake/[0-9][0-9]-${OSRELEASE}*.cmake") +file(GLOB project_cmakefiles ${ENTRY_POINT}/cmake/[0-9][0-9]-common*.cmake ${ENTRY_POINT}/cmake/[0-9][0-9]-${OSRELEASE}*.cmake ) +list(SORT project_cmakefiles) +foreach(file ${project_cmakefiles}) + message(STATUS "Include: ${file}") + include(${file}) +endforeach() + if(DEFINED PROJECT_SRC_DIR_PATTERN) project_subdirs_add(${PROJECT_SRC_DIR_PATTERN}) else() -- cgit 1.2.3-korg