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