diff --git a/ArduSub/Sub.cpp b/ArduSub/Sub.cpp index 9a5057a0f5..c16204d76a 100644 --- a/ArduSub/Sub.cpp +++ b/ArduSub/Sub.cpp @@ -13,7 +13,10 @@ along with this program. If not, see . */ #include "Sub.h" + +#define FORCE_VERSION_H_INCLUDE #include "version.h" +#undef FORCE_VERSION_H_INCLUDE const AP_HAL::HAL& hal = AP_HAL::get_HAL(); diff --git a/ArduSub/Sub.h b/ArduSub/Sub.h index 53eedd6858..94691c53ed 100644 --- a/ArduSub/Sub.h +++ b/ArduSub/Sub.h @@ -82,7 +82,6 @@ #include "Parameters.h" #include "AP_Arming_Sub.h" #include "GCS_Sub.h" -#include "version.h" // libraries which are dependent on #defines in defines.h and/or config.h #if OPTFLOW == ENABLED @@ -136,18 +135,7 @@ public: void loop() override; private: - - const AP_FWVersion fwver { - major: FW_MAJOR, - minor: FW_MINOR, - patch: FW_PATCH, - fw_type: FW_TYPE, -#ifndef GIT_VERSION - fw_string: THISFIRMWARE -#else - fw_string: THISFIRMWARE " (" GIT_VERSION ")" -#endif - }; + static const AP_FWVersion fwver; // key aircraft parameters passed to multiple libraries AP_Vehicle::MultiCopter aparm; diff --git a/ArduSub/version.cpp b/ArduSub/version.cpp new file mode 100644 index 0000000000..48bc1e6026 --- /dev/null +++ b/ArduSub/version.cpp @@ -0,0 +1,41 @@ +/* + * This file is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include "Sub.h" + +#define FORCE_VERSION_H_INCLUDE +#include "version.h" +#undef FORCE_VERSION_H_INCLUDE + +#include + +const AP_FWVersion Sub::fwver{ + .major = FW_MAJOR, + .minor = FW_MINOR, + .patch = FW_PATCH, + .fw_type = FW_TYPE, +#ifndef GIT_VERSION + .fw_string = THISFIRMWARE, +#else + .fw_string = THISFIRMWARE " (" GIT_VERSION ")", + .fw_hash_str = GIT_VERSION, +#endif +#ifdef PX4_GIT_VERSION + .middleware_hash_str = PX4_GIT_VERSION, +#endif +#ifdef NUTTX_GIT_VERSION + .os_hash_str = NUTTX_GIT_VERSION, +#endif +};