e808e7722f7d70a6c13cad1f0fad7adf784a294b
[platform/upstream/libvorbis.git] / lib / CMakeLists.txt
1 set(VORBIS_PUBLIC_HEADERS
2     ../include/vorbis/codec.h
3     ../include/vorbis/vorbisenc.h
4     ../include/vorbis/vorbisfile.h
5 )
6
7 set(VORBIS_HEADERS
8     envelope.h
9     lpc.h
10     lsp.h
11     codebook.h
12     misc.h
13     psy.h
14     masking.h
15     os.h
16     mdct.h
17     smallft.h
18     highlevel.h
19     registry.h
20     scales.h
21     window.h
22     lookup.h
23     lookup_data.h
24     codec_internal.h
25     backends.h
26     bitrate.h
27 )
28
29 set(VORBIS_SOURCES
30     mdct.c
31     smallft.c
32     block.c
33     envelope.c
34     window.c
35     lsp.c
36     lpc.c
37     analysis.c
38     synthesis.c
39     psy.c
40     info.c
41     floor1.c
42     floor0.c
43     res0.c
44     mapping0.c
45     registry.c
46     codebook.c
47     sharedbook.c
48     lookup.c
49     bitrate.c
50 )
51
52 set(VORBISFILE_SOURCES
53     vorbisfile.c
54 )
55
56 set(VORBISENC_SOURCES
57     vorbisenc.c
58 )
59
60 if(WIN32)
61     list(APPEND VORBIS_SOURCES vorbisenc.c)
62 endif()
63
64 if(MSVC)
65     list(APPEND VORBIS_SOURCES ../win32/vorbis.def)
66     list(APPEND VORBISENC_SOURCES ../win32/vorbisenc.def)
67     list(APPEND VORBISFILE_SOURCES ../win32/vorbisfile.def)
68 endif()
69
70 include_directories(../include)
71 include_directories(.)
72 include_directories(${OGG_INCLUDE_DIRS})
73
74 if (NOT BUILD_FRAMEWORK)
75     add_library(vorbis ${VORBIS_HEADERS} ${VORBIS_SOURCES})
76     add_library(vorbisenc ${VORBISENC_SOURCES})
77     add_library(vorbisfile ${VORBISFILE_SOURCES})
78
79     get_version_info(VORBIS_VERSION_INFO "V_LIB_CURRENT" "V_LIB_AGE" "V_LIB_REVISION")
80     set_target_properties(vorbis PROPERTIES SOVERSION ${VORBIS_VERSION_INFO})
81     get_version_info(VORBISENC_VERSION_INFO "VE_LIB_CURRENT" "VE_LIB_AGE" "VE_LIB_REVISION")
82     set_target_properties(vorbisenc PROPERTIES SOVERSION ${VORBISENC_VERSION_INFO})
83     get_version_info(VORBISFILE_VERSION_INFO "VF_LIB_CURRENT" "VF_LIB_AGE" "VF_LIB_REVISION")
84     set_target_properties(vorbisfile PROPERTIES SOVERSION ${VORBISFILE_VERSION_INFO})
85
86     target_link_libraries(vorbis ${OGG_LIBRARIES})
87     target_link_libraries(vorbisenc ${OGG_LIBRARIES} vorbis)
88     target_link_libraries(vorbisfile ${OGG_LIBRARIES} vorbis)
89
90     install(FILES ${VORBIS_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/vorbis)
91
92     install(TARGETS vorbis     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR})
93     install(TARGETS vorbisenc  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR})
94     install(TARGETS vorbisfile RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR})
95 else()
96     add_library(vorbis ${VORBIS_PUBLIC_HEADERS} ${VORBIS_HEADERS} ${VORBIS_SOURCES} ${VORBISFILE_SOURCES} ${VORBISENC_SOURCES})
97     set_target_properties(vorbis PROPERTIES
98         FRAMEWORK TRUE
99         FRAMEWORK_VERSION ${PROJECT_VERSION}
100         MACOSX_FRAMEWORK_IDENTIFIER org.xiph.vorbis
101         MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${PROJECT_VERSION}
102         MACOSX_FRAMEWORK_BUNDLE_VERSION ${PROJECT_VERSION}
103         XCODE_ATTRIBUTE_INSTALL_PATH "@rpath"
104         PUBLIC_HEADER "${VORBIS_PUBLIC_HEADERS}"
105         OUTPUT_NAME Vorbis
106     )
107     target_link_libraries(vorbis ${OGG_LIBRARIES})
108 endif()