Change CMake to properly locate required libraries

This commit is contained in:
Jared Szechy 2013-12-17 02:04:22 -05:00
parent e0376bc009
commit 7bd0a10c65
3 changed files with 58 additions and 8 deletions

View File

@ -1,14 +1,24 @@
project(dsd)
cmake_minimum_required(VERSION 2.6)
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${dsd_SOURCE_DIR}/cmake/")
find_package(LibSndFile REQUIRED)
find_package(LibMbe REQUIRED)
FILE(GLOB SRCS *.c)
INCLUDE_DIRECTORIES("${PROJECT_SOURCE_DIR}" "${CMAKE_INSTALL_PREFIX}/include")
LINK_DIRECTORIES("${CMAKE_INSTALL_PREFIX}/lib")
INCLUDE_DIRECTORIES(
"${PROJECT_SOURCE_DIR}"
"${LIBSNDFILE_INCLUDE_DIR}"
"${LIBMBE_INCLUDE_DIR}"
)
SET(LIBS ${LIBS} ${LIBMBE_LIBRARY} ${LIBSNDFILE_LIBRARY})
ADD_EXECUTABLE(dsd ${SRCS})
TARGET_LINK_LIBRARIES(dsd mbe sndfile)
TARGET_LINK_LIBRARIES(dsd ${LIBS})
install(TARGETS dsd DESTINATION bin)
# uninstall target
@ -18,4 +28,4 @@ configure_file(
IMMEDIATE @ONLY)
add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)

20
cmake/FindLibMbe.cmake Normal file
View File

@ -0,0 +1,20 @@
# Find libmbe
FIND_PATH(LIBMBE_INCLUDE_DIR mbelib.h)
SET(LIBMBE_NAMES ${LIBMBE_NAMES} mbe libmbe)
FIND_LIBRARY(LIBMBE_LIBRARY NAMES ${LIBMBE_NAMES} PATH)
IF (LIBMBE_INCLUDE_DIR AND LIBMBE_LIBRARY)
SET(LIBMBE_FOUND TRUE)
ENDIF (LIBMBE_INCLUDE_DIR AND LIBMBE_LIBRARY)
IF (LIBMBE_FOUND)
IF (NOT LibMbe_FIND_QUIETLY)
MESSAGE (STATUS "Found LibMbe: ${LIBMBE_LIBRARY}")
ENDIF (NOT LibMbe_FIND_QUIETLY)
ELSE (LIBMBE_FOUND)
IF (LibMbe_FIND_REQUIRED)
MESSAGE (FATAL_ERROR "Could not find mbe")
ENDIF (LibMbe_FIND_REQUIRED)
ENDIF (LIBMBE_FOUND)

View File

@ -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)