diff options
author | dec05eba <dec05eba@protonmail.com> | 2018-10-05 05:02:49 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2020-07-06 07:39:33 +0200 |
commit | 5250cb90406693163763a214af95f670e0e3a4e0 (patch) | |
tree | 7025c762d4f53aebfdc140d615306f558fa9b69a /include | |
parent | 3059b1cb8d701cf23f3e04a8a8fdcfcaa6a397fb (diff) |
Add cross compilation (mingw-w64 x86_64)
Currently only cross compiling from linux64 to win64 works.
Need to test cross compilation more, currently the cross compilation
uses same profile as GCC, is that correct?
Diffstat (limited to 'include')
-rw-r--r-- | include/Conf.hpp | 7 | ||||
-rw-r--r-- | include/FileUtil.hpp | 1 | ||||
-rw-r--r-- | include/PkgConfig.hpp | 2 | ||||
-rw-r--r-- | include/Platform.hpp | 1 |
4 files changed, 9 insertions, 2 deletions
diff --git a/include/Conf.hpp b/include/Conf.hpp index 17ecc6b..15c8471 100644 --- a/include/Conf.hpp +++ b/include/Conf.hpp @@ -107,7 +107,8 @@ namespace sibs enum class Compiler { GCC, - MSVC + MSVC, + MINGW_W64 }; enum class CVersion @@ -303,7 +304,8 @@ namespace sibs showWarnings(false), zigTestAllFiles(false), packaging(false), - bundling(false) + bundling(false), + platform(SYSTEM_PLATFORM) { cmakeDirGlobal = projectPath; cmakeDirStatic = cmakeDirGlobal; @@ -504,6 +506,7 @@ namespace sibs bool packaging; bool bundling; std::string version; + Platform platform; protected: virtual void processObject(StringView name) override; virtual void processField(StringView name, const ConfigValue &value) override; diff --git a/include/FileUtil.hpp b/include/FileUtil.hpp index 3e2e302..0106c19 100644 --- a/include/FileUtil.hpp +++ b/include/FileUtil.hpp @@ -60,6 +60,7 @@ namespace sibs Result<FileString> getRealPath(const _tinydir_char_t *path); bool pathEquals(const std::string &path, const std::string &otherPath); Result<u64> getFileLastModifiedTime(const _tinydir_char_t *path); + Result<bool> copyFile(const FileString &src, const FileString &dst); } #endif //SIBS_FILEUTIL_HPP diff --git a/include/PkgConfig.hpp b/include/PkgConfig.hpp index 2a52f2b..9181a2f 100644 --- a/include/PkgConfig.hpp +++ b/include/PkgConfig.hpp @@ -5,6 +5,7 @@ #include "Result.hpp" #include <string> #include <vector> +#include "FileUtil.hpp" namespace sibs { @@ -19,6 +20,7 @@ namespace sibs class PkgConfig { public: + static void setPkgConfigPath(const FileString &path); static Result<bool> validatePkgConfigPackageVersionExists(PackageListDependency *dependency); static Result<bool> validatePackageExists(const std::string &name); static Result<bool> validatePackageVersionAtLeast(const std::string &name, const std::string &version); diff --git a/include/Platform.hpp b/include/Platform.hpp index 995d307..74b3a3d 100644 --- a/include/Platform.hpp +++ b/include/Platform.hpp @@ -50,4 +50,5 @@ namespace sibs bool containsPlatform(const std::vector<Platform> &platforms, Platform platform); const char* asString(Platform platform); Platform getPlatformByName(StringView name); + bool isSamePlatformFamily(Platform a, Platform b); }
\ No newline at end of file |