KDbg 2.5.6.
[kdbg.git] / kdbg / CMakeLists.txt
bloba57a28e7742bde159db30f56a906dce97cd2b132
1 add_subdirectory(doc)
2 add_subdirectory(pics)
3 add_subdirectory(typetables)
5 include_directories(${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} )
6 include(CheckFunctionExists)
7 include(CheckIncludeFiles)
9 CHECK_INCLUDE_FILES(pty.h HAVE_PTY_H)
10 CHECK_INCLUDE_FILES(libutil.h HAVE_LIBUTIL_H)
11 CHECK_INCLUDE_FILES(util.h HAVE_UTIL_H)
12 CHECK_LIBRARY_EXISTS(util openpty "" HAVE_LIB_UTIL)
13 if (HAVE_LIB_UTIL)
14     set(CMAKE_REQUIRED_LIBRARIES util)
15 endif (HAVE_LIB_UTIL)
16 CHECK_FUNCTION_EXISTS(openpty HAVE_FUNC_OPENPTY)
18 message("-- Looking for a suitable 'ps' invocation")
19 FIND_PROGRAM(PROG_PS ps)
20 IF (PROG_PS)
21     set(PS_ARGS -eo pid,ppid,uid,vsz,etime,time,args)
22     execute_process(COMMAND ${PROG_PS} ${PS_ARGS}
23                 RESULT_VARIABLE PS_FAILED
24                 OUTPUT_QUIET ERROR_QUIET)
25     IF (NOT PS_FAILED)
26         execute_process(
27                 COMMAND ${PROG_PS} ${PS_ARGS}
28                 COMMAND sed -e "s/  */ /g" -e 1q
29                 OUTPUT_VARIABLE PS_HEADER)
30         string(STRIP "${PS_HEADER}" PS_HEADER)
31         IF (PS_HEADER STREQUAL "PID PPID UID VSZ ELAPSED TIME COMMAND")
32             # enclose arguments in double-quotes
33             set(PS_COMMAND \"${PROG_PS}\")
34             set(PS_MSG ${PROG_PS})
35             foreach (I ${PS_ARGS})
36                 set(PS_COMMAND ${PS_COMMAND},\"${I}\")
37                 set(PS_MSG "${PS_MSG} ${I}")
38             endforeach (I)
39             message("-- Found 'ps' command: ${PS_MSG}")
40         ENDIF (PS_HEADER STREQUAL "PID PPID UID VSZ ELAPSED TIME COMMAND")
41     ENDIF (NOT PS_FAILED)
42 ENDIF (PROG_PS)
43 IF (NOT PS_COMMAND)
44     message("-- Looking for a suitable 'ps' invocation - not found")
45 ENDIF (NOT PS_COMMAND)
47 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
49 set(kdbg_SRCS
50     pgmargs.cpp
51     procattach.cpp
52     debugger.cpp
53     dbgdriver.cpp
54     gdbdriver.cpp
55     xsldbgdriver.cpp
56     brkpt.cpp
57     exprwnd.cpp
58     regwnd.cpp
59     memwindow.cpp
60     threadlist.cpp
61     sourcewnd.cpp
62     winstack.cpp
63     ttywnd.cpp
64     typetable.cpp
65     prefdebugger.cpp
66     prefmisc.cpp
67     pgmsettings.cpp
68     watchwindow.cpp
69     dbgmainwnd.cpp
70     main.cpp
73 set(kdbg_UI
74     brkptbase.ui
75     brkptcondition.ui
76     pgmargsbase.ui
77     procattachbase.ui
80 kde4_add_ui_files(kdbg_SRCS ${kdbg_UI})
82 kde4_add_app_icon(kdbg_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/pics/hi*-app-kdbg.png")
83 kde4_add_app_icon(kdbg_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/pics/lo*-app-kdbg.png")
84 kde4_add_executable(kdbg ${kdbg_SRCS})
86 IF (HAVE_LIB_UTIL)
87     set(LIB_UTIL util)
88 ENDIF (HAVE_LIB_UTIL)
90 target_link_libraries(kdbg ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} ${LIB_UTIL})
92 install(TARGETS kdbg ${INSTALL_TARGETS_DEFAULT_ARGS})
93 install(FILES kdbg.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
94 install(FILES kdbgrc DESTINATION ${CONFIG_INSTALL_DIR})
95 install(FILES kdbgui.rc DESTINATION ${DATA_INSTALL_DIR}/kdbg)