xref: /aosp_15_r20/external/flac/src/libFLAC++/CMakeLists.txt (revision 600f14f40d737144c998e2ec7a483122d3776fbc)
1add_library(FLAC++
2    metadata.cpp
3    stream_decoder.cpp
4    stream_encoder.cpp
5	version.rc)
6set_property(TARGET FLAC++ PROPERTY PROJECT_LABEL "libFLAC++")
7target_compile_definitions(FLAC++
8    PRIVATE $<$<BOOL:${BUILD_SHARED_LIBS}>:FLACPP_API_EXPORTS>
9    PUBLIC $<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:FLAC__NO_DLL>)
10if(NOT WIN32)
11    target_compile_definitions(FLAC++ PRIVATE $<$<BOOL:${BUILD_SHARED_LIBS}>:FLAC__USE_VISIBILITY_ATTR>)
12endif()
13target_include_directories(FLAC++ INTERFACE
14    "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
15    "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
16target_link_libraries(FLAC++ PUBLIC FLAC)
17if(BUILD_SHARED_LIBS)
18    set_target_properties(FLAC++ PROPERTIES
19        VERSION 10.0.1
20        SOVERSION 10)
21    if(NOT WIN32)
22        set_target_properties(FLAC++ PROPERTIES CXX_VISIBILITY_PRESET hidden)
23    endif()
24endif()
25
26add_library(FLAC::FLAC++ ALIAS FLAC++)
27
28install(TARGETS FLAC++ EXPORT targets
29    ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}/"
30    LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/"
31    RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}/")
32
33if(INSTALL_PKGCONFIG_MODULES)
34    set(prefix "${CMAKE_INSTALL_PREFIX}")
35    set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
36    set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}")
37    set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
38    configure_file(flac++.pc.in flac++.pc @ONLY)
39    install(FILES "${CMAKE_CURRENT_BINARY_DIR}/flac++.pc"
40        DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
41endif()
42