| 1 |
SET(TAGLIB_MINIMUM_VERSION 1.5) |
| 2 |
############################################################ |
| 3 |
# You probably don't want to edit anything below this line # |
| 4 |
############################################################ |
| 5 |
# See the CMakeLists.txt in src/, src/core, src/plugins |
| 6 |
|
| 7 |
PROJECT(Jerboa) |
| 8 |
# Stop cmake 2.6 from whining |
| 9 |
CMAKE_MINIMUM_REQUIRED(VERSION 2.6) |
| 10 |
IF(COMMAND cmake_policy) |
| 11 |
CMAKE_POLICY(SET CMP0003 NEW) |
| 12 |
ENDIF(COMMAND cmake_policy) |
| 13 |
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}) |
| 14 |
|
| 15 |
ADD_DEFINITIONS(-DQT_STATICPLUGIN -Wall) |
| 16 |
|
| 17 |
# Docs |
| 18 |
#CONFIGURE_FILE(Doxyfile.cmake Doxyfile) |
| 19 |
#ADD_CUSTOM_TARGET(doc doxygen) |
| 20 |
#ADD_CUSTOM_TARGET(pdfdoc gmake DEPENDS doc WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/doc/latex) |
| 21 |
|
| 22 |
# Find Qt4 |
| 23 |
FIND_PACKAGE( Qt4 REQUIRED ) |
| 24 |
|
| 25 |
SET( QT_USE_QTNETWORK TRUE ) |
| 26 |
SET( QT_USE_QTOPENGL TRUE ) # dependency of phonon |
| 27 |
SET( QT_USE_QTSQL TRUE ) |
| 28 |
SET( QT_USE_QTMAIN TRUE ) |
| 29 |
IF(UNIX AND NOT APPLE) |
| 30 |
SET( QT_USE_QTDBUS TRUE ) |
| 31 |
ENDIF() |
| 32 |
SET( QT_USE_QTSVG TRUE ) |
| 33 |
|
| 34 |
# Include the cmake file needed to use qt4 |
| 35 |
INCLUDE( ${QT_USE_FILE} ) |
| 36 |
|
| 37 |
# Phonon |
| 38 |
FIND_LIBRARY( PHONON_LIBRARY phonon REQUIRED PATHS "${QT_LIBRARY_DIR}" ) |
| 39 |
FIND_PATH( PHONON_INCLUDE_DIR phonon/mediaobject.h PATHS "${QT_INCLUDE_DIR}" ) |
| 40 |
INCLUDE_DIRECTORIES( ${PHONON_INCLUDE_DIR} ) |
| 41 |
|
| 42 |
# Make it so the compiler can find generated files |
| 43 |
INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR} ) |
| 44 |
INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR}/include/ ) |
| 45 |
|
| 46 |
# Link against taglib |
| 47 |
OPTION(HAVE_TAGLIB_ASF "Mark as ON if your TagLib has ASF support" OFF) |
| 48 |
FIND_LIBRARY( TAGLIB_LIBRARY tag REQUIRED ) |
| 49 |
|
| 50 |
# Taglib |
| 51 |
FIND_FILE( TAGLIB_CONFIG NAMES taglib-config taglib-config.exe DOC "Path to taglib-config binary" ) |
| 52 |
EXECUTE_PROCESS(COMMAND ${TAGLIB_CONFIG} --version OUTPUT_VARIABLE TAGLIB_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE ) |
| 53 |
IF(${TAGLIB_VERSION} EQUAL ${TAGLIB_MINIMUM_VERSION} OR ${TAGLIB_VERSION} GREATER ${TAGLIB_MINIMUM_VERSION}) |
| 54 |
FIND_PATH( TAGLIB_INCLUDE_DIR taglib/tag.h ) |
| 55 |
INCLUDE_DIRECTORIES( ${TAGLIB_INCLUDE_DIR}/taglib/.. ${TAGLIB_INCLUDE_DIR}/taglib ) |
| 56 |
MESSAGE(STATUS "Found taglib version ${TAGLIB_VERSION}") |
| 57 |
ELSE(${TAGLIB_VERSION} EQUAL ${TAGLIB_MINIMUM_VERSION} OR ${TAGLIB_VERSION} GREATER ${TAGLIB_MINIMUM_VERSION}) |
| 58 |
MESSAGE(FATAL_ERROR "Found taglib version ${TAGLIB_VERSION}, but at least version ${TAGLIB_MINIMUM_VERSION} is required.") |
| 59 |
ENDIF(${TAGLIB_VERSION} EQUAL ${TAGLIB_MINIMUM_VERSION} OR ${TAGLIB_VERSION} GREATER ${TAGLIB_MINIMUM_VERSION}) |
| 60 |
|
| 61 |
# Add include directories |
| 62 |
INCLUDE_DIRECTORIES("include") |
| 63 |
|
| 64 |
# If building for release, don't include QDebug stuff |
| 65 |
IF("x${CMAKE_BUILD_TYPE}" STREQUAL "x") |
| 66 |
SET(CMAKE_BUILD_TYPE "Release") |
| 67 |
ENDIF() |
| 68 |
IF("${CMAKE_BUILD_TYPE}" STREQUAL "Release") |
| 69 |
ADD_DEFINITIONS("-DQT_NO_DEBUG_OUTPUT -DQT_NODEBUG -DQT_NO_DEBUG") |
| 70 |
ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "Release") |
| 71 |
|
| 72 |
IF("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") |
| 73 |
ADD_DEFINITIONS("-DWITH_DEBUG_FEATURES -Werror") |
| 74 |
ENDIF() |
| 75 |
|
| 76 |
#IF(APPLE) |
| 77 |
# INCLUDE(OSXPackaging) |
| 78 |
#ENDIF(APPLE) |
| 79 |
|
| 80 |
#INSTALL( |
| 81 |
# FILES |
| 82 |
# images/jerboa.svg |
| 83 |
# DESTINATION |
| 84 |
# ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps |
| 85 |
#) |
| 86 |
#INSTALL( |
| 87 |
# FILES |
| 88 |
# Jerboa.desktop |
| 89 |
# DESTINATION |
| 90 |
# ${CMAKE_INSTALL_PREFIX}/share/applications |
| 91 |
#) |
| 92 |
|
| 93 |
ADD_SUBDIRECTORY(include) |
| 94 |
ADD_SUBDIRECTORY(src) |