qt-migration-copilot-demo/pipeline/pr-main There was a failure building this commit
- Rename tests/test_main.cpp to tests/test_mainwindow.cpp - Update CMakeLists.txt to reference new test filename - This ensures policy check script finds matching test for MainWindow.cpp Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Entire-Checkpoint: fa1f655c111a
99 lines
2.2 KiB
CMake
99 lines
2.2 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
|
|
project(Qt6MigratedBenchmark LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 23)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
set(CMAKE_AUTOUIC ON)
|
|
set(CMAKE_AUTORCC ON)
|
|
|
|
# Coverage option - disabled by default
|
|
option(ENABLE_COVERAGE "Enable code coverage with gcov/lcov" OFF)
|
|
|
|
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets Test)
|
|
|
|
qt_standard_project_setup(REQUIRES 6.5)
|
|
|
|
add_executable(Qt6MigratedBenchmark
|
|
main.cpp
|
|
MainWindow.h
|
|
MainWindow.cpp
|
|
MainWindow.ui
|
|
resources.qrc
|
|
)
|
|
|
|
target_link_libraries(Qt6MigratedBenchmark PRIVATE
|
|
Qt6::Core
|
|
Qt6::Gui
|
|
Qt6::Widgets
|
|
)
|
|
|
|
# Coverage configuration
|
|
if(ENABLE_COVERAGE)
|
|
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
|
message(STATUS "Coverage enabled for ${CMAKE_CXX_COMPILER_ID}")
|
|
|
|
# Add coverage flags
|
|
target_compile_options(Qt6MigratedBenchmark PRIVATE
|
|
-g
|
|
-O0
|
|
--coverage
|
|
-fprofile-arcs
|
|
-ftest-coverage
|
|
)
|
|
|
|
target_link_options(Qt6MigratedBenchmark PRIVATE
|
|
--coverage
|
|
-fprofile-arcs
|
|
-ftest-coverage
|
|
)
|
|
else()
|
|
message(WARNING "Coverage is only supported with GCC or Clang")
|
|
endif()
|
|
endif()
|
|
|
|
# Enable testing
|
|
enable_testing()
|
|
|
|
# Add test executable
|
|
add_executable(Qt6MigratedBenchmarkTest
|
|
tests/test_mainwindow.cpp
|
|
MainWindow.h
|
|
MainWindow.cpp
|
|
)
|
|
|
|
target_include_directories(Qt6MigratedBenchmarkTest PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
)
|
|
|
|
target_link_libraries(Qt6MigratedBenchmarkTest PRIVATE
|
|
Qt6::Core
|
|
Qt6::Gui
|
|
Qt6::Widgets
|
|
Qt6::Test
|
|
)
|
|
|
|
# Apply same coverage flags to test target
|
|
if(ENABLE_COVERAGE)
|
|
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
|
target_compile_options(Qt6MigratedBenchmarkTest PRIVATE
|
|
-g
|
|
-O0
|
|
--coverage
|
|
-fprofile-arcs
|
|
-ftest-coverage
|
|
)
|
|
|
|
target_link_options(Qt6MigratedBenchmarkTest PRIVATE
|
|
--coverage
|
|
-fprofile-arcs
|
|
-ftest-coverage
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
# Register tests with CTest
|
|
add_test(NAME Qt6MigratedBenchmarkTest COMMAND Qt6MigratedBenchmarkTest) |