summaryrefslogtreecommitdiff
path: root/platform/qt/standalone/standalone.cmake
blob: 43948f4758e5940409c8353ce7983ce1ce2baf5c (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
include(ExternalProject)

# Macro for cloning and downloading our header-only dependencies
macro(add_dep package tag git)
    externalproject_add(${package}
        SOURCE_DIR ${CMAKE_SOURCE_DIR}/src/3rd_party/${package}
        STAMP_DIR ${CMAKE_SOURCE_DIR}/src/3rd_party/stamps
        URL https://github.com/${git}/archive/${tag}.zip
        CONFIGURE_COMMAND ""
        BUILD_COMMAND ""
        INSTALL_COMMAND ""
    )

    add_dependencies(mbgl-core ${package})

    externalproject_get_property(${package} SOURCE_DIR)

    target_include_directories(mbgl-core PRIVATE ${SOURCE_DIR})
    target_include_directories(mbgl-core PRIVATE ${SOURCE_DIR}/include)
    target_include_directories(qmapboxgl PRIVATE ${SOURCE_DIR})
    target_include_directories(qmapboxgl PRIVATE ${SOURCE_DIR}/include)

    set(${package}_SOURCE_DIR ${SOURCE_DIR})
endmacro()

add_custom_command(
    OUTPUT ${CMAKE_SOURCE_DIR}/include/mbgl/util/version.hpp
    DEPENDS ${MBGL_VERSION_DEPS}
    COMMAND node ${CMAKE_SOURCE_DIR}/scripts/build-version.js ${CMAKE_SOURCE_DIR}
    VERBATIM
)

macro(add_shader shader)
    set(shader_build_cmd node ${CMAKE_SOURCE_DIR}/scripts/build-shaders.js)
    set(shader_file_prefix ${mapbox-gl-shaders_SOURCE_DIR}/shaders)
    set(shader_source_prefix ${mapbox-gl-shaders_SOURCE_DIR}/include/mbgl/shader)

    add_custom_command(
       OUTPUT ${shader_source_prefix}/${shader}.hpp
       COMMAND ${shader_build_cmd} ${shader} ${shader_file_prefix} ${shader_source_prefix}
       DEPENDS ${shader_file_prefix}/${shader}.vertex.glsl
       DEPENDS ${shader_file_prefix}/${shader}.fragment.glsl
       DEPENDS ${shader_file_prefix}/_prelude.vertex.glsl
       DEPENDS ${shader_file_prefix}/_prelude.fragment.glsl
       DEPENDS mapbox-gl-shaders
       VERBATIM
    )

    set(MBGL_SHADER_FILES ${MBGL_SHADER_FILES} ${shader_source_prefix}/${shader}.hpp)
endmacro()