diff options
author | Alexander Neundorf <neundorf@kde.org> | 2008-11-14 18:50:47 +0000 |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2008-11-14 18:50:47 +0000 |
commit | d52280765fad034f67a8d8078951f8770528a03f (patch) | |
tree | e8718643631a16885424e8b934201c7180eb3959 | |
parent | e6c2d5b28014de7748131b879e0ff56d4277b258 (diff) | |
download | extra-cmake-modules-d52280765fad034f67a8d8078951f8770528a03f.tar.gz extra-cmake-modules-d52280765fad034f67a8d8078951f8770528a03f.tar.bz2 |
-replace UsePkgConfig with FindPkgConfig
-FindPkgConfig can also be used under Windows, usually it will do just nothing then
-also work if pkg-config fails
-use FIND_PACKAGE_HANDLE_STANDARD_ARGS()
-use the new HINTS argument for the FIND_XXX() commands, these directories are then preferred over the default ones
-use the new if(... VERSION_GREATER) instead of macro_ensure_version() (new since 2.6.2)
Alex
svn path=/trunk/KDE/kdelibs/; revision=884360
-rw-r--r-- | modules/FindXine.cmake | 68 |
1 files changed, 29 insertions, 39 deletions
diff --git a/modules/FindXine.cmake b/modules/FindXine.cmake index 534613a6..914b9c09 100644 --- a/modules/FindXine.cmake +++ b/modules/FindXine.cmake @@ -18,55 +18,45 @@ if (XINE_INCLUDE_DIR AND XINE_LIBRARY) # Already in cache, be silent set(Xine_FIND_QUIETLY TRUE) endif (XINE_INCLUDE_DIR AND XINE_LIBRARY) - IF (NOT WIN32) - INCLUDE(UsePkgConfig) - PKGCONFIG(libxine _LibXineIncDir _LibXineLinkDir _LibXineLinkFlags _LibXineCflags) - EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS "--variable=prefix libxine" OUTPUT_VARIABLE _LibXinePrefix) - ENDIF (NOT WIN32) -FIND_PATH(XINE_INCLUDE_DIR NAMES xine.h - PATHS - ${_LibXineIncDir} - NO_DEFAULT_PATH) -FIND_LIBRARY(XINE_LIBRARY NAMES xine - PATHS - ${_LibXineLinkDir} - NO_DEFAULT_PATH -) +find_package(PkgConfig) +if (PKG_CONFIG_FOUND) + pkg_check_modules(PC_LIBXINE libxine) + exec_program(${PKG_CONFIG_EXECUTABLE} ARGS "--variable=prefix libxine" OUTPUT_VARIABLE _LibXinePrefix) +endif (PKG_CONFIG_FOUND) + +find_path(XINE_INCLUDE_DIR NAMES xine.h + HINTS # HINTS is new in cmake 2.6. These dirs will be preferred over the default ones + ${PC_LIBXINE_INCLUDEDIR} + ) + +find_library(XINE_LIBRARY NAMES xine + HINTS + ${PC_LIBXINE_LIBDIR} + ) -FIND_PROGRAM(XINECONFIG_EXECUTABLE NAMES xine-config PATHS +find_program(XINECONFIG_EXECUTABLE NAMES xine-config + HINTS ${_LibXinePrefix}/bin ) if (XINE_INCLUDE_DIR AND XINE_LIBRARY AND XINECONFIG_EXECUTABLE) - EXEC_PROGRAM(${XINECONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE XINE_VERSION) - macro_ensure_version(1.1.1 ${XINE_VERSION} XINE_VERSION_OK) - if (XINE_VERSION_OK) - set(XINE_FOUND TRUE) - string(REGEX REPLACE "[0-9].[0-9]." "" XINE_BUGFIX_VERSION ${XINE_VERSION}) - endif (XINE_VERSION_OK) + exec_program(${XINECONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE XINE_VERSION) + if("${XINE_VERSION}" VERSION_GREATER "1.1.0") #if (... VERSION_GREATER) is new since cmake 2.6.2 + set(XINE_VERSION_OK TRUE) + string(REGEX REPLACE "[0-9]\\.[0-9]\\." "" XINE_BUGFIX_VERSION ${XINE_VERSION}) + endif("${XINE_VERSION}" VERSION_GREATER "1.1.0") endif (XINE_INCLUDE_DIR AND XINE_LIBRARY AND XINECONFIG_EXECUTABLE) if( XINE_FOUND ) - INCLUDE(CheckCSourceCompiles) - SET(CMAKE_REQUIRED_INCLUDES ${XINE_INCLUDE_DIR}) - SET(CMAKE_REQUIRED_LIBRARIES ${XINE_LIBRARY}) - CHECK_C_SOURCE_COMPILES("#include <xine.h>\nint main()\n{\n xine_open_video_driver(xine_new(), \"auto\", XINE_VISUAL_TYPE_XCB, NULL);\n return 0;\n}\n" XINE_XCB_FOUND) + include(CheckCSourceCompiles) + set(CMAKE_REQUIRED_INCLUDES ${XINE_INCLUDE_DIR}) + set(CMAKE_REQUIRED_LIBRARIES ${XINE_LIBRARY}) + check_c_source_compiles("#include <xine.h>\nint main()\n{\n xine_open_video_driver(xine_new(), \"auto\", XINE_VISUAL_TYPE_XCB, NULL);\n return 0;\n}\n" XINE_XCB_FOUND) endif(XINE_FOUND) -if (XINE_FOUND) - if (NOT Xine_FIND_QUIETLY) - message(STATUS "Found XINE: ${XINE_LIBRARY}") - endif (NOT Xine_FIND_QUIETLY) - # if(XINECONFIG_EXECUTABLE) - # EXEC_PROGRAM(${XINECONFIG_EXECUTABLE} ARGS --plugindir RETURN_VALUE _return_VALUE OUTPUT_VARIABLE XINEPLUGINSDIR) - # MESSAGE(STATUS "XINEPLUGINSDIR :<${XINEPLUGINSDIR}>") - # endif(XINECONFIG_EXECUTABLE) -else (XINE_FOUND) - if (Xine_FIND_REQUIRED) - message(FATAL_ERROR "Could NOT find XINE 1.1.1 or greater") - endif (Xine_FIND_REQUIRED) -endif (XINE_FOUND) +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Xine "Could NOT find XINE 1.1.1 or greater" XINE_INCLUDE_DIR XINE_LIBRARY XINECONFIG_EXECUTABLE XINE_VERSION_OK) -MARK_AS_ADVANCED(XINE_INCLUDE_DIR XINE_LIBRARY) +mark_as_advanced(XINE_INCLUDE_DIR XINE_LIBRARY XINECONFIG_EXECUTABLE) |