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

View file

@ -1,30 +1,10 @@
# Copyright (c) 2015, Ivailo Monev, <xakepa10@gmail.com> # Copyright (c) 2015, Ivailo Monev, <xakepa10@gmail.com>
# Redistribution and use is allowed according to the terms of the BSD license. # Redistribution and use is allowed according to the terms of the BSD license.
if(CMAKE_CROSSCOMPILING) set(KATIE_UIC "uic")
# TODO: switch to release tarball set(KATIE_RCC "rcc")
include(ExternalProject) set(KATIE_MOC "bootstrap_moc")
ExternalProject_Add( set(KATIE_LRELEASE "lrelease")
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_QDBUSXML2CPP "qdbusxml2cpp") set(KATIE_QDBUSXML2CPP "qdbusxml2cpp")
# a macro to print a dev warning but only when the build type is Debug # a macro to print a dev warning but only when the build type is Debug

View file

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