Skip to content

roboticslab-uc3m/color-debug

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

color-debug

Continuous Integration Issues

Color CLI logs and more. Lightweight and simple, mainly achieved via ANSI escape codes. For updated version, license and author information, see ColorDebug.h.

Image

Requirements: CMake 2.8.12.

Possible usages:

  • Install system-wide: mkdir -p ~/repos && cd ~/repos && git clone https://github.com/roboticslab-uc3m/color-debug && mkdir -p color-debug/build && cd color-debug/build && cmake .. && sudo make install. In CMake, you may load it with find_package(COLOR_DEBUG) and then target_link_libraries(myTarget ROBOTICSLAB::ColorDebug).

  • Use externally: Skipping final sudo make install step, perform commands described above. Set the COLOR_DEBUG_DIR environment variable to your build path (optional, color-debug will store this path in the user registry for use by every cmake run). In CMake, you may load it with find_package(COLOR_DEBUG) and then target_link_libraries(myTarget ROBOTICSLAB::ColorDebug).

  • As part of another project: copy this repository to the desired location inside your source tree, make it discoverable by CMake (traverse its tree with add_subdirectory(...)) and add target_link_libraries(myTarget ROBOTICSLAB::ColorDebug) as usual.

  • (discontinued, last working commit was 5b8c9fd) Pulled by YCM. This is the BuildCOLOR_DEBUG.cmake file we use at kinematics-dynamics:

    include(YCMEPHelper)
    
    ycm_ep_helper(COLOR_DEBUG TYPE GIT
                  STYLE GITHUB
                  REPOSITORY roboticslab-uc3m/color-debug.git
                  TAG master)
    
    # Include path to ColorDebug.h.
    ExternalProject_Get_Property(COLOR_DEBUG INSTALL_DIR)
    include_directories(${INSTALL_DIR}/${CMAKE_INSTALL_INCLUDEDIR})
    
    # CMake has not downloaded color-debug yet (this happens on build step).
    if(NOT COLOR_DEBUG_FOUND)
        message(STATUS "Build COLOR_DEBUG target and configure project again to make advanced CD options available on UI.")
    else()
        # Load COLOR_DEBUGConfig.cmake, which in turn includes ColorDebugOptions.cmake.
        find_package(COLOR_DEBUG QUIET)
    endif()

    Additionally, for every library or executable target that needs ColorDebug.h, you must use add_dependencies(my_target COLOR_DEBUG). If you want to search for system-available color-debug first, add this to your root CMakeLists.txt after calling find_or_build_package(COLOR_DEBUG):

    if(USE_SYSTEM_COLOR_DEBUG)
        find_package(COLOR_DEBUG REQUIRED)
        include_directories(${COLOR_DEBUG_INCLUDE_DIRS})
        add_library(COLOR_DEBUG UNKNOWN IMPORTED)
    endif()

You can enable or disable specific features of color-debug by manipulating the corresponding CMake options. See cmake/ColorDebugOptions.cmake for details.

This utility adheres to the informal NO_COLOR standard, that is, ANSI color escape codes will not be generated in your ColorDebug-dependent project if the NO_COLOR environmental variable is defined (regardless of its value).

Similar and Related Projects