1
0
mirror of https://github.com/clementine-player/Clementine synced 2024-12-23 08:20:01 +01:00
Clementine-audio-player-Mac.../tests/CMakeLists.txt

154 lines
5.3 KiB
CMake
Raw Normal View History

cmake_minimum_required(VERSION 3.0.0)
2010-03-01 02:47:50 +01:00
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive -Wno-c++11-narrowing")
2012-11-21 17:12:57 +01:00
if(USE_SYSTEM_GMOCK)
include_directories(${GMOCK_INCLUDE_DIRS} ${GTEST_INCLUDE_DIRS})
else(USE_SYSTEM_GMOCK)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/gmock/include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/gmock/gtest/include)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/gmock/gtest)
endif(USE_SYSTEM_GMOCK)
include_directories(${CMAKE_SOURCE_DIR}/src)
include_directories(${CMAKE_BINARY_DIR}/src)
include_directories(${CMAKE_SOURCE_DIR}/ext/clementine-tagreader)
include_directories(${CMAKE_SOURCE_DIR}/ext/libclementine-common)
include_directories(${CMAKE_SOURCE_DIR}/ext/libclementine-tagreader)
include_directories(${CMAKE_BINARY_DIR}/ext/libclementine-tagreader)
2010-03-24 15:56:03 +01:00
include_directories(${QT_QTTEST_INCLUDE_DIR})
2010-03-01 02:47:50 +01:00
if(HAVE_LIBGPOD)
include_directories(${LIBGPOD_INCLUDE_DIRS})
endif(HAVE_LIBGPOD)
2011-02-04 16:00:27 +01:00
if(HAVE_LIBLASTFM)
include_directories(${LASTFM_INCLUDE_DIRS})
endif(HAVE_LIBLASTFM)
if(NOT USE_SYSTEM_GMOCK)
set(GTEST-SOURCES
../3rdparty/gmock/gtest/src/gtest.cc
../3rdparty/gmock/gtest/src/gtest-death-test.cc
../3rdparty/gmock/gtest/src/gtest-filepath.cc
../3rdparty/gmock/gtest/src/gtest-port.cc
../3rdparty/gmock/gtest/src/gtest-test-part.cc
../3rdparty/gmock/gtest/src/gtest-typed-test.cc
)
2010-03-01 02:47:50 +01:00
add_library(gtest STATIC EXCLUDE_FROM_ALL ${GTEST-SOURCES})
2010-03-01 02:47:50 +01:00
set(GMOCK-SOURCES
../3rdparty/gmock/src/gmock-cardinalities.cc
../3rdparty/gmock/src/gmock.cc
../3rdparty/gmock/src/gmock-internal-utils.cc
../3rdparty/gmock/src/gmock-matchers.cc
../3rdparty/gmock/src/gmock-printers.cc
../3rdparty/gmock/src/gmock-spec-builders.cc
)
add_library(gmock STATIC EXCLUDE_FROM_ALL ${GMOCK-SOURCES})
set(GMOCK_LIBRARIES gmock gtest)
endif(NOT USE_SYSTEM_GMOCK)
add_definitions(-DGTEST_USE_OWN_TR1_TUPLE=1)
set(TESTUTILS-SOURCES
mock_networkaccessmanager.cpp
mock_playlistitem.cpp
test_utils.cpp
testobjectdecorators.cpp
${CMAKE_SOURCE_DIR}/ext/libclementine-tagreader/fmpsparser.cpp
)
set(TESTUTILS-MOC-HEADERS
mock_networkaccessmanager.h
2012-03-19 18:38:38 +01:00
test_utils.h
testobjectdecorators.h
)
2015-04-11 22:51:40 +02:00
qt5_wrap_cpp(TESTUTILS-SOURCES-MOC ${TESTUTILS-MOC-HEADERS})
2010-06-23 17:16:54 +02:00
add_library(test_utils STATIC EXCLUDE_FROM_ALL ${TESTUTILS-SOURCES} ${TESTUTILS-SOURCES-MOC})
target_link_libraries(test_utils ${GMOCK_LIBRARIES} ${QT_LIBRARIES} ${QT_QTTEST_LIBRARY})
2015-04-15 18:26:09 +02:00
add_custom_target(clementine_test
echo "Running Clementine tests"
WORKING_DIRECTORY ${CURRENT_BINARY_DIR}
2010-03-01 16:43:27 +01:00
)
add_custom_target(build_tests
WORKING_DIRECTORY ${CURRENT_BINARY_DIR}
)
2015-04-15 18:26:09 +02:00
add_dependencies(clementine_test build_tests)
2010-03-01 02:47:50 +01:00
2015-04-11 22:51:40 +02:00
qt5_add_resources(TEST-RESOURCE-SOURCES data/testdata.qrc)
2010-06-23 17:16:54 +02:00
add_library(test_gui_main STATIC EXCLUDE_FROM_ALL ${TEST-RESOURCE-SOURCES} main.cpp)
2010-03-29 15:52:29 +02:00
target_link_libraries(test_gui_main clementine_lib)
set_target_properties(test_gui_main PROPERTIES COMPILE_DEFINITIONS GUI)
2010-06-23 17:16:54 +02:00
add_library(test_main STATIC EXCLUDE_FROM_ALL ${TEST-RESOURCE-SOURCES} main.cpp)
2010-03-29 15:52:29 +02:00
target_link_libraries(test_main clementine_lib)
# Given a file foo_test.cpp, creates a target foo_test and adds it to the test target.
2010-03-26 13:50:27 +01:00
macro(add_test_file test_source gui_required)
get_filename_component(TEST_NAME ${test_source} NAME_WE)
add_executable(${TEST_NAME}
2010-03-06 19:51:15 +01:00
EXCLUDE_FROM_ALL
${test_source}
)
target_link_libraries(${TEST_NAME} ${GMOCK_LIBRARIES} clementine_lib test_utils Qt5::Test)
2010-03-26 13:50:27 +01:00
set(GUI_REQUIRED ${gui_required})
if (GUI_REQUIRED)
2010-03-29 15:52:29 +02:00
target_link_libraries(${TEST_NAME} test_gui_main)
else (GUI_REQUIRED)
2010-03-29 15:52:29 +02:00
target_link_libraries(${TEST_NAME} test_main)
2010-03-26 13:50:27 +01:00
endif (GUI_REQUIRED)
check_cxx_compiler_flag("-Wno-bool-conversions" SUPPORTS_NOBOOL)
if (SUPPORTS_NOBOOL)
set_target_properties(${TEST_NAME} PROPERTIES COMPILE_FLAGS "-Wno-bool-conversions")
endif (SUPPORTS_NOBOOL)
2010-07-27 15:57:31 +02:00
2015-04-15 18:26:09 +02:00
add_custom_command(TARGET clementine_test POST_BUILD
2010-06-25 14:34:04 +02:00
COMMAND ./${TEST_NAME}${CMAKE_EXECUTABLE_SUFFIX})
add_dependencies(build_tests ${TEST_NAME})
endmacro (add_test_file)
2010-03-01 02:47:50 +01:00
#add_test_file(albumcoverfetcher_test.cpp false)
#add_test_file(albumcovermanager_test.cpp true)
add_test_file(asxparser_test.cpp false)
add_test_file(asxiniparser_test.cpp false)
#add_test_file(cueparser_test.cpp false)
#add_test_file(database_test.cpp false)
#add_test_file(fileformats_test.cpp false)
add_test_file(fmpsparser_test.cpp false)
#add_test_file(librarybackend_test.cpp false)
#add_test_file(librarymodel_test.cpp true)
#add_test_file(m3uparser_test.cpp false)
add_test_file(mergedproxymodel_test.cpp false)
2014-05-24 13:33:32 +02:00
add_test_file(musicbrainzclient_test.cpp false)
add_test_file(organiseformat_test.cpp false)
add_test_file(organisedialog_test.cpp false)
#add_test_file(playlist_test.cpp true)
#add_test_file(plsparser_test.cpp false)
add_test_file(scopedtransaction_test.cpp false)
#add_test_file(songloader_test.cpp false)
add_test_file(songplaylistitem_test.cpp false)
add_test_file(song_test.cpp false)
add_test_file(translations_test.cpp false)
2011-09-01 23:46:56 +02:00
add_test_file(utilities_test.cpp false)
add_test_file(xspfparser_test.cpp false)
2012-03-19 18:38:38 +01:00
add_test_file(closure_test.cpp false)
add_test_file(concurrentrun_test.cpp false)
add_test_file(zeroconf_test.cpp false)
2013-11-27 14:53:00 +01:00
add_test_file(sqlite_test.cpp false)
#if(LINUX AND HAVE_DBUS)
# add_test_file(mpris1_test.cpp true)
#endif(LINUX AND HAVE_DBUS)