File: CMakeLists.txt

package info (click to toggle)
codelite 17.0.0%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 136,244 kB
  • sloc: cpp: 491,547; ansic: 280,393; php: 10,259; sh: 8,930; lisp: 7,664; vhdl: 6,518; python: 6,020; lex: 4,920; yacc: 3,123; perl: 2,385; javascript: 1,715; cs: 1,193; xml: 1,110; makefile: 804; cobol: 741; sql: 709; ruby: 620; f90: 566; ada: 534; asm: 464; fortran: 350; objc: 289; tcl: 258; java: 157; erlang: 61; pascal: 51; ml: 49; awk: 44; haskell: 36
file content (73 lines) | stat: -rw-r--r-- 2,408 bytes parent folder | download | duplicates (3)
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

set(CL_SRC_ROOT "${CMAKE_CURRENT_LIST_DIR}/..")

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CL_SRC_ROOT}/cmake/Modules/")
set(BUILD_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/lib")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/bin")
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${BUILD_DIRECTORY}/lib")

# Our project is called 'codelite' this is how it will be called in visual studio, and in our makefiles.
project(codelite-cli)
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)

# It was noticed that when using MinGW gcc it is essential that 'core' is mentioned before 'base'.

include("${wxWidgets_USE_FILE}")

if(APPLE)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++")
else()
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
endif()

if(NOT CL_WX_CONFIG)
    set(CL_WX_CONFIG "wx-config")
endif()

# we need wxWidgets flags to be set only for the c++ files, so we do it like this by setting the CMAKE_CXX_FLAGS
if(NOT MINGW)
    execute_process(
        COMMAND ${CL_WX_CONFIG} --cxxflags
        OUTPUT_VARIABLE WX_CXX_FLAGS
        OUTPUT_STRIP_TRAILING_WHITESPACE)
else()
    execute_process(
        COMMAND sh ${CL_WX_CONFIG} --cxxflags
        OUTPUT_VARIABLE WX_CXX_FLAGS
        OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WX_CXX_FLAGS}")
message("${WX_CXX_FLAGS}")

# prepare list of files
file(
    GLOB
    CODELITELIB_SRCS
    "${CL_SRC_ROOT}/CodeLite/SocketAPI/*.cpp"
    "${CL_SRC_ROOT}/sdk/wxsqlite3/src/*.cpp"
    "${CL_SRC_ROOT}/CodeLite/*.c"
    "${CL_SRC_ROOT}/CodeLite/*.cpp"
    "${CL_SRC_ROOT}/sdk/codelite_indexer/network/*.cpp"
    "${CL_SRC_ROOT}/codelite-cli/sqlite3.c")

file(GLOB CODELITESERVER_SRCS "*.cpp")

# and finally prepare list of includes directories
include_directories("${CL_SRC_ROOT}/sdk/wxsqlite3/include" "${CL_SRC_ROOT}/CodeLite"
                    "${CL_SRC_ROOT}/sdk/codelite_indexer/network")

# Define the output
add_library(codelitelib STATIC ${CODELITELIB_SRCS})
target_compile_definitions(codelitelib PRIVATE wxUSE_GUI=0)

add_executable(codelite-cli ${CODELITESERVER_SRCS})
target_compile_definitions(codelite-cli PRIVATE wxUSE_GUI=0)

set(UTIL_LIB "")
if(UNIX)
    set(UTIL_LIB "-lutil -ldl")
endif(UNIX)

target_link_libraries(codelite-cli codelitelib ${LINKER_OPTIONS} ${wxWidgets_LIBRARIES} ${UTIL_LIB})
# add_subdirectory(codelite-client)