regist- Automatically create Kits on creation
This commit is contained in:
		@@ -5,9 +5,19 @@ endif()
 | 
			
		||||
project(ubuntu-sdk-ide C CXX)
 | 
			
		||||
 | 
			
		||||
include(ExternalProject)
 | 
			
		||||
 | 
			
		||||
include(ProcessorCount)
 | 
			
		||||
 | 
			
		||||
function(ConcatStrings targetVar )
 | 
			
		||||
  if(NOT DEFINED ${targetVar})
 | 
			
		||||
    message(SEND_ERROR "Error, the variable ${targetVar} is not defined!")
 | 
			
		||||
  endif()
 | 
			
		||||
  set(loc_val ${${targetVar}})
 | 
			
		||||
  foreach(curr_substr ${ARGN})
 | 
			
		||||
      set(loc_val "${loc_val}${curr_substr}")
 | 
			
		||||
  endforeach()
 | 
			
		||||
  set(${targetVar} ${loc_val} PARENT_SCOPE)
 | 
			
		||||
endfunction()
 | 
			
		||||
 | 
			
		||||
ProcessorCount(JOBS)
 | 
			
		||||
if(NOT JOBS EQUAL 0)
 | 
			
		||||
  set(GENERATED_MAKE_FLAGS -j${JOBS})
 | 
			
		||||
