aboutsummaryrefslogtreecommitdiffstats
path: root/testing/telegram-desktop/ThirdParty-qtlottie.cmake
blob: b3ccb032b3f09ac9a526c9a1381e8e7e1d2a50fe (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
project(qtlottie)

set(CMAKE_CXX_STANDARD 17)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

list(APPEND CMAKE_MODULE_PATH
	${CMAKE_SOURCE_DIR}/gyp
)

find_package(Qt5 REQUIRED COMPONENTS Core Gui)

foreach(__qt_module IN ITEMS QtCore QtGui)
	list(APPEND QT_PRIVATE_INCLUDE_DIRS
		${QT_INCLUDE_DIR}/${__qt_module}/${Qt5_VERSION}
		${QT_INCLUDE_DIR}/${__qt_module}/${Qt5_VERSION}/${__qt_module}
	)
endforeach()

file(GLOB QTLOTTIE_SOURCE_FILES
	src/bodymovin/*.cpp
	src/imports/rasterrenderer/rasterrenderer.cpp
	../../SourceFiles/lottie/*.cpp
)

add_library(${PROJECT_NAME} STATIC ${QTLOTTIE_SOURCE_FILES})

include(PrecompiledHeader)
add_precompiled_header(${PROJECT_NAME} ../../SourceFiles/lottie/lottie_pch.h)

target_include_directories(${PROJECT_NAME} PUBLIC
	src
	src/bodymovin
	src/imports
	${CMAKE_SOURCE_DIR}/SourceFiles
	${CMAKE_SOURCE_DIR}/ThirdParty/GSL/include
	${CMAKE_SOURCE_DIR}/ThirdParty/variant/include
	${QT_PRIVATE_INCLUDE_DIRS}
)
set_target_properties(${PROJECT_NAME} PROPERTIES AUTOMOC_MOC_OPTIONS -bqtlottie_pch/lottie_pch.h)
target_compile_definitions(${PROJECT_NAME} PUBLIC BODYMOVIN_LIBRARY)
target_link_libraries(${PROJECT_NAME} crl Qt5::Core Qt5::Widgets)