diff --git a/CMakeLists.txt b/CMakeLists.txt index 775037a..2de9b9f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,6 +108,10 @@ find_package(Jasper) find_package(OggVorbis) find_package(Sndfile) +if(SNDFILE_FOUND) + find_package(FLAC) +endif() + if(APPLE AND SIMAGE_USE_CGIMAGE) check_cxx_source_compiles(" #include @@ -467,6 +471,9 @@ endif() if(SNDFILE_FOUND) target_include_directories(simage PRIVATE ${SNDFILE_INCLUDE_DIRS}) target_link_libraries(simage PRIVATE ${SNDFILE_LIBRARIES}) + if(FLAC_FOUND) + target_link_libraries(simage PRIVATE ${FLAC_LIBRARIES}) + endif() endif() if(TIFF_FOUND) diff --git a/FindFLAC.cmake b/FindFLAC.cmake new file mode 100644 index 0000000..ce40a11 --- /dev/null +++ b/FindFLAC.cmake @@ -0,0 +1,29 @@ +include(FindPackageHandleStandardArgs) + +find_path(FLAC_INCLUDE_DIR FLAC/all.h) + +mark_as_advanced(FLAC_INCLUDE_DIR) + +set(FLAC_INCLUDE_DIRS ${FLAC_INCLUDE_DIR}) + +find_library(FLAC_LIBRARY NAMES FLAC) + +mark_as_advanced( + FLAC_INCLUDE_DIR + FLAC_LIBRARY +) + +set(FLAC_LIBRARIES ${FLAC_LIBRARY}) + +find_package_handle_standard_args( + FLAC + DEFAULT_MSG + FLAC_INCLUDE_DIRS + FLAC_LIBRARIES +) + +if(FLAC_FOUND AND NOT TARGET FLAC::FLAC) + add_library(FLAC::FLAC UNKNOWN IMPORTED) + set_target_properties(FLAC::FLAC PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${FLAC_INCLUDE_DIR}") + set_property(TARGET FLAC::FLAC APPEND PROPERTY IMPORTED_LOCATION "${FLAC_LIBRARY}") +endif()