# 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")
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")
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)
endmacro()
macro(check_version)
- if(${GIT_PROJECT_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()