Fix filename pattern to match .cmake files
[apps/app-templates.git] / cmake / cmake.d / 03-macros.cmake
index bf297a2..9df9a10 100644 (file)
@@ -247,10 +247,13 @@ endmacro()
 
 # To be call inside project_targets_populate macro
 macro(afb_genskel)
+       if ("${PROJECT_LANGUAGES}" MATCHES "CXX")
+               list(APPEND GENSKEL_OPTS "--cpp")
+       endif()
        if (OPENAPI_DEF)
                add_custom_command(OUTPUT ${SD}/${OPENAPI_DEF}.h
                        DEPENDS ${SD}/${OPENAPI_DEF}.json
-                       COMMAND afb-genskel ${SD}/${OPENAPI_DEF}.json > ${SD}/${OPENAPI_DEF}.h
+                       COMMAND afb-genskel ${GENSKEL_OPTS} ${SD}/${OPENAPI_DEF}.json > ${SD}/${OPENAPI_DEF}.h
                )
                add_custom_target("${TARGET}_GENSKEL" DEPENDS ${SD}/${OPENAPI_DEF}.h
                        COMMENT "Generating OpenAPI header file ${OPENAPI_DEF}.h")
@@ -258,7 +261,7 @@ macro(afb_genskel)
        else()
                add_custom_command(OUTPUT ${SD}/${OUT}-apidef.h
                        DEPENDS ${SD}/${OUT}-apidef.json
-                       COMMAND afb-genskel ${SD}/${OUT}-apidef.json > ${SD}/${OUT}-apidef.h
+                       COMMAND afb-genskel ${GENSKEL_OPTS} ${SD}/${OUT}-apidef.json > ${SD}/${OUT}-apidef.h
                )
                add_custom_target("${TARGET}_GENSKEL" DEPENDS ${SD}/${OUT}-apidef.h
                        COMMENT "Generating OpenAPI header file ${OUT}-apidef.h")
@@ -269,11 +272,6 @@ endmacro()
 # Pre-packaging
 macro(project_targets_populate)
        # Default Widget default directory
-       set(BINDIR bin)
-       set(ETCDIR etc)
-       set(LIBDIR lib)
-       set(HTTPDIR htdocs)
-       set(DATADIR data)
        set(PACKAGE_BINDIR  ${PROJECT_PKG_BUILD_DIR}/${BINDIR})
        set(PACKAGE_ETCDIR  ${PROJECT_PKG_BUILD_DIR}/${ETCDIR})
        set(PACKAGE_LIBDIR  ${PROJECT_PKG_BUILD_DIR}/${LIBDIR})
@@ -522,6 +520,8 @@ macro(project_subdirs_add)
        foreach(filename ${filelist})
                if(EXISTS "${filename}/CMakeLists.txt")
                        add_subdirectory(${filename})
+               elseif(${filename} MATCHES "^.*\\.cmake$")
+                       include(${filename})
                endif(EXISTS "${filename}/CMakeLists.txt")
        endforeach()
 endmacro(project_subdirs_add)
@@ -539,3 +539,23 @@ macro(project_closing_msg)
                        ${PROJECT_TARGETS} populate)
        endif()
 endmacro()
+
+macro(check_version)
+       if(GIT_PROJECT_VERSION)
+               if(${GIT_PROJECT_VERSION} VERSION_GREATER ${APP_TEMPLATES_VERSION})
+                       message(STATUS "${Yellow}.. Your app-templates submodule version seems outdated. You should update it with 'git submodule update --remote ${PROJECT_APP_TEMPLATES_DIR}'.
+               - App-templates version: ${APP_TEMPLATES_VERSION}
+               - Project version according AGL Git tag: ${GIT_PROJECT_VERSION}"
+               )
+               endif()
+       elseif(PROJECT_VERSION)
+               if(${PROJECT_VERSION} VERSION_GREATER ${APP_TEMPLATES_VERSION})
+                       message(STATUS "${Yellow}.. Your app-templates submodule version seems outdated. You should update it with 'git submodule update --remote ${PROJECT_APP_TEMPLATES_DIR}'.
+               - App-templates version: ${APP_TEMPLATES_VERSION}
+               - Project version according AGL Git tag: ${PROJECT_VERSION}"
+               )
+               endif()
+       else()
+               message(STATUS "${Yellow} Your git project repo doesn't have any version tags nor hosted by AGL gerrit infrastructure. Can't compare version between project and app-templates ${APP_TEMPLATES_VERSION} ${ColourReset}")
+       endif()
+endmacro()