-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathCMakeLists.txt
94 lines (82 loc) · 2.52 KB
/
CMakeLists.txt
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
set( lib globe_viewer )
set( Boost_USE_STATIC_LIBS ON )
set( Boost_USE_MULTITHREADED ON )
set( Boost_USE_STATIC_RUNTIME OFF )
add_definitions( -DBOOST_ALL_NO_LIB )
find_package( Boost 1.67.0 REQUIRED COMPONENTS filesystem system )
find_package( OpenGL REQUIRED )
find_package( glm REQUIRED )
find_package( PROJ4 5.0.1 REQUIRED )
set( HEADERS_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/include" )
set( HEADERS_IMPL "${HEADERS_ROOT}/impl" )
set( HEADERS_SUPP "${HEADERS_ROOT}/support" )
set( HEADERS_GLAD "${HEADERS_SUPP}/glad" )
set( HEADERS_TYPE "${HEADERS_ROOT}/type" )
set( SOURCES_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/src" )
set( SOURCES_SUPP "${SOURCES_ROOT}/support" )
set( HDRS
${HEADERS_ROOT}/GlobeViewer.h
${HEADERS_IMPL}/DataKeeper.h
${HEADERS_IMPL}/Defines.h
${HEADERS_IMPL}/MapGenerator.h
${HEADERS_IMPL}/Projector.h
${HEADERS_IMPL}/Renderer.h
${HEADERS_IMPL}/TileManager.h
${HEADERS_IMPL}/TileServer2GIS.h
${HEADERS_IMPL}/TileServerBase.h
${HEADERS_IMPL}/TileServerFactory.h
${HEADERS_IMPL}/TileServerOSM.h
${HEADERS_IMPL}/Viewport.h
${HEADERS_SUPP}/FpsCounter.h
${HEADERS_SUPP}/LoadGL.h
${HEADERS_SUPP}/Profiler.h
${HEADERS_SUPP}/Shader.h
${HEADERS_SUPP}/stb_image.h
${HEADERS_SUPP}/ThreadSafePrinter.hpp
${HEADERS_TYPE}/Tile.h
${HEADERS_TYPE}/TileMap.h
${HEADERS_TYPE}/TileServer.h
${HEADERS_TYPE}/TileTexture.h
${HEADERS_TYPE}/ViewData.h
)
set( SRCS
${SOURCES_ROOT}/GlobeViewer.cpp
${SOURCES_ROOT}/DataKeeper.cpp
${SOURCES_ROOT}/MapGenerator.cpp
${SOURCES_ROOT}/Projector.cpp
${SOURCES_ROOT}/Renderer.cpp
${SOURCES_ROOT}/TileManager.cpp
${SOURCES_ROOT}/TileServer2GIS.cpp
${SOURCES_ROOT}/TileServerBase.cpp
${SOURCES_ROOT}/TileServerFactory.cpp
${SOURCES_ROOT}/TileServerOSM.cpp
${SOURCES_ROOT}/Viewport.cpp
${SOURCES_SUPP}/glad/glad.c
${SOURCES_SUPP}/FpsCounter.cpp
${SOURCES_SUPP}/Profiler.cpp
${SOURCES_SUPP}/Shader.cpp
${SOURCES_SUPP}/stb_impl.cpp
)
include_directories(
${HEADERS_ROOT}
${HEADERS_IMPL}
${HEADERS_SUPP}
${HEADERS_GLAD}
${Boost_INCLUDE_DIRS}
${GLM_INCLUDE_DIRS}
${PROJ4_INCLUDE_DIRS}
)
add_library( ${lib} ${SRCS} ${HDRS} )
target_link_libraries( ${lib}
${Boost_LIBRARIES}
${OPENGL_LIBRARIES}
${PROJ4_LIBRARIES}
)
if ( MSVC )
add_definitions( -DNOMINMAX )
endif()
target_include_directories( ${lib} INTERFACE
${HEADERS_ROOT}
)
set( DATA_DIR "${CMAKE_CURRENT_SOURCE_DIR}/data" PARENT_SCOPE )
set( SHADERS_DIR "${DATA_DIR}/shaders" PARENT_SCOPE )