71 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
if ( ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR} )
 | 
						|
    message( FATAL_ERROR "In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there. You may need to remove CMakeCache.txt." )
 | 
						|
endif()
 | 
						|
 | 
						|
project(ubuntu-sdk-ide C CXX)
 | 
						|
 | 
						|
include(ExternalProject)
 | 
						|
 | 
						|
include(ProcessorCount)
 | 
						|
 | 
						|
ProcessorCount(JOBS)
 | 
						|
if(NOT JOBS EQUAL 0)
 | 
						|
  set(GENERATED_MAKE_FLAGS -j${JOBS})
 | 
						|
endif()
 | 
						|
 | 
						|
cmake_minimum_required(VERSION 2.8.9)
 | 
						|
set (ubuntu_sdk_VERSION_MAJOR 3)
 | 
						|
set (ubuntu_sdk_VERSION_MINOR 5)
 | 
						|
 | 
						|
# add the binary tree to the search path for include files
 | 
						|
# so that we will find TutorialConfig.h
 | 
						|
include_directories("${PROJECT_BINARY_DIR}")
 | 
						|
 | 
						|
ExternalProject_Add(qt-everywhere-opensource-src-5.4.2
 | 
						|
  PREFIX "${CMAKE_SOURCE_DIR}/qt"
 | 
						|
  #URL http://download.qt.io/official_releases/qt/5.4/5.4.2/single/qt-everywhere-opensource-src-5.4.2.tar.gz
 | 
						|
  DOWNLOAD_COMMAND sh -c "bzr branch lp:~bzoltan/+junk/qt-everywhere-opensource-src-5.4.2 qt -Ossl.cert_reqs=none"
 | 
						|
  COMMAND sh -c "mv qt/* qt-everywhere-opensource-src-5.4.2/"
 | 
						|
  PATCH_COMMAND sh -c "dget https://launchpad.net/ubuntu/+archive/primary/+files/qtfeedback-opensource-src_5.0~git20130529-0ubuntu11.dsc"
 | 
						|
  COMMAND sh -c "mv qtfeedback-opensource-src-* qtfeedback"
 | 
						|
  COMMAND sh -c "mkdir qtfeedback/.git"
 | 
						|
  COMMAND sh -c "dget https://launchpad.net/ubuntu/+archive/primary/+files/qtpim-opensource-src_5.0~git20140515~29475884-0ubuntu11.dsc"
 | 
						|
  COMMAND sh -c "mv qtpim-opensource-src-* qtpim"
 | 
						|
  COMMAND sh -c "mkdir qtpim/.git"
 | 
						|
  COMMAND sh -c "bzr branch lp:~zeller-benjamin/ubuntu-ui-toolkit/fixqtbuild ubuntu-sdk -Ossl.cert_reqs=none"
 | 
						|
  COMMAND sh -c "echo \"addModule(ubuntu-sdk,qtdeclarative qtfeedback qtpim)\" >>  qt.pro"
 | 
						|
  COMMAND sh -c "mkdir -p ${CMAKE_BINARY_DIR}/qt"
 | 
						|
  CONFIGURE_COMMAND sh -c "cd ${CMAKE_SOURCE_DIR}/qt/src/qt-everywhere-opensource-src-5.4.2/ && echo $PWD && ./configure -prefix ${CMAKE_BINARY_DIR}/qt `cat ${CMAKE_SOURCE_DIR}/qt5config `"
 | 
						|
  BUILD_COMMAND  sh -c "cd ${CMAKE_SOURCE_DIR}/qt/src/qt-everywhere-opensource-src-5.4.2/ && make ${GENERATED_MAKE_FLAGS}"
 | 
						|
  INSTALL_COMMAND sh -c "cd ${CMAKE_SOURCE_DIR}/qt/src/qt-everywhere-opensource-src-5.4.2/ && make install "
 | 
						|
)
 | 
						|
 | 
						|
ExternalProject_Add(libdbusmenu-qt
 | 
						|
  DEPENDS qt-everywhere-opensource-src-5.4.2
 | 
						|
  PREFIX "${CMAKE_SOURCE_DIR}/qt"
 | 
						|
  DOWNLOAD_COMMAND sh -c "bzr branch lp:libdbusmenu-qt dbusmenu-qt -Ossl.cert_reqs=none && mv dbusmenu-qt/* libdbusmenu-qt/"
 | 
						|
  CONFIGURE_COMMAND sh -c "mkdir -p ${CMAKE_BINARY_DIR}/dbusmenu && cd ${CMAKE_BINARY_DIR}/dbusmenu && cmake -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/qt -DCMAKE_PREFIX_PATH=${CMAKE_BINARY_DIR}/qt -DUSE_QT5=true -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_LIBDIR=lib ${CMAKE_SOURCE_DIR}/qt/src/libdbusmenu-qt/"
 | 
						|
  BUILD_COMMAND  sh -c "cd ${CMAKE_BINARY_DIR}/dbusmenu && LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/qt/lib make  ${GENERATED_MAKE_FLAGS}"
 | 
						|
  INSTALL_COMMAND sh -c "cd ${CMAKE_BINARY_DIR}/dbusmenu && LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/qt/lib make install"
 | 
						|
)
 | 
						|
 | 
						|
