build: offer windows 64 bit build (issue #300)
* update to clang/llvm to 3.9 * update to qt 5.8 * fixed windows javapathdetector for 64 bit java. * added LibGui as dependency to tests * fixed legacy Java 6 install necessary on MacOS * fixed setting of user path for 64 bit build * added missing pngs to windows installer * renamed graph zoom button images * reverted moving of setupLogging call to fix crash on deployed exe fortune cookie message = An old acquaintance will enter your life.
This commit is contained in:
+4
-2
@@ -102,8 +102,6 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication::setApplicationName("Coati");
|
||||
|
||||
setupLogging();
|
||||
|
||||
if (QSysInfo::windowsVersion() != QSysInfo::WV_None)
|
||||
{
|
||||
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);
|
||||
@@ -129,6 +127,8 @@ int main(int argc, char *argv[])
|
||||
|
||||
setupApp(argc, argv);
|
||||
|
||||
setupLogging();
|
||||
|
||||
Application::createInstance(version, nullptr, nullptr);
|
||||
ScopedFunctor f([](){
|
||||
Application::destroyInstance();
|
||||
@@ -179,6 +179,8 @@ int main(int argc, char *argv[])
|
||||
|
||||
setupApp(argc, argv);
|
||||
|
||||
setupLogging();
|
||||
|
||||
qtApp.setAttribute(Qt::AA_UseHighDpiPixmaps);
|
||||
|
||||
QtViewFactory viewFactory;
|
||||
|
||||
@@ -66,8 +66,6 @@ Task::TaskState TaskReturnSuccessWhile<T>::doUpdate(std::shared_ptr<Blackboard>
|
||||
return STATE_SUCCESS;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return STATE_FAILURE;
|
||||
}
|
||||
return STATE_FAILURE;
|
||||
}
|
||||
|
||||
@@ -129,6 +129,8 @@ void CxxAstVisitorComponentDeclRefKind::visitCastExpr(clang::CastExpr* s)
|
||||
case clang::CK_ToVoid:
|
||||
case clang::CK_LValueToRValue:
|
||||
m_childRefKind = REFERENCE_USAGE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -377,7 +377,7 @@ void CxxAstVisitorComponentIndexer::visitTypeLoc(clang::TypeLoc tl)
|
||||
if ((shouldVisitReference(tl.getBeginLoc(), getAstVisitor()->getComponent<CxxAstVisitorComponentContext>()->getTopmostContextDecl())) &&
|
||||
(!getAstVisitor()->checkIgnoresTypeLoc(tl)))
|
||||
{
|
||||
if (const clang::BuiltinType* builtinType = clang::dyn_cast_or_null<clang::BuiltinType>(tl.getTypePtr()))
|
||||
if (clang::dyn_cast_or_null<clang::BuiltinType>(tl.getTypePtr()))
|
||||
{
|
||||
m_client->recordSymbol(getAstVisitor()->getTypeNameCache()->getValue(tl.getTypePtr()), SYMBOL_BUILTIN_TYPE, ACCESS_NONE, DEFINITION_EXPLICIT);
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
#include "utility/file/FileSystem.h"
|
||||
#include "utility/UserPaths.h"
|
||||
#include "utility/utilityApp.h"
|
||||
|
||||
#include "platform_includes/deploy.h"
|
||||
|
||||
@@ -19,7 +20,15 @@ void setupApp(int argc, char *argv[])
|
||||
{
|
||||
#ifdef DEPLOY
|
||||
std::string path = std::getenv("APPDATA");
|
||||
path += "/../local/Coati Software/Coati/";
|
||||
path += "/../local/Coati Software/";
|
||||
if (utility::getApplicationArchitectureType() == APPLICATION_ARCHITECTURE_X86_64)
|
||||
{
|
||||
path += "Coati 64-bit/";
|
||||
}
|
||||
else
|
||||
{
|
||||
path += "Coati/";
|
||||
}
|
||||
UserPaths::setUserDataPath(path);
|
||||
#else
|
||||
std::string path = QDir::currentPath().toStdString();
|
||||
|
||||
@@ -139,12 +139,12 @@ void QtGraphicsView::updateZoom(float delta)
|
||||
void QtGraphicsView::refreshStyle()
|
||||
{
|
||||
m_zoomInButton->setIcon(utility::createButtonIcon(
|
||||
ResourcePaths::getGuiPath() + "graph_view/images/zoomin.png",
|
||||
ResourcePaths::getGuiPath() + "graph_view/images/zoom_in.png",
|
||||
"search/button"
|
||||
));
|
||||
|
||||
m_zoomOutButton->setIcon(utility::createButtonIcon(
|
||||
ResourcePaths::getGuiPath() + "graph_view/images/zoomout.png",
|
||||
ResourcePaths::getGuiPath() + "graph_view/images/zoom_out.png",
|
||||
"search/button"
|
||||
));
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@ void QtProjectWizzardContentPreferences::populate(QGridLayout* layout, int& row)
|
||||
#ifdef _WIN32
|
||||
QString filter = "JVM Library (jvm.dll)";
|
||||
#elif __APPLE__
|
||||
QString filter = "JVM Library (libjvm.dylib)";
|
||||
QString filter = "JLI or JVM Library (libjli.dylib libjvm.dylib)";
|
||||
#else
|
||||
QString filter = "JVM Library (libjvm.so)";
|
||||
#endif
|
||||
@@ -128,7 +128,7 @@ void QtProjectWizzardContentPreferences::populate(QGridLayout* layout, int& row)
|
||||
}
|
||||
else if (QSysInfo::macVersion() != QSysInfo::MV_None)
|
||||
{
|
||||
m_javaPath->setPlaceholderText("<jre_path>Contents/Home/jre/lib/server/libjvm.dylib");
|
||||
m_javaPath->setPlaceholderText("<jre_path>/Contents/Home/jre/lib/jli/libjli.dylib");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -21,6 +21,16 @@ std::vector<FilePath> JavaPathDetectorMac::getPaths() const
|
||||
std::string output = utility::executeProcess(command.c_str());
|
||||
|
||||
if (output.size())
|
||||
{
|
||||
javaPath = FilePath(utility::trim(output) + "/jre/lib/jli/libjli.dylib");
|
||||
}
|
||||
|
||||
if (!javaPath.exists())
|
||||
{
|
||||
javaPath = FilePath("/usr/lib/libjli.dylib");
|
||||
}
|
||||
|
||||
if (!javaPath.exists() && output.size())
|
||||
{
|
||||
javaPath = FilePath(utility::trim(output) + "/jre/lib/server/libjvm.dylib");
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
#include <QSettings>
|
||||
#include <QSysInfo>
|
||||
|
||||
#include "utility/utilityApp.h"
|
||||
|
||||
JavaPathDetectorWindows::JavaPathDetectorWindows(const std::string javaVersion)
|
||||
: JavaPathDetector("Java " + javaVersion + " for Windows", javaVersion)
|
||||
{
|
||||
@@ -16,7 +18,10 @@ std::vector<FilePath> JavaPathDetectorWindows::getPaths() const
|
||||
{
|
||||
QString key = "HKEY_LOCAL_MACHINE\\SOFTWARE\\";
|
||||
|
||||
key += "Wow6432Node\\"; // we need java 32 bit
|
||||
if (utility::getApplicationArchitectureType() == APPLICATION_ARCHITECTURE_X86_32)
|
||||
{
|
||||
key += "Wow6432Node\\";
|
||||
}
|
||||
|
||||
key += ("JavaSoft\\Java Runtime Environment\\" + m_javaVersion).c_str();
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "cxxtest/TestSuite.h"
|
||||
|
||||
|
||||
#include "settings/ApplicationSettings.h"
|
||||
#include "utility/utilityPathDetection.h"
|
||||
#include "utility/file/FileRegister.h"
|
||||
#include "utility/text/TextAccess.h"
|
||||
#include "utility/utility.h"
|
||||
@@ -21,6 +22,12 @@ public:
|
||||
|
||||
void test_java_parser_can_setup_environment_factory()
|
||||
{
|
||||
std::vector<FilePath> javaPaths = utility::getJavaRuntimePathDetector()->getPaths();
|
||||
if (!javaPaths.empty())
|
||||
{
|
||||
ApplicationSettings::getInstance()->setJavaPath(javaPaths[0].str());
|
||||
}
|
||||
|
||||
setupJavaEnvironmentFactory();
|
||||
|
||||
// if this one fails, maybe your java_path in the test settings is wrong.
|
||||
@@ -501,7 +508,7 @@ public:
|
||||
TS_ASSERT(utility::containsElement<std::string>(
|
||||
client->calls, "void foo.X.B.bar() -> void foo.X.A.bar() <15:10 15:12>"
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
void test_java_parser_finds_usage_of_field_with_same_name_as_method_parameter()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user