X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=cmake%2Fcommon.cmake;h=041bb74ec4d85055e5d9137f0b35d4c94651a423;hb=e9a682f1c694eec242c3cebccc09380f621ade0b;hp=a98cac9e13b7c94dd1ea3933aa670505ed956e55;hpb=ea8a8c3528b5f46e91b571d67e7a4fdaeae49ec2;p=apps%2Fapp-templates.git diff --git a/cmake/common.cmake b/cmake/common.cmake index a98cac9..041bb74 100644 --- a/cmake/common.cmake +++ b/cmake/common.cmake @@ -21,14 +21,52 @@ #-------------------------------------------------------------------------- # WARNING: # Do not change this cmake template -# Customise your preferences in "./etc/config.cmake" +# Customise your preferences in "./conf.d/cmake/config.cmake" #-------------------------------------------------------------------------- +if(DEFINED ENV{SDKTARGETSYSROOT}) +file(STRINGS $ENV{SDKTARGETSYSROOT}/usr/include/linux/version.h LINUX_VERSION_CODE_LINE REGEX "LINUX_VERSION_CODE") +set(BUILD_ENV_SYSROOT $ENV{SDKTARGETSYSROOT}) +elseif(DEFINED ENV{PKG_CONFIG_SYSROOT_DIR}) +file(STRINGS $ENV{PKG_CONFIG_SYSROOT_DIR}/usr/include/linux/version.h LINUX_VERSION_CODE_LINE REGEX "LINUX_VERSION_CODE") +set(BUILD_ENV_SYSROOT $ENV{PKG_CONFIG_SYSROOT_DIR}) +else() +file(STRINGS /usr/include/linux/version.h LINUX_VERSION_CODE_LINE REGEX "LINUX_VERSION_CODE") +set(BUILD_ENV_SYSROOT "") +endif() + +# 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/cmake.d/[0-9][0-9]-*.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/cmake.d/[0-9][0-9]-*.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,17 +74,17 @@ foreach(file ${system_cmakefiles} ${home_cmakefiles} ${project_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) + +configure_files_in_dir(${PROJECT_APP_TEMPLATES_DIR}/${ENTRY_POINT}/template.d) +configure_files_in_dir($ENV{HOME}/.config/app-templates/scripts) +configure_files_in_dir(/etc/app-templates/scripts) - 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() +remote_targets_populate() +project_package_build() +project_closing_msg()