@@ -38,8 +48,13 @@ ExternalProject_Add(${QT_VERSION}
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
SET (DBUSMENU_PREFIX "${CMAKE_BINARY_DIR}/libdbusmenu-qt-build")
 | 
			
		||||
SET (DBUSMENU_BUILD_SCRIPT
 | 
			
		||||
  "${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${QT_INSTALL_DIR} -DCMAKE_PREFIX_PATH=${QT_INSTALL_DIR} -DUSE_QT5=true -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_LIBDIR=lib ${DBUSMENU_PREFIX}/libdbusmenu-qt"
 | 
			
		||||
ConcatStrings (DBUSMENU_BUILD_SCRIPT
 | 
			
		||||
  "${CMAKE_COMMAND} "
 | 
			
		||||
  "-DCMAKE_INSTALL_PREFIX=${QT_INSTALL_DIR} "
 | 
			
		||||
  "-DCMAKE_PREFIX_PATH=${QT_INSTALL_DIR} "
 | 
			
		||||
  "-DUSE_QT5=true "
 | 
			
		||||
  "-DCMAKE_BUILD_TYPE=RelWithDebInfo "
 | 
			
		||||
  "-DCMAKE_INSTALL_LIBDIR=lib ${DBUSMENU_PREFIX}/libdbusmenu-qt "
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
ExternalProject_Add(libdbusmenu-qt
 | 
			
		||||
@@ -68,7 +83,15 @@ ExternalProject_Add(appmenu-qt5
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
SET (QTCREATOR_PREFIX "${CMAKE_BINARY_DIR}/qtcreator-build")
 | 
			
		||||
SET (QTC_PATCH_SCRIPT "bzr branch lp:qtcreator-plugin-ubuntu ${QTCREATOR_PREFIX}/qtcreator/src/plugins/ubuntu -Ossl.cert_reqs=none && sed -i 's/\\(welcome\\)/\\1 \\\\ \\n   ubuntu/g' ${QTCREATOR_PREFIX}/qtcreator/src/plugins/plugins.pro"
 | 
			
		||||
ConcatStrings(QTC_DOWNLOAD_SCRIPT
 | 
			
		||||
  "dget https://launchpad.net/ubuntu/+archive/primary/+files/qtcreator_3.5.0+dfsg-1ubuntu3.dsc "
 | 
			
		||||
  "&& rsync -auvr --delete-after qtcreator-3.5.0+dfsg/ ${QTCREATOR_PREFIX}/qtcreator"
 | 
			
		||||
)
 | 
			
		||||
ConcatStrings(QTC_PATCH_SCRIPT
 | 
			
		||||
  "cd ${QTCREATOR_PREFIX}/qtcreator "
 | 
			
		||||
  "&& patch -p1 ${CMAKE_SOURCE_DIR}/patches/qtc.patch "
 | 
			
		||||
  "&& bzr branch lp:qtcreator-plugin-ubuntu ${QTCREATOR_PREFIX}/qtcreator/src/plugins/ubuntu -Ossl.cert_reqs=none "
 | 
			
		||||
  "&& sed -i 's/\\(welcome\\)/\\1 \\\\ \\n   ubuntu/g' ${QTCREATOR_PREFIX}/qtcreator/src/plugins/plugins.pro"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
ExternalProject_Add(qtcreator_3.5.0
 | 
			
		||||
@@ -77,7 +100,7 @@ ExternalProject_Add(qtcreator_3.5.0
 | 
			
		||||
  SOURCE_DIR  "${QTCREATOR_PREFIX}/qtcreator"
 | 
			
		||||
  BINARY_DIR  "${QTCREATOR_PREFIX}/build"
 | 
			
		||||
  INSTALL_DIR "${CMAKE_BINARY_DIR}/ubuntu-sdk-ide"
 | 
			
		||||
  DOWNLOAD_COMMAND  sh -c "dget https://launchpad.net/ubuntu/+archive/primary/+files/qtcreator_3.5.0+dfsg-1ubuntu3.dsc && rsync -auvr --delete-after qtcreator-3.5.0+dfsg/ ${QTCREATOR_PREFIX}/qtcreator"
 | 
			
		||||
  DOWNLOAD_COMMAND  sh -c "${QTC_DOWNLOAD_SCRIPT}"
 | 
			
		||||
  PATCH_COMMAND     sh -c "${QTC_PATCH_SCRIPT}"
 | 
			
		||||
  CONFIGURE_COMMAND sh -c "${QT_INSTALL_DIR}/bin/qmake -r USE_SYSTEM_BOTAN=1 ${QTCREATOR_PREFIX}/qtcreator"
 | 
			
		||||
  BUILD_COMMAND     sh -c "QT_PRIVATE_HEADERS=${QT_INSTALL_DIR} LD_LIBRARY_PATH=${QT_INSTALL_DIR}/lib make ${GENERATED_MAKE_FLAGS}"
 | 
			
		||||
@@ -123,7 +146,7 @@ ExternalProject_Add(${QT_VERSION}-api
 | 
			
		||||
  INSTALL_DIR "${QT_KIT_PREFIX}/qt"
 | 
			
		||||
  DOWNLOAD_COMMAND  sh -c "cd ${QT_KIT_SOURCE_DIR} && ${CMAKE_SOURCE_DIR}/get_qt_sources.py"
 | 
			
		||||
  UPDATE_COMMAND    sh -c "exit 0" #nothing to update
 | 
			
		||||
  PATCH_COMMAND     sh -c "cp ${CMAKE_SOURCE_DIR}/desktop_kit_qt.pro ${QT_KIT_SOURCE_DIR}/qt.pro && cp ${CMAKE_SOURCE_DIR}/desktop_kit_configure ${QT_KIT_SOURCE_DIR}/configure" 
 | 
			
		||||
  PATCH_COMMAND     sh -c "cp ${CMAKE_SOURCE_DIR}/desktop_kit_qt.pro ${QT_KIT_SOURCE_DIR}/qt.pro && cp ${CMAKE_SOURCE_DIR}/desktop_kit_configure ${QT_KIT_SOURCE_DIR}/configure"
 | 
			
		||||
  CONFIGURE_COMMAND sh -c "${QT_KIT_SOURCE_DIR}/configure -prefix /usr/ubuntu-sdk-dev `cat ${CMAKE_SOURCE_DIR}/kit_config`"
 | 
			
		||||
  BUILD_COMMAND     sh -c "make ${GENERATED_MAKE_FLAGS}"
 | 
			
		||||
  INSTALL_COMMAND   sh -c "make INSTALL_ROOT=${QT_KIT_PREFIX}/qt install"
 | 
			
		||||
@@ -139,5 +162,5 @@ ExternalProject_Add(${QT_VERSION}-extras
 | 
			
		||||
  UPDATE_COMMAND    sh -c "exit 0" #nothing to update
 | 
			
		||||
  CONFIGURE_COMMAND sh -c "exit 0"
 | 
			
		||||
  BUILD_COMMAND     sh -c "cp ${EXTRAS_PREFIX}/ubuntu-sdk-qmake-extras/*.prf ${QT_KIT_PREFIX}/qt/usr/ubuntu-sdk-dev/mkspecs/features"
 | 
			
		||||
  INSTALL_COMMAND   sh -c "exit 0"
 | 
			
		||||
  INSTALL_COMMAND   sh -c "cd ${CMAKE_BINARY_DIR} && ${CMAKE_SOURCE_DIR}/create_sdk.sh"
 | 
			
		||||
)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										46
									
								
								create_sdk.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										46
									
								
								create_sdk.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,46 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
GCC_UID=""
 | 
			
		||||
QT_UID="UbuntuSDK-API-Qt"
 | 
			
		||||
 | 
			
		||||
case "$(dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null)" in
 | 
			
		||||
  x86_64-linux-gnu)
 | 
			
		||||
    GCC_UID="ProjectExplorer.ToolChain.Gcc:UbuntuSDKGCC-x86_64-linux-gnu"
 | 
			
		||||
    ./ubuntu-sdk-ide/bin/sdktool addTC \
 | 
			
		||||
      --id "${GCC_UID}" \
 | 
			
		||||
      --name "GCC (x86 64bit in /usr/bin/g++)" \
 | 
			
		||||
      --path /usr/bin/g++ \
 | 
			
		||||
      --abi x86-linux-generic-elf-64bit \
 | 
			
		||||
      --supportedAbis x86-linux-generic-elf-64bit,x86-linux-generic-elf-32bit
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  i386-linux-gnu)
 | 
			
		||||
    GCC_UID="ProjectExplorer.ToolChain.Gcc:UbuntuSDKGCC-x86-linux-generic-elf-32bit"
 | 
			
		||||
    ./ubuntu-sdk-ide/bin/sdktool addTC \
 | 
			
		||||
      --id "${GCC_UID}" \
 | 
			
		||||
      --name "GCC (x86 32bit in /usr/bin/g++)" \
 | 
			
		||||
      --path /usr/bin/g++ \
 | 
			
		||||
      --abi x86-linux-generic-elf-32bit \
 | 
			
		||||
      --supportedAbis x86-linux-generic-elf-32bit
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  *)
 | 
			
		||||
    echo "Unknown architecture"
 | 
			
		||||
    exit 1
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
./ubuntu-sdk-ide/bin/sdktool addQt \
 | 
			
		||||
    --id   "${QT_UID}" \
 | 
			
		||||
    --name "Ubuntu SDK Desktop Qt" \
 | 
			
		||||
    --qmake /usr/ubuntu-sdk-dev/bin/qmake \
 | 
			
		||||
    --type Qt4ProjectManager.QtVersion.Desktop
 | 
			
		||||
 | 
			
		||||
./ubuntu-sdk-ide/bin/sdktool addKit \
 | 
			
		||||
        --id "UbuntuSDK-API-Desktop-Kit" \
 | 
			
		||||
        --name "Ubuntu SDK Desktop Kit" \
 | 
			
		||||
        --debuggerengine 1 \
 | 
			
		||||
        --debugger /usr/bin/gdb \
 | 
			
		||||
        --devicetype Desktop \
 | 
			
		||||
        --toolchain "${GCC_UID}" \
 | 
			
		||||
        --qt "${QT_UID}"
 | 
			
		||||
							
								
								
									
										11
									
								
								patches/qtc.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								patches/qtc.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
--- qtcreator/src/plugins/qtsupport/qtversionmanager.cpp	2015-10-21 17:53:48.000000000 +0200
 | 
			
		||||
+++ qtcreator/src/plugins/qtsupport/qtversionmanager.cpp	2015-10-22 11:50:21.323455563 +0200
 | 
			
		||||
@@ -458,7 +458,7 @@
 | 
			
		||||
 | 
			
		||||
     QMap<QString, int> currentAutoVersions;
 | 
			
		||||
     for (QMap<int, BaseQtVersion *>::const_iterator i = m_versions.begin(); i != m_versions.end(); ++i) {
 | 
			
		||||
-        if (i.value()->isAutodetected()) {
 | 
			
		||||
+        if (i.value()->isAutodetected() && !i.value()->autodetectionSource().startsWith(QLatin1String("SDK."))) {
 | 
			
		||||
             currentAutoVersions.insert(i.value()->qmakeCommand().toString(), i.key());
 | 
			
		||||
         }
 | 
			
		||||
     }
 | 
			
		||||
		Reference in New Issue
	
	Block a user