CMakeLists.txt 2.52 KB
Newer Older
1 2
project( okteta )

3 4 5 6 7 8 9 10 11 12 13 14 15 16
# control build scope
# TODO: examples and templates not internal need headers and libs as installed
# so they can be only build after the installation was done
# How to handle this best, as in: they are per default always build after an install?
# set( KASTEN_BUILD_EXAMPLES  NOT OMIT_EXAMPLES )
# set( OKTETA_BUILD_EXAMPLES  NOT OMIT_EXAMPLES )
set( KASTEN_BUILD_INTERNAL_EXAMPLES  NOT OMIT_INTERNAL_EXAMPLES )
set( OKTETA_BUILD_INTERNAL_EXAMPLES  NOT OMIT_INTERNAL_EXAMPLES )

# set( KASTEN_BUILD_TEMPLATES NOT SKIPTEMPLATES )
# set( OKTETA_BUILD_TEMPLATES NOT SKIPTEMPLATES )
set( KASTEN_BUILD_INTERNAL_TEMPLATES NOT OMIT_INTERNAL_TEMPLATES )
set( OKTETA_BUILD_INTERNAL_TEMPLATES NOT OMIT_INTERNAL_TEMPLATES )

17 18 19 20 21 22
# mobile needs
option(OKTETA_MOBILE_UI "Build UI for mobile devices instead of for desktops" FALSE)
if (OKTETA_MOBILE_UI)
  macro_log_feature(QT_QTDECLARATIVE_FOUND "QtDeclarative" "Qt Declarative (QML) module" "http://qt.nokia.com" TRUE "4.7" "Required for building mobile UI")
  add_definitions( -DOKTETA_MOBILE_UI )
endif (OKTETA_MOBILE_UI)
23

24 25 26 27 28 29
# temporary check for broken code in the Structures tool with bigendianness
include(TestBigEndian)
test_big_endian(BIG_ENDIAN)
if (BIG_ENDIAN)
  set( NO_STRUCTURES_TOOL TRUE )
endif (BIG_ENDIAN)
30

31 32 33 34 35 36 37
add_definitions(
    -DQT_USE_FAST_CONCATENATION
    -DQT_USE_FAST_OPERATOR_PLUS
    -DQT_NO_CAST_TO_ASCII
    -DQT_NO_CAST_FROM_ASCII
)

38
# helper libs
39 40
add_subdirectory( libs )

41 42 43 44 45 46 47
set( OKTETALIBS_MAJOR_VERSION 0 )
set( OKTETALIBS_MINOR_VERSION 7 )
set( OKTETALIBS_PATCHLEVEL_VERSION 0 )
set( OKTETALIBS_VERSION "${OKTETALIBS_MAJOR_VERSION}.${OKTETALIBS_MINOR_VERSION}.${OKTETALIBS_PATCHLEVEL_VERSION}" )
set( OKTETALIBS_ABI_VERSION 1 )
set( OKTETALIBS_INCLUDE_INSTALL_DIR  ${INCLUDE_INSTALL_DIR}/okteta )#${OKTETAKASTEN_ABI_VERSION} )

48 49
set( oktetacore_LIB  oktetacore ) # ${OKTETALIBS_ABI_VERSION} )
set( oktetagui_LIB  oktetagui ) #${OKTETALIBS_ABI_VERSION} )
50

51 52
set( OKTETALIBS_LIB_SOVERSION ${GENERIC_LIB_SOVERSION} ) #${OKTETALIBS_ABI_VERSION} )
set( OKTETALIBS_LIB_VERSION ${GENERIC_LIB_VERSION} ) #${OKTETALIBS_VERSION} )
53

54
# Okteta libs
55 56
add_subdirectory( core )
add_subdirectory( gui )
57
add_subdirectory( includes )
58
add_subdirectory( designer )
59

60
# Okteta Kasten components
61
add_subdirectory( kasten )
62
# special mimetypes
63
add_subdirectory( mimetypes )
64

65
# programs and parts for desktop 
66 67
add_subdirectory( parts )
add_subdirectory( program )
68 69 70 71 72

# program for mobile
if (QT_QTDECLARATIVE_FOUND AND OKTETA_MOBILE_UI)
    macro_optional_add_subdirectory(mobile)
endif (QT_QTDECLARATIVE_FOUND AND OKTETA_MOBILE_UI)