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)