Update latest CMakeLists files from app-templates.
authorRomain Forlot <romain.forlot@iot.bzh>
Wed, 17 May 2017 15:54:48 +0000 (17:54 +0200)
committerRomain Forlot <romain.forlot@iot.bzh>
Fri, 19 May 2017 09:36:43 +0000 (11:36 +0200)
Better handling of dependencies using TARGET_LINK_DIRECTORIES directive

Change-Id: Iffead28aa2e2696cdc9103301d013deee2e6b1ab
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
CAN-binder/etc/macros.cmake
CAN-binder/libs/isotp-c/CMakeLists.txt
CAN-binder/libs/uds-c/CMakeLists.txt

index 9d34aa7..ef6d5da 100644 (file)
 # 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
@@ -258,11 +250,12 @@ endif()
 # Print developer helper message when build is done
 # -------------------------------------------------------
 macro(project_closing_msg)
-       if(CLOSING_MESSAGE AND GLOBAL_TARGET_LIST)
+       get_property(PROJECT_TARGETS GLOBAL PROPERTY PROJECT_TARGETS)
+       if(CLOSING_MESSAGE AND PROJECT_TARGETS)
                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()
index a494212..fbb5161 100644 (file)
@@ -32,12 +32,11 @@ PROJECT_TARGET_ADD(isotp-c)
        )
 
        # Define target includes
-       get_target_property(Bitfield_inc bitfield-c INCLUDE_DIRECTORIES)
        TARGET_INCLUDE_DIRECTORIES(${TARGET_NAME}
                PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src
-               ${Bitfield_inc}
        )
 
        # Library dependencies (include updates automatically)
        TARGET_LINK_LIBRARIES(${TARGET_NAME}
+               bitfield-c
                ${link_libraries})
index 34ae4ea..8f78fd6 100644 (file)
@@ -31,12 +31,11 @@ PROJECT_TARGET_ADD(uds-c)
        )
 
        # Define target includes
-       get_target_property(IsoTP_inc isotp-c INCLUDE_DIRECTORIES)
        TARGET_INCLUDE_DIRECTORIES(${TARGET_NAME}
                PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src
-               ${IsoTP_inc}
        )
 
        # Library dependencies (include updates automatically)
        TARGET_LINK_LIBRARIES(${TARGET_NAME}
+               isotp-c
                ${link_libraries})