summaryrefslogtreecommitdiff
path: root/web/CMakeLists.txt
blob: 6224e81283ec6fdc322073461fd5905384961514 (plain)
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
# Copyright (C) 2013-2018 Christian Dywan <christian@twotoasts.de>

include_directories(
                    "${CMAKE_SOURCE_DIR}"
                    "${CMAKE_SOURCE_DIR}/core"
                    ${DEPS_INCLUDE_DIRS}
                    ${DEPS_GTK_INCLUDE_DIRS}
                    ${CMAKE_BINARY_DIR}
                    "${CMAKE_BINARY_DIR}/core"
                    )
file(GLOB EXTENSIONS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.c *.vala)
foreach(UNIT_SRC ${EXTENSIONS})
    if (${UNIT_SRC} MATCHES "(.vala)$")
        string(REPLACE ".vala" "" UNIT ${UNIT_SRC})
        include(ValaPrecompile)
        vala_precompile(UNIT_SRC_C ${UNIT}
            ${UNIT_SRC}
            ${CMAKE_SOURCE_DIR}/core/database.vala
            ${CMAKE_SOURCE_DIR}/core/history.vala
            ${CMAKE_SOURCE_DIR}/core/loggable.vala
            ${CMAKE_SOURCE_DIR}/core/plugins.vala
            ${CMAKE_SOURCE_DIR}/core/settings.vala
        PACKAGES
            libsoup-2.4 libpeas-1.0 sqlite3
        OPTIONS
            ${VALAFLAGS}
        CUSTOM_VAPIS
            ${CMAKE_SOURCE_DIR}/vapi/config.vapi
            ${CMAKE_SOURCE_DIR}/vapi/webkit2gtk-web-extension-4.0.vapi
            ${CMAKE_SOURCE_DIR}/vapi/javascriptcoregtk-4.0.vapi
        )

        add_library(${UNIT} MODULE ${UNIT_SRC_C})
        set_target_properties(${UNIT} PROPERTIES
                              COMPILE_FLAGS "${VALA_CFLAGS}"
                              )
    else()
        string(REPLACE ".c" "" UNIT ${UNIT_SRC})
        add_library(${UNIT} MODULE ${UNIT_SRC})
        set_target_properties(${UNIT} PROPERTIES
                              COMPILE_FLAGS ${CFLAGS}
                              )
    endif()
    target_link_libraries(${UNIT}
                          ${DEPS_LIBRARIES}
                          ${DEPS_GTK_LIBRARIES}
                          )
    install(TARGETS ${UNIT}
            LIBRARY DESTINATION ${PLUGINDIR}
            )
endforeach ()