File: CMakeLists.txt

package info (click to toggle)
graphviz 14.0.5-2
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 139,388 kB
  • sloc: ansic: 141,938; cpp: 11,957; python: 7,766; makefile: 4,043; yacc: 3,030; xml: 2,972; tcl: 2,495; sh: 1,388; objc: 1,159; java: 560; lex: 423; perl: 243; awk: 156; pascal: 139; php: 58; ruby: 49; cs: 31; sed: 1
file content (109 lines) | stat: -rw-r--r-- 2,475 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
add_definitions(-DEXPORT_GVPR)

add_library(gvpr
  # Header files
  actions.h
  compile.h
  gdefs.h
  gprdata.inc
  gprstate.h
  gvpr.h
  parse.h
  trieFA.h

  # Source files
  actions.c
  compile.c
  gvpr.c
  gprstate.c
  parse.c
)

target_include_directories(gvpr
  PUBLIC
    $<INSTALL_INTERFACE:include/graphviz>
  PRIVATE
    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>
    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
    $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/..>
      # needed to find generated expr/exparse.h
    $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/../common>
      # needed to find generated common/colortbl.h
    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../cdt>
    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../cgraph>
    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../common>
)

if(GETOPT_FOUND)
  target_include_directories(gvpr SYSTEM PRIVATE
    ${GETOPT_INCLUDE_DIRS}
  )
endif()

if(WIN32 AND NOT MINGW)
  target_include_directories(gvpr PRIVATE ../../windows/include/unistd)
endif()

target_link_libraries(gvpr PRIVATE
  $<TARGET_OBJECTS:ast>
  cgraph
  gvc
  util
  $<TARGET_OBJECTS:expr>
  $<TARGET_OBJECTS:sfio>
)

if(NOT HAVE_GETOPT_H)
  target_link_libraries(gvpr PRIVATE ${GETOPT_LINK_LIBRARIES})
endif()

# Installation location of library files
install(
  TARGETS gvpr
  EXPORT gvprConfig
  RUNTIME DESTINATION ${BINARY_INSTALL_DIR}
  LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR}
  ARCHIVE DESTINATION ${LIBRARY_INSTALL_DIR}
)

# Specify headers to be installed
install(
  FILES gvpr.h
  DESTINATION ${HEADER_INSTALL_DIR}
)

# Specify man pages to be installed
if(GZIP)
  add_custom_target(man-gvprlib ALL DEPENDS gvpr.3.gz
                    COMMENT "gvpr library man page")
  add_custom_command(
    OUTPUT gvpr.3.gz
    COMMAND ${GZIP} -9 --no-name --to-stdout gvpr.3
      >"${CMAKE_CURRENT_BINARY_DIR}/gvpr.3.gz"
    MAIN_DEPENDENCY gvpr.3
    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
    COMMENT "compress gvpr library man page")
  install(
    FILES ${CMAKE_CURRENT_BINARY_DIR}/gvpr.3.gz
    DESTINATION ${MAN_INSTALL_DIR}/man3)
else()
  install(
    FILES gvpr.3
    DESTINATION ${MAN_INSTALL_DIR}/man3
  )
endif()

# Specify library version and soversion
set_target_properties(gvpr PROPERTIES
  VERSION 2.0.4
  SOVERSION 2
)

if(BUILD_SHARED_LIBS)
  install(
    EXPORT gvprConfig
    FILE gvprConfig.cmake
    NAMESPACE graphviz::
    DESTINATION ${LIBRARY_INSTALL_DIR}/cmake/graphviz
  )
endif()