From a8ca0660fa0917e27a0b39c8193ebcbdfef8c00b Mon Sep 17 00:00:00 2001 From: malte_langkabel Date: Wed, 11 Jan 2017 11:58:33 +0100 Subject: [PATCH] ui: Coati states if it requires 32 or 64 bit Java * also updated documentation --- src/lib/CMakeLists.txt | 3 ++- src/lib/utility/ApplicationArchitectureType.h | 11 +++++++++ .../QtProjectWizzardContentPreferences.cpp | 23 ++++++++++++++++--- src/lib_gui/utility/utilityApp.cpp | 14 +++++++++++ src/lib_gui/utility/utilityApp.h | 4 ++++ web/documentation/index.html | 2 +- 6 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 src/lib/utility/ApplicationArchitectureType.h diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index 62892156..103790e3 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -362,7 +362,8 @@ add_files( utility/text/TextAccess.cpp utility/text/TextAccess.h - + + utility/ApplicationArchitectureType.h utility/AppPath.cpp utility/AppPath.h utility/Cache.h diff --git a/src/lib/utility/ApplicationArchitectureType.h b/src/lib/utility/ApplicationArchitectureType.h new file mode 100644 index 00000000..c2ca05e2 --- /dev/null +++ b/src/lib/utility/ApplicationArchitectureType.h @@ -0,0 +1,11 @@ +#ifndef APPLICATION_ARCHITECTURE_TYPE +#define APPLICATION_ARCHITECTURE_TYPE + +enum ApplicationArchitectureType +{ + APPLICATION_ARCHITECTURE_UNKNOWN, + APPLICATION_ARCHITECTURE_X86_32, + APPLICATION_ARCHITECTURE_X86_64 +}; + +#endif // APPLICATION_ARCHITECTURE_TYPE diff --git a/src/lib_gui/qt/window/project_wizzard/QtProjectWizzardContentPreferences.cpp b/src/lib_gui/qt/window/project_wizzard/QtProjectWizzardContentPreferences.cpp index 0b884782..b880eb69 100644 --- a/src/lib_gui/qt/window/project_wizzard/QtProjectWizzardContentPreferences.cpp +++ b/src/lib_gui/qt/window/project_wizzard/QtProjectWizzardContentPreferences.cpp @@ -5,6 +5,7 @@ #include "utility/messaging/type/MessageSwitchColorScheme.h" #include "utility/ResourcePaths.h" #include "utility/utilityPathDetection.h" +#include "utility/utilityApp.h" QtProjectWizzardContentPreferences::QtProjectWizzardContentPreferences( std::shared_ptr settings, QtProjectWizzardWindow* window @@ -135,10 +136,26 @@ void QtProjectWizzardContentPreferences::populate(QGridLayout* layout, int& row) } addLabelAndWidget("Java Path", m_javaPath, layout, row); - addHelpButton( - "Location of your Java 8 runtime dynamic library (for information on how to set these take a look at " + + std::string javaVersionString = ""; + switch (utility::getApplicationArchitectureType()) + { + case APPLICATION_ARCHITECTURE_X86_32: + javaVersionString = "32 Bit "; + break; + case APPLICATION_ARCHITECTURE_X86_64: + javaVersionString = "64 Bit "; + break; + default: + break; + } + javaVersionString += "Java 8"; + + addHelpButton(( + "Provide the location of the jvm library inside the installation of your " + javaVersionString + + " runtime environment (for information on how to set these take a look at " "" - "Finding Java Runtime Library Location or use the auto detection below)" + "Finding Java Runtime Library Location or use the auto detection below)").c_str() , layout, row ); row++; diff --git a/src/lib_gui/utility/utilityApp.cpp b/src/lib_gui/utility/utilityApp.cpp index 76fa2a60..d1aae498 100644 --- a/src/lib_gui/utility/utilityApp.cpp +++ b/src/lib_gui/utility/utilityApp.cpp @@ -1,6 +1,8 @@ #include "utility/utilityApp.h" #include +#include + #include "utility/utilityString.h" std::string utility::executeProcess(const char *cmd) @@ -15,3 +17,15 @@ std::string utility::executeProcess(const char *cmd) return processoutput; } + +ApplicationArchitectureType utility::getApplicationArchitectureType() +{ +#ifdef Q_PROCESSOR_X86_64 + return APPLICATION_ARCHITECTURE_X86_64; +#endif + +#ifdef Q_PROCESSOR_X86_32 + return APPLICATION_ARCHITECTURE_X86_32; +#endif + return APPLICATION_ARCHITECTURE_UNKNOWN; +} diff --git a/src/lib_gui/utility/utilityApp.h b/src/lib_gui/utility/utilityApp.h index ee6170ad..c28865f1 100644 --- a/src/lib_gui/utility/utilityApp.h +++ b/src/lib_gui/utility/utilityApp.h @@ -3,9 +3,13 @@ #include +#include "utility/ApplicationArchitectureType.h" + namespace utility { std::string executeProcess(const char* cmd); + + ApplicationArchitectureType getApplicationArchitectureType(); } diff --git a/web/documentation/index.html b/web/documentation/index.html index 556ad86d..b6ef5756 100644 --- a/web/documentation/index.html +++ b/web/documentation/index.html @@ -483,7 +483,7 @@

Finding Java Runtime Library Location

-

The current version of Coati requires Java 8 to index any Java project. To locate the required library file, please refer to the applicable description below.

+

The current version of Coati requires an installation of the Java 8 runtime environment to index any Java project. Make sure that Coati and your JRE share the same kind or architecture (a 32 bit Coati requires a 32 bit JRE). To locate the required library file, please refer to the applicable description below.

On Windows

The Java Runtime Library (called jvm.dll) can be found inside of your JRE install folder and looks like this: