5
5
# alexmercerind@gmail.com
6
6
# GNU Lesser General Public License v2.1
7
7
#
8
-
9
8
cmake_minimum_required (VERSION 3.15 )
10
-
11
- set (PROJECT_NAME "dart_vlc" )
12
- project (${PROJECT_NAME} LANGUAGES CXX )
13
- set (PLUGIN_NAME "dart_vlc_plugin" )
9
+ set (CMAKE_CXX_STANDARD 17 )
14
10
15
11
set (LIBVLC_VERSION "3.0.9.2" )
16
-
17
- include_directories ("${PLUGIN_NAME} " INTERFACE
18
- "${CMAKE_CURRENT_SOURCE_DIR} /include"
19
- )
20
- add_library ("${PLUGIN_NAME} " SHARED
21
- "dart_vlc_plugin.cpp"
12
+ set (PACKAGE "dart_vlc" )
13
+ add_library (${PACKAGE} SHARED
14
+ "../ffi/native/dart_vlc.cpp"
22
15
)
23
-
24
- apply_standard_settings ("${PLUGIN_NAME} " )
25
- set_target_properties ("${PLUGIN_NAME} " PROPERTIES
26
- CXX_VISIBILITY_PRESET hidden )
27
- target_compile_definitions ("${PLUGIN_NAME} " PRIVATE FLUTTER_PLUGIN_IMPL )
28
- target_include_directories ("${PLUGIN_NAME} " INTERFACE
29
- "${CMAKE_CURRENT_SOURCE_DIR} /include"
30
- "${CMAKE_CURRENT_SOURCE_DIR} /../dartvlc"
16
+ target_include_directories (${PACKAGE} INTERFACE
17
+ ${CMAKE_CURRENT_SOURCE_DIR} /include
18
+ ${CMAKE_CURRENT_SOURCE_DIR} /../dartvlc
19
+ ${CMAKE_CURRENT_SOURCE_DIR} /../ffi/native
31
20
)
32
21
33
22
set (LIBVLC_BINARIES "${CMAKE_CURRENT_SOURCE_DIR} /bin" )
@@ -39,7 +28,6 @@ set(LIBVLCPP_ARCHIVE "${LIBVLC_BINARIES}/libvlcpp.zip")
39
28
set (LIBVLC_SOURCE "${LIBVLC_BINARIES} /vlc-${LIBVLC_VERSION} " )
40
29
set (LIBVLCPP_SOURCE "${LIBVLC_BINARIES} /libvlcpp-master" )
41
30
42
-
43
31
if (NOT EXISTS "${LIBVLC_ARCHIVE} " )
44
32
file (DOWNLOAD "${LIBVLC_URL} " "${LIBVLC_ARCHIVE} " )
45
33
endif ()
@@ -59,14 +47,47 @@ add_custom_command(
59
47
DEPENDS " ${LIBVLC_ARCHIVE} "
60
48
)
61
49
50
+ target_link_libraries(" ${PACKAGE} " PRIVATE
51
+ " ${LIBVLC_SOURCE} /sdk/lib/libvlc.lib "
52
+ " ${LIBVLC_SOURCE} /sdk/lib/libvlccore.lib "
53
+ )
54
+
55
+
56
+ # Not used Flutter plugin template.
57
+
58
+ set(PROJECT_NAME " dart_vlc ")
59
+ set(PLUGIN_NAME " dart_vlc_plugin ")
60
+ project(${PROJECT_NAME} LANGUAGES CXX)
61
+ set(" ${PACKAGE} " " dart_vlc_plugin ")
62
+
63
+
64
+ include_directories(" ${PLUGIN_NAME} " INTERFACE
65
+ " ${CMAKE_CURRENT_SOURCE_DIR} /include "
66
+ )
67
+ add_library(" ${PLUGIN_NAME} " SHARED
68
+ " dart_vlc_plugin.cpp "
69
+ )
70
+
71
+ apply_standard_settings(" ${PLUGIN_NAME} ")
72
+ set_target_properties(" ${PLUGIN_NAME} " PROPERTIES
73
+ CXX_VISIBILITY_PRESET hidden)
74
+ target_compile_definitions(" ${PLUGIN_NAME} " PRIVATE FLUTTER_PLUGIN_IMPL)
75
+ target_include_directories(" ${PLUGIN_NAME} " INTERFACE
76
+ " ${CMAKE_CURRENT_SOURCE_DIR} /include "
77
+ " ${CMAKE_CURRENT_SOURCE_DIR} /../dartvlc "
78
+ )
79
+
62
80
target_link_libraries(" ${PLUGIN_NAME} " PRIVATE
63
81
flutter
64
82
flutter_wrapper_plugin
65
- " ${LIBVLC_SOURCE} /sdk/lib/libvlc.lib "
66
- " ${LIBVLC_SOURCE} /sdk/lib/libvlccore.lib "
67
83
)
84
+
85
+ # Add generated shared library & libVLC DLLs.
86
+
68
87
set(
69
88
dart_vlc_bundled_libraries
89
+ # TODO: Make build type dynamic.
90
+ " plugins/dart_vlc/Debug/dart_vlc.dll "
70
91
" ${LIBVLC_SOURCE} /libvlc.dll "
71
92
" ${LIBVLC_SOURCE} /libvlccore.dll "
72
93
" ${LIBVLC_SOURCE} /plugins "
0 commit comments