You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
2.9 KiB
48 lines
2.9 KiB
find_program(Graphviz_EXECUTABLE NAMES dot PATHS $ENV{PATH} DOC "path to Graphviz executable" REQUIRED)
|
|
mark_as_advanced(Graphviz_EXECUTABLE)
|
|
|
|
if(Graphviz_EXECUTABLE)
|
|
set(Graphviz_FOUND true)
|
|
|
|
if(WIN32)
|
|
string(REGEX REPLACE "/bin/dot.exe" "" Graphviz_PATH ${Graphviz_EXECUTABLE})
|
|
endif()
|
|
|
|
find_library(Graphviz_GVC_STATIC_LIBRARY NAMES gvc HINTS ${Graphviz_PATH}/lib)
|
|
find_library(Graphviz_CDT_STATIC_LIBRARY NAMES cdt HINTS ${Graphviz_PATH}/lib)
|
|
find_library(Graphviz_GRAPH_STATIC_LIBRARY NAMES cgraph HINTS ${Graphviz_PATH}/lib)
|
|
find_library(Graphviz_GVP_CORE_STATIC_LIBRARY NAMES gvplugin_core HINTS ${Graphviz_PATH}/lib)
|
|
find_library(Graphviz_GVP_DOT_LAYOUT_STATIC_LIBRARY NAMES gvplugin_dot_layout HINTS ${Graphviz_PATH}/lib)
|
|
find_library(Graphviz_GVP_GDI_PLUS_STATIC_LIBRARY NAMES gvplugin_gdiplus HINTS ${Graphviz_PATH}/lib)
|
|
find_library(Graphviz_GVP_NEATO_LAYOUT_STATIC_LIBRARY NAMES gvplugin_neato_layout HINTS ${Graphviz_PATH}/lib)
|
|
find_library(Graphviz_GVP_PANGO_STATIC_LIBRARY NAMES gvplugin_pango HINTS ${Graphviz_PATH}/lib)
|
|
find_library(Graphviz_XDOT_STATIC_LIBRARY NAMES xdot HINTS ${Graphviz_PATH}/lib)
|
|
find_library(Graphviz_PATHPLAN_STATIC_LIBRARY NAMES pathplan HINTS ${Graphviz_PATH}/lib)
|
|
|
|
set(Graphviz_INCLUDE_DIRECTORIES "${Graphviz_PATH}/include/graphviz")
|
|
set(Graphviz_LIBRARIES ${Graphviz_GVC_STATIC_LIBRARY} ${Graphviz_CDT_STATIC_LIBRARY} ${Graphviz_GRAPH_STATIC_LIBRARY}
|
|
${Graphviz_GVP_CORE_STATIC_LIBRARY} ${Graphviz_GVP_DOT_LAYOUT_STATIC_LIBRARY} ${Graphviz_GVP_GDI_PLUS_STATIC_LIBRARY}
|
|
${Graphviz_GVP_NEATO_LAYOUT_STATIC_LIBRARY} ${Graphviz_GVP_PANGO_STATIC_LIBRARY}
|
|
${Graphviz_XDOT_STATIC_LIBRARY} ${Graphviz_PATHPLAN_STATIC_LIBRARY})
|
|
|
|
if (EXISTS "${Graphviz_PATH}/include/graphviz/graphviz_version.h")
|
|
file(READ "${Graphviz_PATH}/include/graphviz/graphviz_version.h" _graphviz_version_content)
|
|
string(REGEX MATCH "#define +PACKAGE_VERSION +\"([0-9]+\\.[0-9]+\\.[0-9]+)\"" _dummy "${_graphviz_version_content}")
|
|
set(Graphviz_VERSION "${CMAKE_MATCH_1}")
|
|
endif ()
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(Graphviz
|
|
REQUIRED_VARS Graphviz_LIBRARIES Graphviz_INCLUDE_DIRECTORIES
|
|
VERSION_VAR Graphviz_VERSION)
|
|
|
|
if(NOT TARGET Graphviz::Graphviz)
|
|
add_library(Graphviz::Graphviz UNKNOWN IMPORTED)
|
|
set_target_properties(Graphviz::Graphviz PROPERTIES
|
|
IMPORTED_LOCATION "${Graphviz_GVC_STATIC_LIBRARY}" # randomly picked, should this be another one?
|
|
INTERFACE_LINK_LIBRARIES "${Graphviz_CDT_STATIC_LIBRARY};${Graphviz_GRAPH_STATIC_LIBRARY};${Graphviz_GVP_CORE_STATIC_LIBRARY};${Graphviz_GVP_DOT_LAYOUT_STATIC_LIBRARY};${Graphviz_GVP_GDI_PLUS_STATIC_LIBRARY};${Graphviz_GVP_NEATO_LAYOUT_STATIC_LIBRARY};${Graphviz_GVP_PANGO_STATIC_LIBRARY};${Graphviz_XDOT_STATIC_LIBRARY};${Graphviz_PATHPLAN_STATIC_LIBRARY}"
|
|
INTERFACE_INCLUDE_DIRECTORIES "${Graphviz_INCLUDE_DIRECTORIES}"
|
|
)
|
|
endif()
|
|
|
|
endif()
|