<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>This is the different I find from kmymoney-master and kmymoney
      checkout 5.0</p>
    <p>It is the only CMakeList.txt.<br>
    </p>
    <p>I haven't compared all the files of these two directories.<br>
    </p>
    <p>--- kmymoney-master/CMakeLists.txt?????????? 2019-07-11
      15:12:35.350637767 -0400<br>
      +++ kmymoney/CMakeLists.txt???????? 2019-07-10 21:46:16.442365582
      -0400<br>
      @@ -2,7 +2,7 @@<br>
      ??cmake_minimum_required(VERSION 3.1)<br>
      ??<br>
      ??# Setting the name of the main project<br>
      <font color="#ff0000">-project(KMyMoney VERSION "5.0.80" LANGUAGES
        CXX)<br>
        +project(KMyMoney VERSION "5.0.5" LANGUAGES CXX)</font><br>
      ??<br>
      ??# Determine the GIT reference (if we're based on GIT)<br>
      ??if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")<br>
      @@ -38,7 +38,7 @@ if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_C<br>
      ???????? message(FATAL_ERROR "This version of KMyMoney requires at
      least gcc 6.0.0 to be built successfully")<br>
      ??endif()<br>
      ??<br>
      -find_package(ECM 5.42 REQUIRED NO_MODULE)<br>
      +find_package(ECM 5.10 REQUIRED NO_MODULE)<br>
      ??set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}
      ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)<br>
      ??<br>
      ??include(KDEInstallDirs)<br>
      @@ -54,9 +54,9 @@ find_package(PkgConfig)<br>
      ??set (OPT_KF5_COMPONENTS DocTools Holidays Contacts Akonadi
      IdentityManagement Activities)<br>
      ??find_package(Gpgmepp)<br>
      ??if (Gpgmepp_FOUND)<br>
      -?? set(GPG_FOUND TRUE)<br>
      +?? set(GPG_ENCRYPTION ON)<br>
      ??else()<br>
      -?? set(GPG_FOUND FALSE)<br>
      +?? set(GPG_ENCRYPTION OFF)<br>
      ???? list(APPEND OPT_KF5_COMPONENTS Gpgmepp)<br>
      ??endif()<br>
      ??<br>
      @@ -84,22 +84,19 @@ if (NOT LibAlkimia5_FOUND)<br>
      ???? endif()<br>
      ???? find_package(LibAlkimia5 7.0 REQUIRED)<br>
      ??endif()<br>
      -<br>
      ??# Recent changes to LibAlkimia should allow us to remove this
      construct<br>
      ??#if(CMAKE_SYSTEM_NAME MATCHES "Windows")<br>
      ??#?? include_directories(${GMP_INCLUDE_DIR})<br>
      ??#endif()<br>
      ??<br>
      -find_package(KChart 2.6.0)<br>
      +find_package(KChart 2.6.0 REQUIRED)<br>
      ??<br>
      ??if(KF5Gpgmepp_FOUND)<br>
      -?? set(GPG_FOUND TRUE)<br>
      +?? set(GPG_ENCRYPTION ON)<br>
      +?? add_definitions(-DGpgmepp_FOUND)<br>
      ??endif()<br>
      ??<br>
      -cmake_dependent_option(ENABLE_GPG "Enable GPG support." ON<br>
      -???????????????????????????????????????????? "GPG_FOUND" OFF)<br>
      -<br>
      -add_feature_info("Encryption" ENABLE_GPG "Allows to store your
      financial data using strong GPG encryption.")<br>
      +add_feature_info("Encryption" GPG_ENCRYPTION "It allows
      encrypting your financial data.")<br>
      ??<br>
      ??add_definitions(-DQT_USE_QSTRINGBUILDER -DQT_NO_CAST_TO_ASCII
      -DQT_NO_URL_CAST_FROM_STRING)<br>
      ??set(CMAKE_CXX_STANDARD 14)<br>
      @@ -147,45 +144,38 @@ get_filename_component(QT_DIR???????? ${QT_B<br>
      ??set(QT_INSTALL_DIR ${QT_DIR} CACHE PATH<br>
      ???? "Qt install prefix defaults to the Qt prefix: ${QT_DIR}")<br>
      ??<br>
      -cmake_dependent_option(ENABLE_ADDRESSBOOK "Enable addressbook
      support." ON<br>
      -????????????????????????????????????????????
      "KF5IdentityManagement_FOUND;KF5Akonadi_FOUND;KF5Contacts_FOUND"
      OFF)<br>
      -<br>
      -add_feature_info("Address book" ENABLE_ADDRESSBOOK "Allows
      fetching payee information from KDE PIM system.")<br>
      -<br>
      -cmake_dependent_option(ENABLE_HOLIDAYS "Enable addressbook
      support." ON<br>
      -???????????????????????????????????????????? "KF5Holidays_FOUND" OFF)<br>
      -<br>
      -add_feature_info("Holidays" ENABLE_HOLIDAYS "Allows fetching
      holidays from KDE PIM system.")<br>
      +if(KF5IdentityManagement_FOUND AND KF5Akonadi_FOUND AND
      KF5Contacts_FOUND)<br>
      +?? set(KMM_ADDRESSBOOK_FOUND true)<br>
      +endif()<br>
      ??<br>
      -cmake_dependent_option(ENABLE_ACTIVITIES "Enable activities
      support." ON<br>
      -???????????????????????????????????????????? "KF5Activities_FOUND" OFF)<br>
      +add_feature_info("Address book" KMM_ADDRESSBOOK_FOUND "It allows
      fetching payee information from KDE PIM system.")<br>
      +add_feature_info("Holidays" KF5Holidays_FOUND "It allows fetching
      holidays from KDE PIM system.")<br>
      ??<br>
      ??option(ENABLE_FORECASTVIEW "Enable forecast view" ON)<br>
      -add_feature_info("Forecast view" ENABLE_FORECASTVIEW "Adds
      possibility to calculate forecasts.")<br>
      -cmake_dependent_option(ENABLE_REPORTSVIEW "Enable reports view."
      ON<br>
      -???????????????????????????????????????????? "KChart_FOUND" OFF)<br>
      -add_feature_info("Reports view" ENABLE_REPORTSVIEW "Adds
      possibility to display chart and table reports.")<br>
      +add_feature_info("Forecast view" ENABLE_FORECASTVIEW "It adds
      possibility to calculate forecasts.")<br>
      +option(ENABLE_REPORTSVIEW "Enable reports view" ON)<br>
      +add_feature_info("Reports view" ENABLE_REPORTSVIEW "It adds
      possibility to display chart and table reports.")<br>
      ??option(ENABLE_BUDGETVIEW "Enable budget view" ON)<br>
      -add_feature_info("Budget view" ENABLE_BUDGETVIEW "Adds
      possibility to plan a budget.")<br>
      +add_feature_info("Budget view" ENABLE_BUDGETVIEW "It adds
      possibility to plan a budget.")<br>
      ??option(ENABLE_ONLINEJOBOUTBOXVIEW "Enable online job outbox view"
      ON)<br>
      -add_feature_info("Online job outbox view"
      ENABLE_ONLINEJOBOUTBOXVIEW "Adds outbox for sending online jobs.")<br>
      +add_feature_info("Online job outbox view"
      ENABLE_ONLINEJOBOUTBOXVIEW "It adds outbox for sending online
      jobs.")<br>
      ??<br>
      ??cmake_dependent_option(ENABLE_SQLSTORAGE "Enable SQL storage
      support." ON<br>
      ?????????????????????????????????????????????? "Qt5Sql_FOUND" OFF)<br>
      ??<br>
      -add_feature_info("SQL Storage" ENABLE_SQLSTORAGE "Allows storing
      your financial data in SQL database.")<br>
      +add_feature_info("SQL Storage" ENABLE_SQLSTORAGE "It allows
      storing your financial data in SQL database.")<br>
      ??<br>
      ??cmake_dependent_option(ENABLE_SQLCIPHER "Enable SQLCipher
      support." ON<br>
      ?????????????????????????????????????????????? "SQLCIPHER_FOUND" OFF)<br>
      ??<br>
      ??# Otherwise compilers halt on something like that:<br>
      ??# ld: library not found for -lsqlcipher<br>
      -# on MS Windows, FreeBSD, macOS, and Ubuntu 14.04 (Ubuntu has
      CMake 3.5.1 but I'm not sure if it's the one to blame).<br>
      +# on MS Windows, FreeBSD, and macOS.<br>
      ??if(ENABLE_SQLCIPHER AND (NOT CMAKE_SYSTEM_NAME MATCHES "Linux" OR
      CMAKE_VERSION VERSION_LESS 3.5.2))<br>
      ???? link_directories(${SQLCIPHER_LIBRARY_DIRS})<br>
      ??endif()<br>
      ??<br>
      -add_feature_info("SQLCipher" ENABLE_SQLCIPHER "Allows encrypting
      your SQLite3 database.")<br>
      +add_feature_info("SQLCipher" ENABLE_SQLCIPHER "It allows
      encrypting your SQLite3 database.")<br>
      ??<br>
      ??cmake_dependent_option(ENABLE_IBANBICDATA "Enable IBAN/BIC data
      support." OFF<br>
      ?????????????????????????????????????????????? "Qt5Sql_FOUND" OFF)<br>
      @@ -228,7 +218,7 @@ else()<br>
      ???? unset(LIBOFX_HAVE_CLIENTUID CACHE)<br>
      ??endif(ENABLE_OFXIMPORTER)<br>
      ??<br>
      -add_feature_info("OFX Importer" ENABLE_OFXIMPORTER "Allows
      importing OFX files (have client uid version:
      ${nice_LIBOFX_HAVE_CLIENTUID})" )<br>
      +add_feature_info("OFX Importer" ENABLE_OFXIMPORTER "It allows
      importing OFX files (have client uid version:
      ${nice_LIBOFX_HAVE_CLIENTUID})" )<br>
      ??<br>
      ??# check for optional KBanking support<br>
      ??find_package(AQBANKING 5.6.5)<br>
      @@ -271,21 +261,18 @@ add_feature_info(iCalendar ENABLE_LIBICA<br>
      ??<br>
      ??option(ENABLE_QIFIMPORTER "Enable QIF Importer" ON)<br>
      ??option(ENABLE_QIFEXPORTER "Enable QIF Exporter" ON)<br>
      -add_feature_info("QIF Importer" ENABLE_QIFIMPORTER "Allows
      importing QIF files.")<br>
      -add_feature_info("QIF Exporter" ENABLE_QIFEXPORTER "Allows
      exporting QIF files.")<br>
      +add_feature_info("QIF Importer" ENABLE_QIFIMPORTER "It allows
      importing QIF files.")<br>
      +add_feature_info("QIF Exporter" ENABLE_QIFEXPORTER "It allows
      exporting QIF files.")<br>
      ??<br>
      ??option(ENABLE_GNCIMPORTER "Enable GNC Importer" ON)<br>
      -add_feature_info("GNC Importer" ENABLE_GNCIMPORTER "Allows
      importing GNUCash files.")<br>
      +add_feature_info("GNC Importer" ENABLE_GNCIMPORTER "It allows
      importing GNUCash files.")<br>
      ??<br>
      ??option(ENABLE_CSVIMPORTER "Enable CSV Importer" ON)<br>
      ??option(ENABLE_CSVEXPORTER "Enable CSV Exporter" ON)<br>
      -add_feature_info("CSV Importer" ENABLE_CSVIMPORTER "Allows
      importing CSV files.")<br>
      -add_feature_info("CSV Exporter" ENABLE_CSVEXPORTER "Allows
      exporting CSV files.")<br>
      +add_feature_info("CSV Importer" ENABLE_CSVIMPORTER "It allows
      importing CSV files.")<br>
      +add_feature_info("CSV Exporter" ENABLE_CSVEXPORTER "It allows
      exporting CSV files.")<br>
      ??<br>
      ??option(ENABLE_UNFINISHEDFEATURES "For devs only" OFF)<br>
      -add_feature_info("New features" ENABLE_CSVEXPORTER "Compiles
      unfinished features for testing.")<br>
      -<br>
      -add_feature_info("prefix.sh" KDE_INSTALL_PREFIX_SCRIPT "create
      prefix.sh script to support local execution")<br>
      ??<br>
      ??# TODO: this should be removed<br>
      ??enable_testing()<br>
      ?????????????????????????????????????????????????????????????????????????? <br>
    </p>
    <p>Andrew<br>
    </p>
    <p>--</p>
    <p>???? Pressure creates diamond.</p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 2019-07-11 1:32 p.m., Jack wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:3ea5f29c-6d00-7624-0cee-58e84fe84f61@users.sourceforge.net">To
      really understand all of this, you have to understand how git
      works, and how it is usually used, especially in much larger
      projects than KMM.?? In general, master is the "most cutting edge"
      branch.?? A developer might create a separate branch for interim
      work on some large new feature, where much of the time it is not
      expected to compile or to work.?? Once the feature mostly works, it
      is merged into master.?? (The criteria for "mostly" is up to each
      project team.)?? Once a major release of an application is ready, a
      separate branch is usually/often created.?? For applications that
      have LTS versions, there may be a branch for the LST version, the
      most recent version, and master.?? (Actually branches for the
      series, not the single version.)?? Bug fixes are applied to the
      branch for the version which has the bug, and then copied to
      branches for later versions, unless the fix would no longer apply,
      due to code changes or feature changes.?? When master does not
      diverge very much from a version branch, as is the case with KMM,
      commits can be made to either master or 5.0.?? The difference, as
      Thomas stated, has to do with the effort of applying a commit from
      one branch to the other.?? Applying a single commit uses "cherry
      pick" which thus needs to be done for each commit to be applied.
      On the other hand, if all recent commits in one branch are to be
      applied to the other branch, it is easier to do a git "merge."?? In
      our case, merging 5.0 into master works fine.?? However, since
      there are some (even if not many) commits to master (new features
      for example) which should NOT be copied back to 5.0, the merge
      cannot safely be done in that direction.
      <br>
      <br>
      Any given commit (bug fix) may be applied first to either 5.0 or
      master, and the delay in it being copied to the other branch
      should rarely be longer than a few days or a week, so the only
      time it really matters is if you immediately want to test a given
      bug fix.?? In that case, you do need to pay attention to where it
      was committed.?? However, as Thomas also implied, versions compiled
      from master and 5.0 may not behave exactly the same.?? Although all
      the developers try to avoid any significant breakage, it happens,
      but is more likely to happen in master, or perhaps better stated
      less likely to happen in 5.0 branch.?? (The difference is just a
      matter of perspective.)
      <br>
      <br>
      Hopefully this adds some clarity, and doesn't just make more
      confusion.?? Sorry to be so long-winded about this, but once you
      have been working with git for a while, you sometimes forget that
      things were not at all obvious when you started - it is only by
      actually working with it (and making the occasional mistake) that
      you stop thinking about (or needing to think about) the details.
      <br>
      <br>
      Jack
      <br>
      <br>
      On 7/11/19 12:04 PM, Brendan Coupe wrote:
      <br>
      <blockquote type="cite">I'm more confused than I was before I
        asked the question:-) I have
        <br>
        been using 5.0 lately since that's where the changes seem to end
        up
        <br>
        first. Seems like that makes it 5.0 more cutting edge and when
        things
        <br>
        work they get merged into the Master, making it more stable but
        that
        <br>
        was my first guess and you said I was wrong.
        <br>
        <br>
        The link you sent (<a class="moz-txt-link-freetext" href="https://kmymoney.org/appimage.php">https://kmymoney.org/appimage.php</a>) does not
        clarify
        <br>
        this at all for me since there is no mention of either the 5.0
        or
        <br>
        Master branch. How about simply adding the branch to each
        description
        <br>
        as I have done below - look for (XXX Branch):
        <br>
        <br>
        ========================================
        <br>
        <br>
        For Linux users, who want to use a newer version than is
        available in
        <br>
        their distro repository, we offer an AppImage version which
        reflects
        <br>
        the current stable version (XXX Branch) including the latest
        fixes. It
        <br>
        is build on a daily basis straight from the source.
        <br>
        <br>
        Here's how you install and run it:
        <br>
        <br>
        Download the file from
        <br>
<a class="moz-txt-link-freetext" href="https://binary-factory.kde.org/job/KMyMoney_Stable_Appimage_Build/">https://binary-factory.kde.org/job/KMyMoney_Stable_Appimage_Build/</a> to
        <br>
        any location you like.
        <br>
        Change into the directory where you downloaded the file.
        <br>
        Make the file executable with chmod +x name-of-downloaded-file.
        <br>
        Execute the file with ./name-of-downloaded-file.
        <br>
        For the very adventurous Linux user, there is an AppImage with
        the
        <br>
        latest development version (XXX Branch) at
        <br>
<a class="moz-txt-link-freetext" href="https://binary-factory.kde.org/job/KMyMoney_Nightly_Appimage_Build/">https://binary-factory.kde.org/job/KMyMoney_Nightly_Appimage_Build/</a>.
        <br>
        <br>
        ----
        <br>
        Brendan Coupe
        <br>
        <br>
        On Thu, Jul 11, 2019 at 1:35 AM Thomas Baumgart
        <a class="moz-txt-link-rfc2396E" href="mailto:thb@net-bembel.de"><thb@net-bembel.de></a> wrote:
        <br>
        <blockquote type="cite">On Donnerstag, 11. Juli 2019 03:02:04
          CEST Brendan Coupe wrote:
          <br>
          <br>
          <blockquote type="cite">That's what I thought but I thought
            some of the recent changes Thomas
            <br>
            made for me ended up in the 5.0 branch before they made it
            to the
            <br>
            Master branch.
            <br>
          </blockquote>
          Yes, that is true. Using git, one can merge a branch (A) into
          another (B). That means, that all changes in (A) go into (B).
          <br>
          <br>
          For KMyMoney at the moment I use 5.0 as (A) and master as (B).
          So far, we don't see massive conflicts as the code base is
          pretty similar.
          <br>
          <br>
          Using it the other way around, all changes of master
          (unstable) will end up in 5.0 (stable) which is not what I/we
          want as master already contains code that is not in a state I
          would call stable - even though it might be working w/o
          problems. There is more of it here on my local system which is
          not yet complete and sometimes not compilable/workable so I
          don't want to add that to master as of yet.
          <br>
          <br>
          So adding fixes of bugs to the 5.0 branch and merging 5.0 now
          and then back to master is what I/we do. If a fix goes into
          master and we want to have it on 5.0 we need to cherry-pick
          each one of them individually. Merging OTOH is one operation.
          See
          <br>
          <br>
          ???? git log 8e49874f..ce17b1ee
          <br>
          <br>
          for such a cherry-pick example which happened lately. Hope
          that explains it.
          <br>
          <br>
          Note: I use 5.0 as my production environment and master for
          future development. You should probably do the same ;)
          <br>
          <br>
          Thomas
          <br>
          <br>
          --
          <br>
          <br>
          Regards
          <br>
          <br>
          Thomas Baumgart
          <br>
          <br>
          <a class="moz-txt-link-freetext" href="https://www.signal.org/">https://www.signal.org/</a>???????????? Signal, the better WhatsApp
          <br>
          -------------------------------------------------------------
          <br>
          BTW, just the planning of the test cases helped me
          <br>
          to improve the code a lot. -- Alvaro Soliverez
          <br>
          -------------------------------------------------------------
          <br>
        </blockquote>
      </blockquote>
    </blockquote>
  </body>
</html>