You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.4 KiB
96 lines
2.4 KiB
3 years ago
|
include(CMakeParseArguments)
|
||
|
|
||
|
find_package(Qt5Test REQUIRED)
|
||
|
|
||
|
include_directories(
|
||
|
${CMake_SOURCE_DIR}/Source
|
||
|
${CMake_SOURCE_DIR}/Source/QtDialog
|
||
|
${CMake_BINARY_DIR}/Source/QtDialog
|
||
|
)
|
||
|
|
||
|
set(MOC_SRCS)
|
||
|
qt5_wrap_cpp(MOC_SRCS
|
||
|
CatchShow.h
|
||
|
)
|
||
|
add_library(CMakeGUITestLib STATIC ${MOC_SRCS}
|
||
|
CatchShow.cxx
|
||
|
CatchShow.h
|
||
|
)
|
||
|
target_link_libraries(CMakeGUITestLib Qt5::Core Qt5::Gui Qt5::Widgets)
|
||
|
|
||
|
set(MOC_SRCS)
|
||
|
qt5_wrap_cpp(MOC_SRCS
|
||
|
CMakeGUITest.h
|
||
|
)
|
||
|
add_executable(CMakeGUITest CMakeGUITest.cxx ${MOC_SRCS})
|
||
|
target_link_libraries(CMakeGUITest CMakeGUIMainLib CMakeGUITestLib Qt5::Core Qt5::Test Qt5::Widgets)
|
||
|
target_compile_definitions(CMakeGUITest PRIVATE
|
||
|
"CMakeGUITest_SOURCE_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}\""
|
||
|
"CMakeGUITest_BINARY_DIR=\"${CMAKE_CURRENT_BINARY_DIR}\""
|
||
|
"CMAKE_GENERATOR=\"${CMAKE_GENERATOR}\""
|
||
|
)
|
||
|
|
||
|
add_test(NAME CMakeGUI COMMAND ${CMAKE_CMAKE_COMMAND}
|
||
|
"-DCMakeGUITest_COMMAND=$<TARGET_FILE:CMakeGUITest>"
|
||
|
"-DCMakeGUITest_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}"
|
||
|
"-DCMakeGUITest_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}"
|
||
|
"-DCMakeGUITest_GENERATOR=${CMAKE_GENERATOR}"
|
||
|
-P "${CMAKE_CURRENT_LIST_DIR}/CMakeGUITest.cmake"
|
||
|
)
|
||
|
|
||
|
function(add_cmake_gui_lib_test name)
|
||
|
cmake_parse_arguments(_t "" "" "SOURCES;MOC_SOURCES" ${ARGN})
|
||
|
|
||
|
set(MOC_SRCS)
|
||
|
qt5_wrap_cpp(MOC_SRCS
|
||
|
${_t_MOC_SOURCES}
|
||
|
)
|
||
|
add_executable(${name} ${_t_SOURCES} ${MOC_SRCS})
|
||
|
target_link_libraries(${name} CMakeGUILib CMakeGUITestLib Qt5::Core Qt5::Test Qt5::Widgets)
|
||
|
|
||
|
add_test(NAME "CMakeGUILib.${name}" COMMAND ${name})
|
||
|
endfunction()
|
||
|
|
||
|
add_cmake_gui_lib_test(CatchShow
|
||
|
SOURCES
|
||
|
CatchShowTest.cxx
|
||
|
CatchShowTest.h
|
||
|
MOC_SOURCES
|
||
|
CatchShowTest.h
|
||
|
)
|
||
|
add_cmake_gui_lib_test(EnvironmentDialog
|
||
|
SOURCES
|
||
|
EnvironmentDialogTest.cxx
|
||
|
EnvironmentDialogTest.h
|
||
|
MOC_SOURCES
|
||
|
EnvironmentDialogTest.h
|
||
|
)
|
||
|
add_cmake_gui_lib_test(QCMakeCacheModel
|
||
|
SOURCES
|
||
|
QCMakeCacheModelTest.cxx
|
||
|
QCMakeCacheModelTest.h
|
||
|
MOC_SOURCES
|
||
|
QCMakeCacheModelTest.h
|
||
|
)
|
||
|
add_cmake_gui_lib_test(QCMakePreset
|
||
|
SOURCES
|
||
|
QCMakePresetTest.cxx
|
||
|
QCMakePresetTest.h
|
||
|
MOC_SOURCES
|
||
|
QCMakePresetTest.h
|
||
|
)
|
||
|
add_cmake_gui_lib_test(QCMakePresetItemModel
|
||
|
SOURCES
|
||
|
QCMakePresetItemModelTest.cxx
|
||
|
QCMakePresetItemModelTest.h
|
||
|
MOC_SOURCES
|
||
|
QCMakePresetItemModelTest.h
|
||
|
)
|
||
|
add_cmake_gui_lib_test(QCMakePresetComboBox
|
||
|
SOURCES
|
||
|
QCMakePresetComboBoxTest.cxx
|
||
|
QCMakePresetComboBoxTest.h
|
||
|
MOC_SOURCES
|
||
|
QCMakePresetComboBoxTest.h
|
||
|
)
|