2010-02-28 18:28:56 +01:00
|
|
|
cmake_minimum_required(VERSION 2.6)
|
|
|
|
|
2010-03-24 17:45:44 +01:00
|
|
|
set(CMAKE_C_FLAGS "-Wall")
|
|
|
|
set(CMAKE_CXX_FLAGS "-Wnon-virtual-dtor -Woverloaded-virtual -Wall")
|
|
|
|
|
2010-05-10 23:50:31 +02:00
|
|
|
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/qtsingleapplication")
|
|
|
|
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/qtiocompressor")
|
|
|
|
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/qxt")
|
|
|
|
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/gmock/gtest/include")
|
2010-04-15 14:39:34 +02:00
|
|
|
|
2010-05-10 23:50:31 +02:00
|
|
|
# These can be seen from child scopes
|
|
|
|
set(CLEMENTINE-TRANSLATION-SOURCE CACHE INTERNAL foo)
|
|
|
|
set(CLEMENTINE-TRANSLATION-DEPS CACHE INTERNAL foo)
|
|
|
|
|
|
|
|
macro(add_translation_source subdirectory)
|
|
|
|
get_filename_component(_translations_dir ${CMAKE_CURRENT_SOURCE_DIR}/../translations ABSOLUTE)
|
|
|
|
foreach(_file ${ARGN})
|
|
|
|
get_filename_component(_dep ${_file} ABSOLUTE)
|
|
|
|
if (IS_ABSOLUTE ${_file})
|
|
|
|
file(RELATIVE_PATH _relative ${_translations_dir} ${_file})
|
|
|
|
else (IS_ABSOLUTE ${_file})
|
|
|
|
set(_relative "../${subdirectory}/${_file}")
|
|
|
|
endif (IS_ABSOLUTE ${_file})
|
|
|
|
set(CLEMENTINE-TRANSLATION-SOURCE ${CLEMENTINE-TRANSLATION-SOURCE} ${_relative} CACHE INTERNAL foo)
|
|
|
|
set(CLEMENTINE-TRANSLATION-DEPS ${CLEMENTINE-TRANSLATION-DEPS} ${_dep} CACHE INTERNAL foo)
|
|
|
|
endforeach(_file)
|
|
|
|
endmacro(add_translation_source)
|
|
|
|
|
|
|
|
add_subdirectory(analyzers)
|
|
|
|
add_subdirectory(core)
|
|
|
|
add_subdirectory(engines)
|
|
|
|
add_subdirectory(library)
|
|
|
|
add_subdirectory(playlist)
|
|
|
|
add_subdirectory(radio)
|
|
|
|
add_subdirectory(transcoder)
|
|
|
|
add_subdirectory(ui)
|
|
|
|
add_subdirectory(widgets)
|
|
|
|
add_subdirectory(translations)
|
2010-04-15 14:39:34 +02:00
|
|
|
|
2010-05-10 23:50:31 +02:00
|
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
2010-02-28 18:28:56 +01:00
|
|
|
|
|
|
|
set(CLEMENTINE-RESOURCES
|
|
|
|
../data/data.qrc
|
|
|
|
)
|
|
|
|
|
|
|
|
qt4_wrap_cpp(CLEMENTINE-SOURCES-MOC ${CLEMENTINE-MOC-HEADERS})
|
|
|
|
qt4_wrap_ui(CLEMENTINE-SOURCES-UI ${CLEMENTINE-UI})
|
2010-04-06 21:18:14 +02:00
|
|
|
qt4_add_resources(CLEMENTINE-SOURCES-RESOURCE ${CLEMENTINE-RESOURCES})
|
|
|
|
|
2010-03-01 02:47:50 +01:00
|
|
|
add_library(clementine_lib
|
2010-05-10 23:50:31 +02:00
|
|
|
${CLEMENTINE-SOURCES-RESOURCE}
|
2010-02-28 18:28:56 +01:00
|
|
|
)
|
2010-05-10 23:50:31 +02:00
|
|
|
|
2010-03-01 02:47:50 +01:00
|
|
|
target_link_libraries(clementine_lib
|
2010-05-10 23:50:31 +02:00
|
|
|
clementine_analyzers
|
|
|
|
clementine_core
|
|
|
|
clementine_engines
|
|
|
|
clementine_library
|
|
|
|
clementine_playlist
|
|
|
|
clementine_radio
|
|
|
|
clementine_transcoder
|
|
|
|
clementine_ui
|
|
|
|
clementine_widgets
|
|
|
|
clementine_translations
|
|
|
|
qtsingleapplication
|
|
|
|
qtiocompressor
|
|
|
|
lastfm
|
|
|
|
chardet
|
|
|
|
${GOBJECT_LIBRARIES}
|
|
|
|
${GLIB_LIBRARIES}
|
|
|
|
${TAGLIB_LIBRARIES}
|
|
|
|
${QT_LIBRARIES}
|
|
|
|
${ENGINE_LIBRARIES}
|
2010-02-28 18:28:56 +01:00
|
|
|
)
|
2010-05-10 23:50:31 +02:00
|
|
|
|
2010-02-28 21:55:10 +01:00
|
|
|
if (APPLE)
|
2010-03-01 02:47:50 +01:00
|
|
|
target_link_libraries(clementine_lib
|
2010-05-10 23:50:31 +02:00
|
|
|
${GROWL}
|
|
|
|
${SPARKLE}
|
2010-05-11 22:07:00 +02:00
|
|
|
z
|
2010-05-10 23:50:31 +02:00
|
|
|
/System/Library/Frameworks/Carbon.framework
|
|
|
|
/System/Library/Frameworks/Foundation.framework
|
|
|
|
/System/Library/Frameworks/AppKit.framework
|
2010-02-28 21:55:10 +01:00
|
|
|
)
|
2010-04-15 17:23:12 +02:00
|
|
|
include_directories(${SPARKLE}/Headers)
|
2010-04-13 21:43:08 +02:00
|
|
|
else (APPLE)
|
|
|
|
target_link_libraries(clementine_lib qxt)
|
2010-02-28 21:55:10 +01:00
|
|
|
endif (APPLE)
|
2010-03-01 02:47:50 +01:00
|
|
|
|
2010-05-10 23:50:31 +02:00
|
|
|
# Link against the qsqlite plugin on windows and mac
|
2010-04-13 21:43:08 +02:00
|
|
|
if(WIN32 OR APPLE)
|
2010-03-22 19:35:31 +01:00
|
|
|
set(3RDPARTY_SQLITE_LIBRARY qsqlite)
|
|
|
|
target_link_libraries(clementine_lib qsqlite)
|
2010-04-13 21:43:08 +02:00
|
|
|
endif(WIN32 OR APPLE)
|
2010-03-22 19:35:31 +01:00
|
|
|
|
2010-05-10 23:50:31 +02:00
|
|
|
add_dependencies(clementine_lib qtsingleapplication)
|
|
|
|
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
set(EXECUTABLE_OUTPUT_PATH ..)
|
|
|
|
|
2010-05-05 18:56:55 +02:00
|
|
|
# Show the console window in debug mode on Windows
|
|
|
|
if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
|
|
set(CLEMENTINE-WIN32-FLAG WIN32)
|
|
|
|
endif (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
|
|
|
2010-05-10 23:50:31 +02:00
|
|
|
# resource file for windows
|
|
|
|
if(WIN32)
|
|
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../dist/windows/windres.rc.in
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/windres.rc)
|
|
|
|
set(CLEMENTINE-WIN32-RESOURCES windres.rc)
|
|
|
|
endif(WIN32)
|
|
|
|
|
2010-03-01 02:47:50 +01:00
|
|
|
add_executable(clementine
|
2010-05-05 18:56:35 +02:00
|
|
|
MACOSX_BUNDLE
|
2010-05-05 18:56:55 +02:00
|
|
|
${CLEMENTINE-WIN32-FLAG}
|
2010-05-05 18:56:35 +02:00
|
|
|
${CLEMENTINE-WIN32-RESOURCES}
|
|
|
|
main.cpp
|
2010-03-01 02:47:50 +01:00
|
|
|
)
|
2010-05-10 23:50:31 +02:00
|
|
|
target_link_libraries(clementine
|
|
|
|
clementine_lib
|
|
|
|
)
|
2010-02-28 18:28:56 +01:00
|
|
|
|
2010-02-28 21:55:10 +01:00
|
|
|
set_target_properties(clementine PROPERTIES
|
2010-05-10 23:50:31 +02:00
|
|
|
MACOSX_BUNDLE_INFO_PLIST "../dist/Info.plist"
|
2010-02-28 21:55:10 +01:00
|
|
|
)
|
2010-05-10 23:50:31 +02:00
|
|
|
|
2010-04-15 21:09:39 +02:00
|
|
|
if (APPLE)
|
|
|
|
configure_file(
|
2010-05-10 23:50:31 +02:00
|
|
|
../dist/clementine.icns
|
|
|
|
${PROJECT_BINARY_DIR}/clementine.app/Contents/Resources/clementine.icns
|
|
|
|
COPY_ONLY
|
|
|
|
)
|
2010-04-15 21:09:39 +02:00
|
|
|
configure_file(
|
2010-05-10 23:50:31 +02:00
|
|
|
../dist/qt.conf
|
|
|
|
${PROJECT_BINARY_DIR}/clementine.app/Contents/Resources/qt.conf
|
|
|
|
COPY_ONLY
|
|
|
|
)
|
2010-04-15 21:09:39 +02:00
|
|
|
configure_file(
|
2010-05-10 23:50:31 +02:00
|
|
|
../dist/sparkle_pub.pem
|
|
|
|
${PROJECT_BINARY_DIR}/clementine.app/Contents/Resources/sparkle_pub.pem
|
|
|
|
COPY_ONLY
|
|
|
|
)
|
2010-04-15 21:09:39 +02:00
|
|
|
add_custom_target(bundle
|
2010-05-10 23:50:31 +02:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../macdeploy.py ${PROJECT_BINARY_DIR}/clementine.app -f
|
|
|
|
DEPENDS clementine
|
|
|
|
)
|
2010-04-15 21:09:39 +02:00
|
|
|
add_custom_target(dmg
|
2010-05-10 23:50:31 +02:00
|
|
|
macdeployqt ${PROJECT_BINARY_DIR}/clementine.app -dmg
|
|
|
|
DEPENDS clementine
|
|
|
|
)
|
2010-04-15 21:09:39 +02:00
|
|
|
endif (APPLE)
|
2010-02-28 21:55:10 +01:00
|
|
|
|
2010-02-28 18:28:56 +01:00
|
|
|
install(TARGETS clementine
|
2010-03-01 13:55:51 +01:00
|
|
|
BUNDLE DESTINATION bin
|
2010-03-04 17:41:14 +01:00
|
|
|
RUNTIME DESTINATION bin
|
|
|
|
)
|
|
|
|
|
|
|
|
install(FILES ../dist/clementine_64.png
|
|
|
|
DESTINATION share/icons/hicolor/64x64/apps/
|
|
|
|
RENAME application-x-clementine.png
|
|
|
|
)
|
|
|
|
|
|
|
|
install(FILES ../dist/clementine.desktop
|
|
|
|
DESTINATION share/applications
|
|
|
|
)
|
2010-04-15 21:09:39 +02:00
|
|
|
|