Warning, /multimedia/kid3/src/plugins/oggflacmetadata/cmake/modules/FindFLAC.cmake is written in an unsupported language. File is not indexed.

0001 # Redistribution and use is allowed according to the terms of the BSD license.
0002 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
0003 if(FLAC_INCLUDE_DIR)
0004   set(FLAC_FIND_QUIETLY TRUE)
0005 endif()
0006 
0007 find_package(Ogg QUIET)
0008 
0009 find_path(FLAC_INCLUDE_DIR FLAC/stream_decoder.h)
0010 find_path(FLACPP_INCLUDE_DIR FLAC++/metadata.h)
0011 find_library(FLAC_LIBRARY NAMES FLAC)
0012 find_library(FLACPP_LIBRARY NAMES FLAC++)
0013 
0014 include (FindPackageHandleStandardArgs)
0015 find_package_handle_standard_args(FLAC REQUIRED_VARS FLAC_LIBRARY FLACPP_LIBRARY FLAC_INCLUDE_DIR FLACPP_INCLUDE_DIR OGG_FOUND)
0016 
0017 if(FLAC_FOUND)
0018   set(HAVE_FLAC 1)
0019   if(WIN32)
0020     set(FLAC_DEFINITIONS -DFLAC__NO_DLL)
0021     set(FLAC_INTERFACE_LIBRARIES Ogg::Ogg ws2_32)
0022   else()
0023     set(FLAC_DEFINITIONS)
0024     set(FLAC_INTERFACE_LIBRARIES Ogg::Ogg)
0025   endif()
0026   set(FLAC_LIBRARIES ${FLACPP_LIBRARY} ${FLAC_LIBRARY} ${FLAC_INTERFACE_LIBRARIES})
0027 
0028   set(_CMAKE_REQUIRED_LIBRARIES_TMP ${CMAKE_REQUIRED_LIBRARIES})
0029   set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${FLAC_LIBRARIES} ${OGG_LIBRARY})
0030   set(_CMAKE_REQUIRED_INCLUDES_TMP ${CMAKE_REQUIRED_INCLUDES})
0031   set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${FLACPP_INCLUDE_DIR})
0032   set(_CMAKE_REQUIRED_DEFINITIONS_TMP ${CMAKE_REQUIRED_DEFINITIONS})
0033   set(CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} ${FLAC_DEFINITIONS})
0034   CHECK_CXX_SOURCE_COMPILES("#include <FLAC++/metadata.h>\nint main() {\n  FLAC::Metadata::VorbisComment vc;\n  const ::FLAC__StreamMetadata* fsmd = vc;\n  return 0;\n}\n" FLAC_STREAMMETADATA_OPERATOR_FOUND)
0035   CHECK_CXX_SOURCE_COMPILES("#include <FLAC++/metadata.h>\nint main() {\n  FLAC::Metadata::Picture pic;\n  return 0;\n}\n" FLAC_METADATA_PICTURE_FOUND)
0036   set(CMAKE_REQUIRED_LIBRARIES ${_CMAKE_REQUIRED_LIBRARIES_TMP})
0037   set(CMAKE_REQUIRED_INCLUDES ${_CMAKE_REQUIRED_INCLUDES_TMP})
0038   set(CMAKE_REQUIRED_DEFINITIONS ${_CMAKE_REQUIRED_DEFINITIONS_TMP})
0039 
0040   if(NOT FLAC_STREAMMETADATA_OPERATOR_FOUND)
0041     set(HAVE_NO_FLAC_STREAMMETADATA_OPERATOR 1)
0042   endif()
0043   if(FLAC_METADATA_PICTURE_FOUND)
0044     set(HAVE_FLAC_PICTURE 1)
0045   endif()
0046 
0047   if(NOT TARGET FLAC::FLAC)
0048     add_library(FLAC::FLAC UNKNOWN IMPORTED)
0049     string(REPLACE "-D" "" FLAC_COMPILE_DEFINITIONS "${FLAC_DEFINITIONS}")
0050     set_target_properties(FLAC::FLAC PROPERTIES
0051       INTERFACE_INCLUDE_DIRECTORIES "${FLAC_INCLUDE_DIR}"
0052       IMPORTED_LOCATION "${FLAC_LIBRARY}"
0053       INTERFACE_LINK_LIBRARIES "${FLAC_INTERFACE_LIBRARIES}"
0054       INTERFACE_COMPILE_DEFINITIONS "${FLAC_COMPILE_DEFINITIONS}"
0055     )
0056   endif()
0057   if(NOT TARGET FLACPP::FLACPP)
0058     add_library(FLACPP::FLACPP UNKNOWN IMPORTED)
0059     set_target_properties(FLACPP::FLACPP PROPERTIES
0060       INTERFACE_INCLUDE_DIRECTORIES "${FLACPP_INCLUDE_DIR}"
0061       IMPORTED_LOCATION "${FLACPP_LIBRARY}"
0062       INTERFACE_LINK_LIBRARIES FLAC::FLAC
0063     )
0064   endif()
0065 endif()
0066 
0067 mark_as_advanced(FLAC_INCLUDE_DIR FLACPP_INCLUDE_DIR FLAC_LIBRARY FLACPP_LIBRARY)