File: CMakeLists.txt

package info (click to toggle)
codelite 10.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 71,364 kB
  • sloc: cpp: 415,397; ansic: 18,277; php: 9,547; lex: 4,181; yacc: 2,820; python: 2,294; sh: 383; makefile: 51; xml: 13
file content (101 lines) | stat: -rw-r--r-- 3,620 bytes parent folder | download | duplicates (2)
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
set( BUILD_LLDB 0 )
set( LIBLLDB "" )
set( LIBLLDB_INCLUDE "" )
set( LIBLLDB_INSTALL_NEEDED 0)
set( LLDB_OFFICIAL_FOUND 0)

include(FindLibLLDB)

if (UNIX AND NOT APPLE)
    set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC" )
    set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC" )
endif()

if ( APPLE )
    add_definitions(-fPIC)
endif()


if (WITH_LLDB MATCHES 1)
    if ( APPLE )
        set ( LIBLLDB ${CL_SRC_ROOT}/sdk/lldb/unix/lib/liblldb.3.5.0.dylib )
        set ( LIBLLDB_INCLUDE ${CL_SRC_ROOT}/sdk/lldb/unix/include )
        set ( BUILD_LLDB 1 )
        set ( LIBLLDB_INSTALL_NEEDED 1 )
        ## update search path to include C++11 headers
        include_directories(/usr/lib/c++/v1/)
    else()
        FIND_LLDB_OFFICIAL()
        if ( LIBLLDB STREQUAL "LIBLLDB-NOTFOUND" )
        ## could not locate an official package, try a custom build
            find_library(LIBEDIT_LIB NAMES libedit.so HINTS /usr/local/lib /usr/lib ${CMAKE_INSTALL_LIBDIR}) # Our liblldb.so depends on libedit.so
            if(LLDB_OFFICIAL_FOUND MATCHES 0)
                set ( BUILD_LLDB 0 )
            else()
                message("-- libedit.so is not installed. For lldb support, please install the libedit development package and try again.")
            endif()
        else()
            set ( BUILD_LLDB 1 )
        endif()
    endif()

    if ( BUILD_LLDB MATCHES 1 )
        message("-- LIBLLDB is set to ${LIBLLDB}")
        message("-- LIBLLDB_INCLUDE is set to ${LIBLLDB_INCLUDE}")
        include_directories(${LIBLLDB_INCLUDE})
        link_directories(${LLDB_LIB_PATH})

        ## lldb requires C++11
        add_definitions(-std=c++11)
        set(PLUGIN_NAME "LLDBDebugger")
        project(LLDBDebugger)

        if ( APPLE )
            ## Under Apple, we only support monolithic build of wxWidgets
            find_package(wxWidgets COMPONENTS std REQUIRED)
        else ( APPLE )
            find_package(wxWidgets COMPONENTS std aui propgrid stc richtext ribbon REQUIRED)
        endif ( APPLE )

        # wxWidgets include (this will do all the magic to configure everything)
        include( "${wxWidgets_USE_FILE}" )

        # Include paths
        include_directories("${CL_SRC_ROOT}/Plugin"
                            "${CL_SRC_ROOT}/sdk/wxsqlite3/include" 
                            "${CL_SRC_ROOT}/CodeLite" 
                            "${CL_SRC_ROOT}/PCH" 
                            "${CL_SRC_ROOT}/Interfaces")
        ## Definitions
        add_definitions(-DWXUSINGDLL_WXSQLITE3)
        add_definitions(-DWXUSINGDLL_CL)
        add_definitions(-DWXUSINGDLL_SDK)

        ## By default, use the sources under the current folder
        FILE(GLOB PLUGIN_SRCS "*.cpp")

        # Define the output - shared library
        add_library(${PLUGIN_NAME} SHARED ${PLUGIN_SRCS})

        target_link_libraries(LLDBDebugger LLDBProtocol)

        # Codelite plugins doesn't use the "lib" prefix.
        set_target_properties(${PLUGIN_NAME} PROPERTIES PREFIX "")
        target_link_libraries(${PLUGIN_NAME}
                              ${LINKER_OPTIONS}
                              ${wxWidgets_LIBRARIES}
                              ${LIBLLDB}
                              libcodelite
                              plugin
                              )
        # Installation destination
        CL_INSTALL_PLUGIN(${PLUGIN_NAME})

        add_subdirectory(LLDBProtocol)
        add_subdirectory(codelite-lldb)

    else()
        message(" **** NOTICE: lldb is not available. You could try installing the lldb-3.4-dev (or equivalent) package")
    endif()
endif(WITH_LLDB MATCHES 1)