diff --git a/MyxCMake/MyxCMakeConfig.cmake b/MyxCMake/MyxCMakeConfig.cmake index ee331a2..164bd2a 100644 --- a/MyxCMake/MyxCMakeConfig.cmake +++ b/MyxCMake/MyxCMakeConfig.cmake @@ -41,6 +41,7 @@ include(${MYX_CMAKE_LIB_DIR}/macro/FindPackages.cmake) include(${MYX_CMAKE_LIB_DIR}/macro/InstallRelative.cmake) include(${MYX_CMAKE_LIB_DIR}/macro/CheckEnableCxxCompilerFlag.cmake) include(${MYX_CMAKE_LIB_DIR}/macro/GTest.cmake) +include(${MYX_CMAKE_LIB_DIR}/macro/QTest.cmake) include(${MYX_CMAKE_LIB_DIR}/ColoredMessages.cmake) include(${MYX_CMAKE_LIB_DIR}/PopulateCMakeBinaryDir.cmake) diff --git a/MyxCMake/MyxCMakeConfigVersion.cmake b/MyxCMake/MyxCMakeConfigVersion.cmake index 3cb0291..97462a2 100644 --- a/MyxCMake/MyxCMakeConfigVersion.cmake +++ b/MyxCMake/MyxCMakeConfigVersion.cmake @@ -1,4 +1,4 @@ -set(MYX_CMAKE_PACKAGE_VERSION "2.2.4") +set(MYX_CMAKE_PACKAGE_VERSION "2.2.5") if(MYX_CMAKE_PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) set(PACKAGE_VERSION_COMPATIBLE FALSE) else() diff --git a/MyxCMake/lib/macro/QTest.cmake b/MyxCMake/lib/macro/QTest.cmake new file mode 100644 index 0000000..1f296ff --- /dev/null +++ b/MyxCMake/lib/macro/QTest.cmake @@ -0,0 +1,37 @@ +include_guard(GLOBAL) + +macro(myx_add_qtest TARGET_NAME) + set(options) + set(oneValueArgs) + set(multiValueArgs) + cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + find_package(Qt5 COMPONENTS Test REQUIRED) + if(Qt5_Test_FOUND) + target_link_libraries(${TARGET_NAME} Qt5::Core Qt5::Test) + endif() + + foreach(filename ${ARG_UNPARSED_ARGUMENTS}) + get_filename_component(basename ${filename} NAME_WE) + list(APPEND cpps "${basename}.cpp") + list(APPEND hpps "${basename}.hpp") + qt5_wrap_cpp(moc "${basename}.hpp") + list(APPEND mocs "${moc}") + endforeach() + + add_executable(${TARGET_NAME} ${mocs} ${cpps} ${hpps}) + add_test(NAME ${TARGET_NAME} COMMAND ${TARGET_NAME}) + + unset(cpps) + unset(hpps) + unset(moc) + unset(mocs) + foreach(__iter IN LISTS oneValueArgs multiValueArgs) + unset(ARG_${__iter}) + endforeach() + unset(ARG_UNPARSED_ARGUMENTS) + unset(multiValueArgs) + unset(oneValueArgs) + unset(options) +endmacro() + diff --git a/README.md b/README.md index 06bad8f..47793e8 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ## Установка В корневом каталоге проекта создать каталог `cmake` и распаковать в него -[архив](../../../releases/download/2.2.4/myx-cmake-local-2.2.4.tar.xz ). +[архив](../../../releases/download/2.2.5/myx-cmake-local-2.2.5.tar.xz ). ## Использование diff --git a/VERSION b/VERSION index 530cdd9..21bb5e1 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.2.4 +2.2.5 diff --git a/debian/CMakeLists.txt b/debian/CMakeLists.txt index cd8f5c5..83a51cf 100644 --- a/debian/CMakeLists.txt +++ b/debian/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.6 FATAL_ERROR) -project(myx-cmake VERSION 2.2.4 LANGUAGES) +project(myx-cmake VERSION 2.2.5 LANGUAGES) include(GNUInstallDirs) file(WRITE ${CMAKE_SOURCE_DIR}/MyxCMake/MyxCMakeConfigVersion.cmake diff --git a/debian/changelog b/debian/changelog index c8bd51e..98f0256 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -myx-cmake (2.2.4) unstable; urgency=medium +myx-cmake (2.2.5) unstable; urgency=medium * New version. diff --git a/myx_setup.cmake b/myx_setup.cmake index cc3d1c2..fecfb17 100644 --- a/myx_setup.cmake +++ b/myx_setup.cmake @@ -20,11 +20,11 @@ if(ENV{MYX_CMAKE_DIR}) set(MYX_CMAKE_DIR $ENV{MYX_CMAKE_DIR}) endif() if(MYX_CMAKE_DIR) - find_package(MyxCMake 2.2.4 REQUIRED CONFIG PATHS ${MYX_CMAKE_DIR} NO_DEFAULT_PATH) + find_package(MyxCMake 2.2.5 REQUIRED CONFIG PATHS ${MYX_CMAKE_DIR} NO_DEFAULT_PATH) myx_message_notice("=== MyxCMake directory: ${MyxCMake_CONFIG} ===") else() if(MYX_CMAKE_USE_SYSTEM) - find_package(MyxCMake 2.2.4 REQUIRED) + find_package(MyxCMake 2.2.5 REQUIRED) myx_message_notice("=== MyxCMake directory: ${MyxCMake_CONFIG} ===") else() include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake)