diff --git a/qtcreator.pri b/qtcreator.pri index c34143803c9..69ee0696ea7 100644 --- a/qtcreator.pri +++ b/qtcreator.pri @@ -73,29 +73,46 @@ isEmpty(IDE_BUILD_TREE) { IDE_BUILD_TREE = $$clean_path($$OUT_PWD) IDE_BUILD_TREE ~= s,$$re_escape($$sub_dir)$,, } + IDE_APP_PATH = $$IDE_BUILD_TREE/bin -macx { +osx { IDE_APP_TARGET = "Qt Creator" - IDE_LIBRARY_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/Frameworks - IDE_PLUGIN_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/PlugIns - IDE_LIBEXEC_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/Resources - IDE_DATA_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/Resources + + IDE_APP_BUNDLE = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app + + # set output path if not set manually + isEmpty(IDE_OUTPUT_PATH): IDE_OUTPUT_PATH = $$IDE_APP_BUNDLE/Contents + + IDE_LIBRARY_PATH = $$IDE_OUTPUT_PATH/Frameworks + IDE_PLUGIN_PATH = $$IDE_OUTPUT_PATH/PlugIns + IDE_LIBEXEC_PATH = $$IDE_OUTPUT_PATH/Resources + IDE_DATA_PATH = $$IDE_OUTPUT_PATH/Resources IDE_DOC_PATH = $$IDE_DATA_PATH/doc - IDE_BIN_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/MacOS + IDE_BIN_PATH = $$IDE_OUTPUT_PATH/MacOS copydata = 1 + + LINK_LIBRARY_PATH = $$IDE_APP_BUNDLE/Contents/Frameworks + LINK_PLUGIN_PATH = $$IDE_APP_BUNDLE/Contents/PlugIns } else { contains(TEMPLATE, vc.*):vcproj = 1 IDE_APP_TARGET = qtcreator - IDE_LIBRARY_PATH = $$IDE_BUILD_TREE/$$IDE_LIBRARY_BASENAME/qtcreator + + # target output path if not set manually + isEmpty(IDE_OUTPUT_PATH): IDE_OUTPUT_PATH = $$IDE_BUILD_TREE + + IDE_LIBRARY_PATH = $$IDE_OUTPUT_PATH/$$IDE_LIBRARY_BASENAME/qtcreator IDE_PLUGIN_PATH = $$IDE_LIBRARY_PATH/plugins - IDE_DATA_PATH = $$IDE_BUILD_TREE/share/qtcreator - IDE_DOC_PATH = $$IDE_BUILD_TREE/share/doc/qtcreator - IDE_BIN_PATH = $$IDE_APP_PATH + IDE_DATA_PATH = $$IDE_OUTPUT_PATH/share/qtcreator + IDE_DOC_PATH = $$IDE_OUTPUT_PATH/share/doc/qtcreator + IDE_BIN_PATH = $$IDE_OUTPUT_PATH/bin win32: \ - IDE_LIBEXEC_PATH = $$IDE_APP_PATH + IDE_LIBEXEC_PATH = $$IDE_OUTPUT_PATH/bin else: \ - IDE_LIBEXEC_PATH = $$IDE_BUILD_TREE/libexec/qtcreator - !isEqual(IDE_SOURCE_TREE, $$IDE_BUILD_TREE):copydata = 1 + IDE_LIBEXEC_PATH = $$IDE_OUTPUT_PATH/libexec/qtcreator + !isEqual(IDE_SOURCE_TREE, $$IDE_OUTPUT_PATH):copydata = 1 + + LINK_LIBRARY_PATH = $$IDE_BUILD_TREE/$$IDE_LIBRARY_BASENAME/qtcreator + LINK_PLUGIN_PATH = $$LINK_LIBRARY_PATH/plugins INSTALL_LIBRARY_PATH = $$QTC_PREFIX/$$IDE_LIBRARY_BASENAME/qtcreator INSTALL_PLUGIN_PATH = $$INSTALL_LIBRARY_PATH/plugins @@ -124,7 +141,8 @@ CONFIG += \ depend_includepath \ no_include_pwd -LIBS += -L$$IDE_LIBRARY_PATH +LIBS *= -L$$LINK_LIBRARY_PATH # Qt Creator libraries +exists($$IDE_LIBRARY_PATH): LIBS *= -L$$IDE_LIBRARY_PATH # library path from output path !isEmpty(vcproj) { DEFINES += IDE_LIBRARY_BASENAME=\"$$IDE_LIBRARY_BASENAME\" @@ -162,7 +180,11 @@ qt { QBSFILE = $$replace(_PRO_FILE_, \\.pro$, .qbs) exists($$QBSFILE):DISTFILES += $$QBSFILE -!isEmpty(QTC_PLUGIN_DEPENDS):LIBS *= -L$$IDE_PLUGIN_PATH +!isEmpty(QTC_PLUGIN_DEPENDS) { + LIBS *= -L$$IDE_PLUGIN_PATH # plugin path from output directory + LIBS *= -L$$LINK_PLUGIN_PATH # when output path is different from Qt Creator build directory +} + # recursively resolve plugin deps done_plugins = for(ever) { diff --git a/src/app/main.cpp b/src/app/main.cpp index f8ce9a87f44..bb10f99790a 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -299,8 +299,6 @@ int main(int argc, char **argv) && !qEnvironmentVariableIsSet("QT_DEVICE_PIXEL_RATIO")) { qputenv("QT_DEVICE_PIXEL_RATIO", "auto"); } -#else - qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1"); #endif // < Qt 5.6 QLoggingCategory::setFilterRules(QLatin1String("qtc.*.debug=false")); diff --git a/src/plugins/cpptools/cppcompletion_test.cpp b/src/plugins/cpptools/cppcompletion_test.cpp index 7a6dce2a3a6..d57742ca317 100644 --- a/src/plugins/cpptools/cppcompletion_test.cpp +++ b/src/plugins/cpptools/cppcompletion_test.cpp @@ -333,7 +333,6 @@ void CppToolsPlugin::test_completion() QEXPECT_FAIL("template_specialization_with_reference", "test of reverted change", Abort); QEXPECT_FAIL("specialization_multiple_arguments", "test of reverted change", Abort); QEXPECT_FAIL("specialization_with_default_value", "test of reverted change", Abort); - QEXPECT_FAIL("partial_specialization_with_pointer", "test of reverted change", Abort); QEXPECT_FAIL("enum_in_function_in_struct_in_function", "QTCREATORBUG-13757", Abort); QEXPECT_FAIL("enum_in_function_in_struct_in_function_cxx11", "QTCREATORBUG-13757", Abort); QEXPECT_FAIL("enum_in_function_in_struct_in_function_anon", "QTCREATORBUG-13757", Abort); @@ -2704,21 +2703,21 @@ void CppToolsPlugin::test_completion_data() << QLatin1String("i") << QLatin1String("s")); - QTest::newRow("partial_specialization_with_pointer") << _( - "struct b {};\n" - "struct a : b {};\n" - "template struct s { float f; };\n" - "template struct s { int i; };\n" - "template struct s { char j; };\n" - "\n" - "void f()\n" - "{\n" - " s var;\n" - " @\n" - "}\n" - ) << _("var.") << (QStringList() - << QLatin1String("j") - << QLatin1String("s")); +// QTest::newRow("partial_specialization_with_pointer") << _( +// "struct b {};\n" +// "struct a : b {};\n" +// "template struct s { float f; };\n" +// "template struct s { int i; };\n" +// "template struct s { char j; };\n" +// "\n" +// "void f()\n" +// "{\n" +// " s var;\n" +// " @\n" +// "}\n" +// ) << _("var.") << (QStringList() +// << QLatin1String("j") +// << QLatin1String("s")); QTest::newRow("partial_specialization_templated_argument") << _( "template struct t {};\n" diff --git a/src/plugins/git/mergetool.cpp b/src/plugins/git/mergetool.cpp index c273ef629ae..cc58e6ff07a 100644 --- a/src/plugins/git/mergetool.cpp +++ b/src/plugins/git/mergetool.cpp @@ -250,7 +250,7 @@ void MergeTool::readData() m_localState = waitAndReadStatus(m_localInfo); m_remoteState = waitAndReadStatus(m_remoteInfo); chooseAction(); - } else if (m_merging && line.startsWith("Continue merging")) { + } else if (line.startsWith("Continue merging")) { if (QMessageBox::question(Core::ICore::dialogParent(), tr("Continue Merging"), tr("Continue merging other unresolved paths?"), QMessageBox::Yes | QMessageBox::No,