From 7dd8b3d08522b698941c936628adf06939a549d6 Mon Sep 17 00:00:00 2001 From: Povilas Kanapickas Date: Mon, 10 Mar 2025 18:00:07 +0200 Subject: [PATCH] fix: Make build CMakeLists.txt standalone (#123) Previously it depended on QODEASSIST_QT_CREATOR_VERSION_* flags being passed to cmake during build process. Making it standalone saves time for the users. --- .github/workflows/build_cmake.yml | 12 ------------ CMakeLists.txt | 12 ++++++++++++ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index ab61459..79659dc 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -193,15 +193,6 @@ jobs: set(ENV{CXX} ${{ matrix.config.cxx }}) set(ENV{MACOSX_DEPLOYMENT_TARGET} "${{ env.MACOS_DEPLOYMENT_TARGET }}") - string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)" version_match "$ENV{QT_CREATOR_VERSION}") - set(QT_CREATOR_VERSION_MAJOR "${CMAKE_MATCH_1}") - set(QT_CREATOR_VERSION_MINOR "${CMAKE_MATCH_2}") - set(QT_CREATOR_VERSION_PATCH "${CMAKE_MATCH_3}") - - if(NOT version_match) - message(FATAL_ERROR "Failed to parse Qt Creator version string: $ENV{QT_CREATOR_VERSION}") - endif() - if ("${{ runner.os }}" STREQUAL "Windows" AND NOT "x${{ matrix.config.environment_script }}" STREQUAL "x") execute_process( COMMAND "${{ matrix.config.environment_script }}" && set @@ -238,9 +229,6 @@ jobs: --qt-path "${{ steps.qt.outputs.qt_dir }}" --qtc-path "${{ steps.qt_creator.outputs.qtc_dir }}" --output-path "$ENV{GITHUB_WORKSPACE}" - --add-config=-DQODEASSIST_QT_CREATOR_VERSION_MAJOR=${QT_CREATOR_VERSION_MAJOR} - --add-config=-DQODEASSIST_QT_CREATOR_VERSION_MINOR=${QT_CREATOR_VERSION_MINOR} - --add-config=-DQODEASSIST_QT_CREATOR_VERSION_PATCH=${QT_CREATOR_VERSION_PATCH} RESULT_VARIABLE result ) if (NOT result EQUAL 0) diff --git a/CMakeLists.txt b/CMakeLists.txt index a63c5c6..248cd47 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,6 +14,18 @@ find_package(QtCreator REQUIRED COMPONENTS Core) find_package(Qt6 COMPONENTS Core Gui Quick Widgets Network REQUIRED) find_package(GTest) +# IDE_VERSION is defined by QtCreator package +string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)" version_match ${IDE_VERSION}) +set(QODEASSIST_QT_CREATOR_VERSION_MAJOR ${CMAKE_MATCH_1}) +set(QODEASSIST_QT_CREATOR_VERSION_MINOR ${CMAKE_MATCH_2}) +set(QODEASSIST_QT_CREATOR_VERSION_PATCH ${CMAKE_MATCH_3}) + +if(NOT version_match) + message(FATAL_ERROR "Failed to parse Qt Creator version string: ${IDE_VERSION}") +endif() + +message(STATUS "Qt Creator Version: ${QODEASSIST_QT_CREATOR_VERSION_MAJOR}.${QODEASSIST_QT_CREATOR_VERSION_MINOR}.${QODEASSIST_QT_CREATOR_VERSION_PATCH}") + add_definitions( -DQODEASSIST_QT_CREATOR_VERSION_MAJOR=${QODEASSIST_QT_CREATOR_VERSION_MAJOR} -DQODEASSIST_QT_CREATOR_VERSION_MINOR=${QODEASSIST_QT_CREATOR_VERSION_MINOR}