OSDN Git Service

64c53be93f1b8797c1e23c9113bd0664b34a585d
[csp-qt/common_source_project-fm7.git] / source / src / qt / avio / CMakeLists.txt
1 message("* qt/avio")
2
3 SET(THIS_LIB_VERSION 3.2.3)
4 set(s_qt_avio_headers
5           movie_saver.h
6           movie_loader.h
7           sound_loader.h
8 )
9
10 set(s_qt_avio_srcs
11           movie_loader.cpp
12           movie_saver.cpp
13           movie_saver_audio.cpp
14           movie_saver_video.cpp
15           movie_saver_fileio.cpp
16           sound_loader.cpp
17 )
18 add_definitions(-D__LIBAVIO_VERSION=\"libCSPavio.${THIS_LIB_VERSION}\")
19
20 if(USE_QT_5)
21   QT5_WRAP_CPP(s_qt_avio_headers_MOC ${s_qt_avio_headers})
22 else()
23   QT4_WRAP_CPP(s_qt_avio_headers_MOC ${s_qt_avio_headers})
24 endif()
25
26 if(WIN32)
27 #add_library(qt_avio
28 #         ${s_qt_avio_srcs}
29 #         ${s_qt_avio_headers_MOC}
30 #)
31
32 include (GenerateExportHeader)
33 add_library(CSPavio SHARED
34           ${s_qt_avio_srcs}
35           ${s_qt_avio_headers_MOC}
36 )
37
38 target_link_libraries(CSPavio PUBLIC
39                    PRIVATE ${LIBAV_LIBRARIES}
40                  CSPosd
41                  CSPemu_utils
42                    Qt5::Core
43                    Qt5::Gui
44                    Qt5::Widgets
45           )
46 #QT5_USE_MODULES(CSPavio Widgets Core Gui OpenGL)
47 set_target_properties(CSPavio PROPERTIES 
48                              SOVERSION ${THIS_LIB_VERSION}
49                              VERSION ${THIS_LIB_VERSION}
50                              )
51
52 generate_export_header(CSPavio
53        BASE_NAME CSPavio
54         EXPORT_MACRO_NAME CSPavio_EXPORT
55         EXPORT_FILE_NAME CSPavio_Export.h
56         STATIC_DEFINE CSPavio_BUILT_AS_STATIC
57 )
58         set_std(CSPavio)
59
60 else()
61 add_library(CSPavio SHARED
62           ${s_qt_avio_srcs}
63           ${s_qt_avio_headers_MOC}
64           )
65         set_std(CSPavio)
66
67 target_link_libraries(CSPavio PUBLIC
68                    ${LIBAV_LIBRARIES}
69                    Qt5::Core
70                    Qt5::Gui
71                    Qt5::Widgets
72           )
73
74 set_target_properties(CSPavio PROPERTIES 
75                              SOVERSION ${THIS_LIB_VERSION}
76                              VERSION ${THIS_LIB_VERSION}
77                              )
78 INSTALL(TARGETS CSPavio DESTINATION ${LIBCSP_INSTALL_DIR})
79 endif()
80