X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=cmake%2Fcmake.d%2F03-macros.cmake;h=8af81d6e5fe5740261bf46aef4bd9f897ab01da2;hb=908a0372d53c74a037da3debe1e276a214343c41;hp=89b93f631c7920f3b67f93d06cbb816f9ed504dd;hpb=e9a682f1c694eec242c3cebccc09380f621ade0b;p=apps%2Fapp-templates.git diff --git a/cmake/cmake.d/03-macros.cmake b/cmake/cmake.d/03-macros.cmake index 89b93f6..8af81d6 100644 --- a/cmake/cmake.d/03-macros.cmake +++ b/cmake/cmake.d/03-macros.cmake @@ -153,21 +153,21 @@ macro(add_input_files INPUT_FILES) add_custom_command(TARGET ${TARGET_NAME} PRE_BUILD WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMAND ${XML_CHECKER} ${file} + COMMAND which ${XML_CHECKER} > /dev/null 2>&1 && ${XML_CHECKER} ${file} || ${CMAKE_COMMAND} -E cmake_echo_color --red "Warning: XML_CHECKER not found" ) endforeach() foreach(file ${LUA_LIST}) add_custom_command(TARGET ${TARGET_NAME} PRE_BUILD WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMAND ${LUA_CHECKER} ${file} + COMMAND which ${LUA_CHECKER} > /dev/null 2>&1 && ${LUA_CHECKER} ${file} || ${CMAKE_COMMAND} -E cmake_echo_color --red "Warning: LUA_CHECKER not found" ) endforeach() foreach(file ${JSON_LIST}) add_custom_command(TARGET ${TARGET_NAME} PRE_BUILD WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMAND cat ${file} | ${JSON_CHECKER} + COMMAND which ${JSON_CHECKER} > /dev/null 2>&1 && ${JSON_CHECKER} ${file} || ${CMAKE_COMMAND} -E cmake_echo_color --red "Warning: JSON_CHECKER not found" ) endforeach() @@ -215,6 +215,7 @@ macro(project_targets_populate) set(POPULE_PACKAGE_TARGET "project_populate_${TARGET}") get_target_property(P ${TARGET} PREFIX) + get_target_property(S ${TARGET} SUFFIX) get_target_property(BD ${TARGET} BINARY_DIR) get_target_property(SD ${TARGET} SOURCE_DIR) get_target_property(OUT ${TARGET} OUTPUT_NAME) @@ -227,16 +228,24 @@ macro(project_targets_populate) endif() endif() - if(${T} STREQUAL "BINDING") - list(APPEND BINDINGS_LIST "${P}${OUT}") - add_custom_command(OUTPUT ${PACKAGE_LIBDIR}/${P}${OUT}.so - DEPENDS ${BD}/${P}${OUT}.so + if(${T} STREQUAL "BINDING" OR ${T} STREQUAL "PLUGIN") + if(NOT S) + list(APPEND BINDINGS_LIST "${P}${OUT}") + set(S ".so") + else() + set(PACKAGE_LIBDIR_BCK "${PACKAGE_LIBDIR}") + set(PACKAGE_LIBDIR "${PACKAGE_LIBDIR}/plugins") + endif() + + add_custom_command(OUTPUT ${PACKAGE_LIBDIR}/${P}${OUT}${S} + DEPENDS ${BD}/${P}${OUT}${S} COMMAND mkdir -p ${PACKAGE_LIBDIR} - COMMAND cp ${BD}/${P}${OUT}.so ${PACKAGE_LIBDIR} + COMMAND cp ${BD}/${P}${OUT}${S} ${PACKAGE_LIBDIR} ) - add_custom_target(${POPULE_PACKAGE_TARGET} DEPENDS ${PACKAGE_LIBDIR}/${P}${OUT}.so) + add_custom_target(${POPULE_PACKAGE_TARGET} DEPENDS ${PACKAGE_LIBDIR}/${P}${OUT}${S}) add_dependencies(populate ${POPULE_PACKAGE_TARGET}) add_dependencies(${POPULE_PACKAGE_TARGET} ${TARGET}) + set(PACKAGE_LIBDIR ${PACKAGE_LIBDIR_BCK}) elseif(${T} STREQUAL "BINDINGV2") if (OPENAPI_DEF) add_custom_command(OUTPUT ${SD}/${OPENAPI_DEF}.h @@ -315,7 +324,7 @@ macro(project_targets_populate) ) add_dependencies(populate ${POPULE_PACKAGE_TARGET}) add_dependencies(${POPULE_PACKAGE_TARGET} ${TARGET}) - endif(${T} STREQUAL "BINDING") + endif() elseif(${CMAKE_BUILD_TYPE} MATCHES "[Dd][Ee][Bb][Uu][Gg]") MESSAGE("${Yellow}.. Warning: ${TARGET} ignored when packaging.${ColourReset}") endif()