Fix dependency loop in the specification.
[platform/upstream/libvorbis.git] / CMakeLists.txt
index f3f0a95..f377c42 100644 (file)
@@ -1,9 +1,12 @@
-cmake_minimum_required(VERSION 2.8.7)
+cmake_minimum_required(VERSION 2.8.12)
 project(vorbis)
 
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+
 # Required modules
 include(GNUInstallDirs)
 include(CheckIncludeFiles)
+include(CheckLibraryExists)
 
 # Build options
 option(BUILD_SHARED_LIBS "Build shared library" OFF)
@@ -15,6 +18,8 @@ if(BUILD_FRAMEWORK)
        set(BUILD_SHARED_LIBS TRUE)
 endif()
 
+option(INSTALL_CMAKE_PACKAGE_MODULE "Install CMake package configiguration module" ON)
+
 # Extract project version from configure.ac
 file(READ configure.ac CONFIGURE_AC_CONTENTS)
 string(REGEX MATCH "AC_INIT\\(\\[libvorbis\\],\\[([0-9]*).([0-9]*).([0-9]*)" DUMMY ${CONFIGURE_AC_CONTENTS})
@@ -52,13 +57,12 @@ endfunction()
 
 message(STATUS "Configuring ${PROJECT_NAME} ${PROJECT_VERSION}")
 
+# Find math library
+
+check_library_exists(m floor "" HAVE_LIBM)
+
 # Find ogg dependency
-find_package(PkgConfig QUIET)
-pkg_check_modules(PC_OGG QUIET ogg)
-find_path(OGG_INCLUDE_DIRS NAMES ogg/ogg.h HINTS ${PC_OGG_INCLUDE_DIRS} PATH_SUFFIXES ogg)
-find_library(OGG_LIBRARIES NAMES ogg HINTS ${PC_OGG_LIBRARY_DIRS})
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(OGG DEFAULT_MSG OGG_INCLUDE_DIRS OGG_LIBRARIES)
+find_package(Ogg REQUIRED)
 
 add_subdirectory(lib)
 
@@ -66,4 +70,11 @@ configure_pkg_config_file(vorbis.pc.in)
 configure_pkg_config_file(vorbisenc.pc.in)
 configure_pkg_config_file(vorbisfile.pc.in)
 
-install(FILES vorbis.pc vorbisenc.pc vorbisfile.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+install(
+    FILES
+    ${CMAKE_CURRENT_BINARY_DIR}/vorbis.pc
+    ${CMAKE_CURRENT_BINARY_DIR}/vorbisenc.pc
+    ${CMAKE_CURRENT_BINARY_DIR}/vorbisfile.pc
+    DESTINATION
+    ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+)