From 61db9ee3ed4203da7a602efe01f05b91636f3d9f Mon Sep 17 00:00:00 2001 From: Aang23 Date: Tue, 16 Jun 2020 19:35:05 +0200 Subject: [PATCH] Initial CMake support --- .gitignore | 3 +++ CMakeLists.txt | 21 +++++++++++++++++++++ cmake/FindLibSndFile.cmake | 20 ++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 cmake/FindLibSndFile.cmake diff --git a/.gitignore b/.gitignore index 804e118..6b624a1 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,6 @@ aptdec # VSCode .vscode + +# CMake +build diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..1c1e3bd --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,21 @@ +cmake_minimum_required (VERSION 3.0.0) +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake") + +project (aptdec) + +add_executable(aptdec main.c color.c dsp.c filter.c image.c median.c pngio.c reg.c) + +# Math +target_link_libraries(aptdec PRIVATE m) + +# PNG +if(WIN32 AND NOT MINGW) + find_package(PNG CONFIG REQUIRED) +else() + find_package(PNG REQUIRED) +endif() +target_link_libraries(aptdec PRIVATE PNG::PNG) + +# SndFile +find_package(LibSndFile REQUIRED) +target_link_libraries(aptdec PRIVATE ${LIBSNDFILE_LIBRARY}) \ No newline at end of file diff --git a/cmake/FindLibSndFile.cmake b/cmake/FindLibSndFile.cmake new file mode 100644 index 0000000..cd28788 --- /dev/null +++ b/cmake/FindLibSndFile.cmake @@ -0,0 +1,20 @@ +# Find libsndfile + +FIND_PATH(LIBSNDFILE_INCLUDE_DIR sndfile.h) + +SET(LIBSNDFILE_NAMES ${LIBSNDFILE_NAMES} sndfile libsndfile) +FIND_LIBRARY(LIBSNDFILE_LIBRARY NAMES ${LIBSNDFILE_NAMES} PATH) + +IF (LIBSNDFILE_INCLUDE_DIR AND LIBSNDFILE_LIBRARY) + SET(LIBSNDFILE_FOUND TRUE) +ENDIF (LIBSNDFILE_INCLUDE_DIR AND LIBSNDFILE_LIBRARY) + +IF (LIBSNDFILE_FOUND) + IF (NOT LibSndFile_FIND_QUIETLY) + MESSAGE (STATUS "Found LibSndFile: ${LIBSNDFILE_LIBRARY}") + ENDIF (NOT LibSndFile_FIND_QUIETLY) +ELSE (LIBSNDFILE_FOUND) + IF (LibSndFile_FIND_REQUIRED) + MESSAGE (FATAL_ERROR "Could not find sndfile") + ENDIF (LibSndFile_FIND_REQUIRED) +ENDIF (LIBSNDFILE_FOUND)