cross-compiling is no longer supported

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
This commit is contained in:
Ivailo Monev 2017-04-25 08:15:19 +00:00
parent 897afe665f
commit e3513f5fc1
3 changed files with 43 additions and 70 deletions

View file

@ -11,6 +11,8 @@ cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)
if(CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR)
message(FATAL_ERROR "\nThe project should not be build in the source directory")
elseif(CMAKE_CROSSCOMPILING)
message(FATAL_ERROR "\nThe project does not support cross-compiling")
endif()
project(Katie C CXX)
@ -158,9 +160,6 @@ option(WITH_X11 "Build X11/X.Org support" ON)
add_feature_info(x11 WITH_X11 "an open source something")
# optional features
option(KATIE_BOOTSTRAP "Build only core tools" OFF)
add_feature_info(bootstrap KATIE_BOOTSTRAP "internal build option")
option(KATIE_UTILS "Build maintainance utilities" OFF)
add_feature_info(utils KATIE_UTILS "developers build option")
@ -225,6 +224,7 @@ configure_file(
)
# TODO: make it optional, Qt4 was prepping for it I believe (QT_NO_THREAD)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
find_package(Threads)
set_package_properties(Threads PROPERTIES
PURPOSE "Required for threads support"
@ -434,17 +434,14 @@ set_package_properties(NSL PROPERTIES
TYPE RECOMMENDED
)
if(NOT KATIE_BOOTSTRAP)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
find_package(X11 COMPONENTS ICE SM Xcursor Xext Xfixes XSync XShm XShape Xi Xinerama Xrandr Xrender X11 Xtst Xt)
set_package_properties(X11 PROPERTIES
PURPOSE "Required for X11/X.Org integration support"
DESCRIPTION "Open source implementation of the X Window System"
URL "http://www.x.org"
TYPE REQUIRED
)
endif()
find_package(X11 COMPONENTS ICE SM Xcursor Xext Xfixes XSync XShm XShape Xi Xinerama Xrandr Xrender X11 Xtst Xt)
set_package_properties(X11 PROPERTIES
PURPOSE "Required for X11/X.Org integration support"
DESCRIPTION "Open source implementation of the X Window System"
URL "http://www.x.org"
TYPE REQUIRED
)
if(PYTHONINTERP_FOUND)
execute_process(
@ -572,35 +569,31 @@ endif()
# semi-shared
include(src/shared/linguist/linguist.cmake)
include(src/shared/bootstrap.cmake)
if(NOT KATIE_BOOTSTRAP)
include(src/shared/deviceskin/deviceskin.cmake)
include(src/shared/qtgradienteditor/qtgradienteditor.cmake)
include(src/shared/qtpropertybrowser/qtpropertybrowser.cmake)
include(src/shared/findwidget/findwidget.cmake)
endif()
include(src/shared/deviceskin/deviceskin.cmake)
include(src/shared/qtgradienteditor/qtgradienteditor.cmake)
include(src/shared/qtpropertybrowser/qtpropertybrowser.cmake)
include(src/shared/findwidget/findwidget.cmake)
# major components
add_subdirectory(src/core)
add_subdirectory(src/xml)
if(NOT KATIE_BOOTSTRAP)
if(WITH_DBUS AND DBUS_FOUND)
add_subdirectory(src/dbus)
endif()
add_subdirectory(src/declarative)
add_subdirectory(src/designer)
add_subdirectory(src/gui)
add_subdirectory(src/imports)
add_subdirectory(src/network)
add_subdirectory(src/plugins)
add_subdirectory(src/script)
add_subdirectory(src/scripttools)
add_subdirectory(src/sql)
add_subdirectory(src/svg)
add_subdirectory(src/test)
add_subdirectory(src/uitools)
if(ENABLE_TESTING)
add_subdirectory(tests)
endif()
if(WITH_DBUS AND DBUS_FOUND)
add_subdirectory(src/dbus)
endif()
add_subdirectory(src/declarative)
add_subdirectory(src/designer)
add_subdirectory(src/gui)
add_subdirectory(src/imports)
add_subdirectory(src/network)
add_subdirectory(src/plugins)
add_subdirectory(src/script)
add_subdirectory(src/scripttools)
add_subdirectory(src/sql)
add_subdirectory(src/svg)
add_subdirectory(src/test)
add_subdirectory(src/uitools)
if(ENABLE_TESTING)
add_subdirectory(tests)
endif()
add_subdirectory(src/tools)

View file

@ -1,30 +1,10 @@
# Copyright (c) 2015, Ivailo Monev, <xakepa10@gmail.com>
# Redistribution and use is allowed according to the terms of the BSD license.
if(CMAKE_CROSSCOMPILING)
# TODO: switch to release tarball
include(ExternalProject)
ExternalProject_Add(
external_katie
GIT_REPOSITORY https://github.com/fluxer/katie
SOURCE_DIR ${CMAKE_BINARY_DIR}/external_katie
BUILD_IN_SOURCE 1
INSTALL_COMMAND "" # disable installation
UPDATE_DISCONNECTED 1 # it always fails
CMAKE_ARGS -DKATIE_BOOTSTRAP=TRUE -Wno-dev
)
# TODO: native executable suffix
set(KATIE_UIC "${CMAKE_BINARY_DIR}/external_katie/bin/uic")
set(KATIE_RCC "${CMAKE_BINARY_DIR}/external_katie/bin/rcc")
set(KATIE_MOC "${CMAKE_BINARY_DIR}/external_katie/bin/moc")
set(KATIE_LRELEASE "${CMAKE_BINARY_DIR}/external_katie/bin/lrelease")
# TODO: ExternalProject_Add_StepDependencies
else()
set(KATIE_UIC "uic")
set(KATIE_RCC "rcc")
set(KATIE_MOC "bootstrap_moc")
set(KATIE_LRELEASE "lrelease")
endif()
set(KATIE_UIC "uic")
set(KATIE_RCC "rcc")
set(KATIE_MOC "bootstrap_moc")
set(KATIE_LRELEASE "lrelease")
set(KATIE_QDBUSXML2CPP "qdbusxml2cpp")
# a macro to print a dev warning but only when the build type is Debug

View file

@ -1,18 +1,18 @@
# semi-bootstraped
add_subdirectory(moc)
# essential tools
add_subdirectory(rcc)
add_subdirectory(uic)
add_subdirectory(lrelease)
add_subdirectory(lupdate)
add_subdirectory(lconvert)
if(NOT KATIE_BOOTSTRAP)
if(WITH_DBUS AND DBUS_FOUND)
add_subdirectory(qdbus)
add_subdirectory(qdbusviewer)
endif()
add_subdirectory(qscript)
add_subdirectory(qtconfig)
add_subdirectory(designer)
# not so much
if(WITH_DBUS AND DBUS_FOUND)
add_subdirectory(qdbus)
add_subdirectory(qdbusviewer)
endif()
add_subdirectory(qscript)
add_subdirectory(qtconfig)
add_subdirectory(designer)