ExternalProject_Add(appmenu-qt5
 | 
						|
  DEPENDS libdbusmenu-qt
 | 
						|
  PREFIX "${CMAKE_SOURCE_DIR}/qt"
 | 
						|
  DOWNLOAD_COMMAND sh -c "bzr branch lp:appmenu-qt5 appmenu -Ossl.cert_reqs=none && mv appmenu ${CMAKE_SOURCE_DIR}/qt/src/qt-everywhere-opensource-src-5.4.2/qtbase/src/plugins/platformthemes/ && sed -i 's/\\(+= gtk2\\)/\\1\\nSUBDIRS += appmenu/g' ${CMAKE_SOURCE_DIR}/qt/src/qt-everywhere-opensource-src-5.4.2/qtbase/src/plugins/platformthemes/platformthemes.pro"
 | 
						|
  CONFIGURE_COMMAND sh -c "cd ${CMAKE_SOURCE_DIR}/qt/src/qt-everywhere-opensource-src-5.4.2/qtbase/src/plugins/platformthemes/ &&  PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/dbusmenu/ ${CMAKE_BINARY_DIR}/qt/bin/qmake -r"
 | 
						|
  BUILD_COMMAND  sh -c "cd ${CMAKE_SOURCE_DIR}/qt/src/qt-everywhere-opensource-src-5.4.2/qtbase/src/plugins/platformthemes/ && LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/qt/lib make  ${GENERATED_MAKE_FLAGS}"
 | 
						|
  INSTALL_COMMAND sh -c "cd ${CMAKE_SOURCE_DIR}/qt/src/qt-everywhere-opensource-src-5.4.2/qtbase/src/plugins/platformthemes/ && LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/qt/lib make install"
 | 
						|
)
 | 
						|
 | 
						|
ExternalProject_Add(qtcreator_3.5.0
 | 
						|
  DEPENDS appmenu-qt5 
 | 
						|
  PREFIX "${CMAKE_SOURCE_DIR}/qt"
 | 
						|
  DOWNLOAD_COMMAND sh -c "dget https://launchpad.net/ubuntu/+archive/primary/+files/qtcreator_3.5.0~rc1-0ubuntu1.dsc"
 | 
						|
  PATCH_COMMAND sh -c "bzr branch lp:~zeller-benjamin/qtcreator-plugin-ubuntu/sdk-refactor2 -Ossl.cert_reqs=none && mv sdk-refactor2 ${CMAKE_SOURCE_DIR}/qt/src/qtcreator-3.5.0~rc1/src/plugins/ubuntu && sed -i 's/\\(welcome\\)/\\1 \\\\ \\n   ubuntu/g' ${CMAKE_SOURCE_DIR}/qt/src/qtcreator-3.5.0~rc1/src/plugins/plugins.pro"
 | 
						|
SUBDIRS += appmenu
 | 
						|
  CONFIGURE_COMMAND sh -c "echo $PWD && cd ${CMAKE_SOURCE_DIR}/qt/src/qtcreator-3.5.0~rc1 && echo $PWD && ${CMAKE_BINARY_DIR}/qt/bin/qmake -r"
 | 
						|
  BUILD_COMMAND sh -c "cd ${CMAKE_SOURCE_DIR}/qt/src/qtcreator-3.5.0~rc1 && QT_PRIVATE_HEADERS=${CMAKE_BINARY_DIR} LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/qt/lib make ${GENERATED_MAKE_FLAGS}"
 | 
						|
  INSTALL_COMMAND sh -c "QT_PRIVATE_HEADERS=${CMAKE_BINARY_DIR} && cd ${CMAKE_SOURCE_DIR}/qt/src/qtcreator-3.5.0~rc1 && echo $PWD && LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/qt/lib make INSTALL_ROOT=${CMAKE_BINARY_DIR}/ubuntu-sdk-ide -j1 docs deployqt"
 | 
						|
)
 |