@@ -36,21 +36,21 @@ if(DO_FRAMEWORK_UPDATE)
3636 message (STATUS "Framework update mode: ${__framework_update_mode} " )
3737
3838 if (__framework_update_mode STREQUAL "folder" )
39- if (NOT __framework_update_folder_loc)
39+ if (NOT __framework_update_folder_loc)
4040 do_error ("FRAMEWORK_UPDATE_MODE is 'folder', but FRAMEWORK_UPDATE_FOLDER_LOC is not defined!" )
4141 endif ()
4242
4343 file (COPY "${__framework_update_folder_loc} /" DESTINATION ${FRAMEWORK_UPDATE_DIR}
4444 PATTERN ".idi-framework-update" EXCLUDE
4545 PATTERN "build" EXCLUDE
4646 PATTERN ".git" EXCLUDE
47- )
47+ )
4848
4949 if (NOT (EXISTS "${FRAMEWORK_UPDATE_DIR} /cmake/idi/updater/updater_version.cmake" ))
5050 do_error ("The folder provided via FRAMEWORK_UPDATE_FOLDER_LOC does not appear to be a valid template update!" )
5151 endif ()
5252 elseif (__framework_update_mode STREQUAL "file" )
53- if (NOT __framework_update_file_loc)
53+ if (NOT __framework_update_file_loc)
5454 do_error ("FRAMEWORK_UPDATE_MODE is 'file', but FRAMEWORK_UPDATE_FILE_LOC is not defined!" )
5555 endif ()
5656
@@ -82,17 +82,17 @@ if(DO_FRAMEWORK_UPDATE)
8282 set (OLD_IDICMAKE_BASE_REQ_CML_V ${IDICMAKE_BASE_REQ_CML_V} )
8383
8484 include ("${FRAMEWORK_UPDATE_DIR} /cmake/idi/updater/updater_version.cmake" )
85+ if (EXISTS "${FRAMEWORK_UPDATE_DIR} /cmake/idi/version.cmake" )
86+ include ("${FRAMEWORK_UPDATE_DIR} /cmake/idi/version.cmake" )
87+ endif ()
8588
86- if ((OLD_IDICMAKE_CPP_UPDATER_VERSION EQUAL IDICMAKE_CPP_UPDATER_VERSION) AND
87- (OLD_IDICMAKE_CPP_FRAMEWORK_VERSION_MAJOR EQUAL IDICMAKE_CPP_FRAMEWORK_VERSION_MAJOR) AND
88- (OLD_IDICMAKE_CPP_FRAMEWORK_VERSION_MINOR EQUAL IDICMAKE_CPP_FRAMEWORK_VERSION_MINOR) AND
89- (OLD_IDICMAKE_CPP_FRAMEWORK_VERSION_HOTFIX EQUAL IDICMAKE_CPP_FRAMEWORK_VERSION_HOTFIX) AND
90- (OLD_IDICMAKE_ROOT_REQ_CML_V EQUAL IDICMAKE_ROOT_REQ_CML_V) AND
91- (OLD_IDICMAKE_SRC_REQ_CML_V EQUAL IDICMAKE_SRC_REQ_CML_V) AND
92- (OLD_IDICMAKE_BASE_REQ_CML_V EQUAL IDICMAKE_BASE_REQ_CML_V)
93- )
89+ set (__old_ver "${OLD_IDICMAKE_CPP_FRAMEWORK_VERSION_MAJOR} .${OLD_IDICMAKE_CPP_FRAMEWORK_VERSION_MINOR} .${OLD_IDICMAKE_CPP_FRAMEWORK_VERSION_HOTFIX} " )
90+ set (__new_ver "${IDICMAKE_CPP_FRAMEWORK_VERSION_MAJOR} .${IDICMAKE_CPP_FRAMEWORK_VERSION_MINOR} .${IDICMAKE_CPP_FRAMEWORK_VERSION_HOTFIX} " )
91+
92+ if ((__old_ver VERSION_GREATER_EQUAL __new_ver) AND
93+ (OLD_IDICMAKE_CPP_UPDATER_VERSION GREATER_EQUAL IDICMAKE_CPP_UPDATER_VERSION))
9494 if (NOT __framework_update_force)
95- do_error ("Framework is already up-to-date! Run with FRAMEWORK_UPDATE_FORCE to force an update." )
95+ do_error ("Framework is already up-to-date or newer! Local: ${__old_ver} (updater v ${OLD_IDICMAKE_CPP_UPDATER_VERSION} ), Update: ${__new_ver} (updater v ${IDICMAKE_CPP_UPDATER_VERSION} ). Run with FRAMEWORK_UPDATE_FORCE to force an update." )
9696 endif ()
9797 endif ()
9898
0 commit comments