flac_spec_tests.cmake 1.1 KB

12345678910111213141516171819202122232425
  1. include(utils)
  2. if(INCLUDE_FLAC_SPEC_TESTS)
  3. if (CMAKE_PROJECT_NAME STREQUAL "SerenityOS")
  4. set(SOURCE_DIR "${SerenityOS_SOURCE_DIR}")
  5. else()
  6. set(SOURCE_DIR "${SERENITY_PROJECT_ROOT}")
  7. endif()
  8. set(FLAC_SPEC_TEST_GZ_URL https://github.com/ietf-wg-cellar/flac-test-files/archive/refs/heads/main.tar.gz)
  9. set(FLAC_TEST_PATH ${CMAKE_BINARY_DIR}/Tests/LibMedia/FLAC CACHE PATH "Location of FLAC tests")
  10. set(FLAC_SPEC_TEST_GZ_PATH ${FLAC_TEST_PATH}/flac-spec-testsuite.tar.gz)
  11. set(FLAC_SPEC_TEST_PATH ${FLAC_TEST_PATH}/SpecTests)
  12. if(NOT EXISTS ${FLAC_SPEC_TEST_GZ_PATH})
  13. message(STATUS "Downloading the IETF CELLAR FLAC testsuite...")
  14. download_file(${FLAC_SPEC_TEST_GZ_URL} ${FLAC_SPEC_TEST_GZ_PATH})
  15. endif()
  16. if(EXISTS ${FLAC_SPEC_TEST_GZ_PATH} AND NOT EXISTS ${FLAC_SPEC_TEST_PATH})
  17. extract_path(${FLAC_TEST_PATH} ${FLAC_SPEC_TEST_GZ_PATH} "flac-test-files-main/subset/*.flac" ${FLAC_SPEC_TEST_PATH})
  18. file(RENAME "${FLAC_TEST_PATH}/flac-test-files-main/subset" ${FLAC_SPEC_TEST_PATH})
  19. file(REMOVE "${FLAC_TEST_PATH}/flac-test-files-main")
  20. endif()
  21. endif()