X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=reference%2Fetc%2Fmacros.cmake;h=18af27eba024ae4da911cb080987b66673c30bcc;hb=refs%2Ftags%2F3.99.1;hp=45c1a1f9c71f4630d1d62aee23ec0d0519d7adb2;hpb=7e358c8d5f94ac7658321cba5b6918ec6d33a3ea;p=staging%2Fxdg-launcher.git diff --git a/reference/etc/macros.cmake b/reference/etc/macros.cmake index 45c1a1f..18af27e 100644 --- a/reference/etc/macros.cmake +++ b/reference/etc/macros.cmake @@ -28,16 +28,8 @@ # Generic useful macro # ----------------------- macro(PROJECT_TARGET_ADD TARGET_NAME) - set(PROJECT_TARGETS ${PROJECT_TARGETS} ${TARGET_NAME} CACHE INTERNAL PROJECT_TARGETS) + set_property(GLOBAL APPEND PROPERTY PROJECT_TARGETS ${TARGET_NAME}) set(TARGET_NAME ${TARGET_NAME}) - - # Cmake does not maintain targets list before 3.7 - # ------------------------------------------------- - if(${CMAKE_VERSION} VERSION_LESS 3.7) - set(GLOBAL_TARGET_LIST ${PROJECT_TARGETS} CACHE INTERNAL "Hold project targets") - else() - get_property(GLOBAL_TARGET_LIST GLOBAL PROPERTY GlobalTargetList) - endif() endmacro(PROJECT_TARGET_ADD) # Check GCC minimal version version @@ -55,6 +47,7 @@ endmacro(defstr) # WGT packaging macro(project_targets_populate) add_custom_target(MAIN_POPULATE) + get_property(PROJECT_TARGETS GLOBAL PROPERTY PROJECT_TARGETS) foreach(TARGET ${PROJECT_TARGETS}) get_target_property(T ${TARGET} LABELS) if(T) @@ -133,6 +126,12 @@ macro(project_package_build) add_custom_target(widget DEPENDS ${PROJECT_NAME}.wgt) add_dependencies(widget MAIN_POPULATE) set(ADDITIONAL_MAKE_CLEAN_FILES, "${PROJECT_NAME}.wgt") + + if(WIDGET_MESSAGE) + add_custom_command(TARGET widget + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --cyan "++ ${WIDGET_MESSAGE}") + endif() endmacro(project_package_build) macro(project_subdirs_add) @@ -252,11 +251,13 @@ endif() # Print developer helper message when build is done # ------------------------------------------------------- macro(project_closing_msg) - if(CLOSING_MESSAGE AND GLOBAL_TARGET_LIST) + get_property(PROJECT_TARGETS_SET GLOBAL PROPERTY PROJECT_TARGETS SET) + get_property(PROJECT_TARGETS GLOBAL PROPERTY PROJECT_TARGETS) + if(CLOSING_MESSAGE AND ${PROJECT_TARGETS_SET}) add_custom_target(${PROJECT_NAME}_build_done ALL COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --cyan "++ ${CLOSING_MESSAGE}" ) add_dependencies(${PROJECT_NAME}_build_done - ${DEPENDENCIES_TARGET} ${GLOBAL_TARGET_LIST}) + ${DEPENDENCIES_TARGET} ${PROJECT_TARGETS}) endif() endmacro()