aboutsummaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-08-28 18:54:41 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-08-28 18:54:52 +0200
commit4488c5e9443336de6e7c391394ee619d15b38bed (patch)
tree9544f288f33010e4463ab19526ef786315f5e195 /cmake
parent7995a0017b601a524900e231c81026c667d07273 (diff)
Dirty fix to handle distro specific packages deps
Could include first distro specific file to be able to modify variable from config.cmake and then process classic submodule cmake files. Change-Id: Id5dad2504d44c86cb165ad56f5314e9c0c545f0b Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/cmake.d/02-variables.cmake19
-rw-r--r--cmake/cmake.d/03-macros.cmake9
-rw-r--r--cmake/common.cmake38
3 files changed, 27 insertions, 39 deletions
diff --git a/cmake/cmake.d/02-variables.cmake b/cmake/cmake.d/02-variables.cmake
index 4a4e503..e69f342 100644
--- a/cmake/cmake.d/02-variables.cmake
+++ b/cmake/cmake.d/02-variables.cmake
@@ -66,25 +66,6 @@ math(EXPR c "(${LINUX_VERSION_CODE} & 255)")
set(KERNEL_VERSION "${a}.${b}.${c}")
-# Get the os type
-# Used to package .deb
-set(OS_RELEASE_PATH "${BUILD_ENV_SYSROOT}/etc/os-release")
-if(EXISTS ${OS_RELEASE_PATH})
- execute_process(COMMAND bash "-c" "grep -E '^ID(_LIKE)?=' ${OS_RELEASE_PATH} | tail -n 1"
- OUTPUT_VARIABLE TMP_OSRELEASE
- )
-
- if (NOT TMP_OSRELEASE STREQUAL "")
- string(REGEX REPLACE ".*=\"?([0-9a-z\._-]*)\"?\n" "\\1" OSRELEASE ${TMP_OSRELEASE})
- else()
- set(OSRELEASE "NOT COMPATIBLE !")
- endif()
-
-else()
- set(OSRELEASE "NOT COMPATIBLE ! Missing ${OS_RELEASE_PATH} file.")
-endif()
-message(STATUS "Distribution used ${OSRELEASE}")
-
# Include project configuration
# ------------------------------
project(${PROJECT_NAME} VERSION ${PROJECT_VERSION} LANGUAGES ${PROJECT_LANGUAGES})
diff --git a/cmake/cmake.d/03-macros.cmake b/cmake/cmake.d/03-macros.cmake
index a706773..cb830d1 100644
--- a/cmake/cmake.d/03-macros.cmake
+++ b/cmake/cmake.d/03-macros.cmake
@@ -121,15 +121,6 @@ macro(configure_files_in_dir dir)
endforeach()
endmacro(configure_files_in_dir)
-macro(add_required_module PKG_CONFIG)
- string(REGEX REPLACE "[<>]?=.*$" "" XPREFIX ${PKG_CONFIG})
- PKG_CHECK_MODULES(${XPREFIX} REQUIRED ${PKG_CONFIG})
-
- INCLUDE_DIRECTORIES(${${XPREFIX}_INCLUDE_DIRS})
- list(APPEND link_libraries ${${XPREFIX}_LDFLAGS})
- add_compile_options (${${XPREFIX}_CFLAGS})
-endmacro(add_required_module)
-
# Create custom target dedicated for HTML5 and DATA AGL target type
macro(add_input_files INPUT_FILES)
if(NOT DEFINED XML_FILES)
diff --git a/cmake/common.cmake b/cmake/common.cmake
index d0ec12e..ad5567a 100644
--- a/cmake/common.cmake
+++ b/cmake/common.cmake
@@ -24,8 +24,35 @@
# Customise your preferences in "./conf.d/cmake/config.cmake"
#--------------------------------------------------------------------------
+# Get the os type
+# Used to package .deb
+set(OS_RELEASE_PATH "${BUILD_ENV_SYSROOT}/etc/os-release")
+if(EXISTS ${OS_RELEASE_PATH})
+ execute_process(COMMAND bash "-c" "grep -E '^ID(_LIKE)?=' ${OS_RELEASE_PATH} | tail -n 1"
+ OUTPUT_VARIABLE TMP_OSRELEASE
+ )
+
+ if (NOT TMP_OSRELEASE STREQUAL "")
+ string(REGEX REPLACE ".*=\"?([0-9a-z\._-]*)\"?\n" "\\1" OSRELEASE ${TMP_OSRELEASE})
+ else()
+ set(OSRELEASE "NOT COMPATIBLE !")
+ endif()
+
+else()
+ set(OSRELEASE "NOT COMPATIBLE ! Missing ${OS_RELEASE_PATH} file.")
+endif()
+message(STATUS "Distribution used ${OSRELEASE}")
+
file(GLOB project_cmakefiles ${PROJECT_APP_TEMPLATES_DIR}/cmake/cmake.d/[0-9][0-9]-*.cmake)
+file(GLOB distro_cmakefiles ${PROJECT_APP_TEMPLATES_DIR}/../cmake/[0-9][0-9]-${OSRELEASE}*.cmake ${PROJECT_APP_TEMPLATES_DIR}/../cmake/[0-9][0-9]-common*.cmake)
+list(SORT distro_cmakefiles)
+if(NOT distro_cmakefiles)
+ file(GLOB distro_cmakefiles ${PROJECT_APP_TEMPLATES_DIR}/../cmake/[0-9][0-9]-default*.cmake)
+endif()
+
+list(APPEND project_cmakefiles "${distro_cmakefiles}")
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)
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)
@@ -36,17 +63,6 @@ foreach(file ${system_cmakefiles} ${home_cmakefiles} ${project_cmakefiles})
include(${file})
endforeach()
-file(GLOB project_cmakefiles ${ENTRY_POINT}/cmake/[0-9][0-9]-${OSRELEASE}*.cmake )
-list(SORT project_cmakefiles)
-if(NOT project_cmakefiles)
- file(GLOB project_cmakefiles ${ENTRY_POINT}/cmake/[0-9][0-9]-default*.cmake)
-endif()
-
-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()