OSDN Git Service

7144bb3af2dc986318a2c751af0c18dd42113416
[csp-qt/common_source_project-fm7.git] / source / src / qt / avio / CMakeLists.txt
1 message("* qt/avio")
2
3 SET(THIS_LIB_VERSION 2.10.0)
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                    ${LIBAV_LIBRARIES}
40                    ${CMAKE_CURRENT_SOURCE_DIR}/../../../build-cmake/bin-win32/libCSPosd.dll.a
41 #                  ${CMAKE_CURRENT_SOURCE_DIR}/../../../build-cmake/bin-win32/libCSPgui.dll.a
42                    ${CMAKE_CURRENT_SOURCE_DIR}/../../../build-cmake/bin-win32/libCSPemu_utils.dll.a
43                    Qt5::Core
44                    Qt5::Gui
45                    Qt5::Widgets
46           )
47 #QT5_USE_MODULES(CSPavio Widgets Core Gui OpenGL)
48 set_target_properties(CSPavio PROPERTIES 
49                              SOVERSION ${THIS_LIB_VERSION}
50                              VERSION ${THIS_LIB_VERSION}
51                              )
52
53 generate_export_header(CSPavio
54        BASE_NAME CSPavio
55         EXPORT_MACRO_NAME CSPavio_EXPORT
56         EXPORT_FILE_NAME CSPavio_Export.h
57         STATIC_DEFINE CSPavio_BUILT_AS_STATIC
58 )
59
60 else()
61 add_library(CSPavio SHARED
62           ${s_qt_avio_srcs}
63           ${s_qt_avio_headers_MOC}
64           )
65
66 target_link_libraries(CSPavio PUBLIC
67                    ${LIBAV_LIBRARIES}
68                    Qt5::Core
69                    Qt5::Gui
70                    Qt5::Widgets
71           )
72
73 set_target_properties(CSPavio PROPERTIES 
74                              SOVERSION ${THIS_LIB_VERSION}
75                              VERSION ${THIS_LIB_VERSION}
76                              )
77 INSTALL(TARGETS CSPavio DESTINATION ${LIBCSP_INSTALL_DIR})
78 endif()
79