MuseScore/src/framework/testing/gtest.cmake

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

70 lines
2.3 KiB
CMake
Raw Normal View History

2020-06-17 11:38:24 +02:00
#=============================================================================
# MuseScore
# Music Composition & Notation
#
# Copyright (C) 2020 MuseScore BVBA and others
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#=============================================================================
2020-06-16 16:13:58 +02:00
2020-06-17 11:38:24 +02:00
## Setup
# set(MODULE_TEST somename) - set module (target) name
# set(MODULE_TEST_INCLUDE ...) - set include (by default see below include_directories)
2021-09-28 13:16:39 +02:00
# set(MODULE_TEST_DEF ...) - set definitions
2020-06-17 11:38:24 +02:00
# set(MODULE_TEST_SRC ...) - set sources and headers files
# set(MODULE_TEST_LINK ...) - set libraries for link
2021-09-28 13:16:39 +02:00
# set(MODULE_TEST_DATA_ROOT ...) - set test data root path
2020-06-17 11:38:24 +02:00
# After all the settings you need to do:
# include(${PROJECT_SOURCE_DIR}/framework/testing/gtest.cmake)
2020-06-17 11:38:24 +02:00
message(STATUS "Configuring ${MODULE_TEST} (gtest)")
2020-06-17 11:38:24 +02:00
2020-06-16 16:13:58 +02:00
get_property(gmock_LIBS GLOBAL PROPERTY gmock_LIBS)
get_property(gmock_INCLUDE_DIRS GLOBAL PROPERTY gmock_INCLUDE_DIRS)
add_executable(${MODULE_TEST}
${CMAKE_CURRENT_LIST_DIR}/gmain.cpp
${CMAKE_CURRENT_LIST_DIR}/environment.cpp
${CMAKE_CURRENT_LIST_DIR}/environment.h
${MODULE_TEST_SRC}
)
2020-06-16 16:13:58 +02:00
target_include_directories(${MODULE_TEST} PRIVATE
2020-06-17 11:38:24 +02:00
${PROJECT_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
2020-06-17 11:38:24 +02:00
${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/src/framework
${PROJECT_SOURCE_DIR}/src/framework/global
${PROJECT_SOURCE_DIR}/src
2020-06-17 11:38:24 +02:00
${MODULE_TEST_INCLUDE}
)
2021-09-28 13:16:39 +02:00
target_compile_definitions(${MODULE_TEST} PRIVATE
${MODULE_TEST_DEF}
${MODULE_TEST}_DATA_ROOT="${MODULE_TEST_DATA_ROOT}"
)
2020-10-19 09:42:11 +02:00
find_package(Qt5 COMPONENTS Core Gui REQUIRED)
2020-06-17 11:38:24 +02:00
target_link_libraries(${MODULE_TEST}
Qt5::Core
Qt5::Gui
gmock
global
2021-02-16 13:57:03 +01:00
system
2020-06-17 11:38:24 +02:00
${MODULE_TEST_LINK}
)
2020-10-19 09:42:11 +02:00
add_test(NAME ${MODULE_TEST} COMMAND ${MODULE_TEST})