CMakeLists.txt 3.74 KB
Newer Older
1
2
project (kdenlive-and-all-its-deps)

Vincent Pinon's avatar
Vincent Pinon committed
3
#
4
# Build all dependencies for KMyMoney and finally KMyMoney itself.
5
6
# Parameters: EXT_DOWNLOAD_DIR place to download all packages
#             INSTALL_ROOT place to install everything to
Vincent Pinon's avatar
Vincent Pinon committed
7
#
8
# Example usage: cmake ..\kmymoneydep -DEXT_DOWNLOAD_DIR=/dev2/d -DINSTALL_ROOT=/dev2/i
Vincent Pinon's avatar
Vincent Pinon committed
9
10
11
12
13


cmake_minimum_required(VERSION 2.8.6)

if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
14
	message(FATAL_ERROR "Compiling in the source directory is not supported. Use for example 'mkdir build; cd build; cmake ..'.")
Vincent Pinon's avatar
Vincent Pinon committed
15
16
17
endif()

# Tools must be obtained to work with:
18
include(ExternalProject)
Vincent Pinon's avatar
Vincent Pinon committed
19
20
21

# allow specification of a directory with pre-downloaded
# requirements
22
23
if(NOT IS_DIRECTORY ${EXT_DOWNLOAD_DIR})
    message(FATAL_ERROR "No externals download dir set. Use -DEXT_DOWNLOAD_DIR")
Vincent Pinon's avatar
Vincent Pinon committed
24
25
endif()

26
27
if(NOT IS_DIRECTORY ${EXT_INSTALL_DIR})
    message(FATAL_ERROR "No install dir set. Use -DEXT_INSTALL_DIR")
Vincent Pinon's avatar
Vincent Pinon committed
28
29
30
endif()

message( STATUS "CMAKE_GENERATOR: ${CMAKE_GENERATOR}")
31
32
33
34
35
36
37
38
39
40
41
set(CMAKE_PREFIX_PATH "${EXT_INSTALL_DIR};${EXT_INSTALL_DIR}/openssl")
set(CMAKE_INSTALL_PREFIX "${EXT_INSTALL_DIR}")
set(CMAKE_BUILD_TYPE RelWithDebInfo)

set(CMAKE_GLOBAL_PROFILE
  -DCMAKE_BUILD_TYPE=RelWithDebInfo
  -DCMAKE_INSTALL_PREFIX=${CMAKE_PREFIX_PATH}
  -DCMAKE_PREFIX_PATH=${CMAKE_INSTALL_PREFIX}
  -DBUILD_TESTING=FALSE
)

42
# without --host=x86_64 gmp builds with optimizations for skylake and that prevents running KMyMoney on pre-skylake CPUs
43
44
45
46
set(AT_HOST --host=x86_64-linux-gnu)
set(AT_SHARED_ONLY --disable-static --enable-shared)
set(AT_CPP_FLAGS "-I${EXT_INSTALL_DIR}/include -I${EXT_INSTALL_DIR}/openssl/include")
set(AT_LD_FLAGS "-L${EXT_INSTALL_DIR}/lib -L${EXT_INSTALL_DIR}/openssl/lib")
Vincent Pinon's avatar
Vincent Pinon committed
47
48
49
50

set(PATCH_COMMAND patch)

# this list must be dependency-ordered
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
add_subdirectory( ext_iconv )
add_subdirectory( ext_zlib )
add_subdirectory( ext_lzma )
add_subdirectory( ext_icu )
add_subdirectory( ext_ncurses )
add_subdirectory( ext_readline )
add_subdirectory( ext_xml )
add_subdirectory( ext_gettext )
add_subdirectory( ext_png )
add_subdirectory( ext_nasm )
add_subdirectory( ext_yasm )
add_subdirectory( ext_jpeg )
add_subdirectory( ext_boost )
add_subdirectory( ext_xslt )
add_subdirectory( ext_fontconfig )
add_subdirectory( ext_intltool )
add_subdirectory( ext_sharedmimeinfo )
add_subdirectory( ext_gmp )
add_subdirectory( ext_gpgerror )
add_subdirectory( ext_assuan2 )
add_subdirectory( ext_nettle )
add_subdirectory( ext_tasn1 )
add_subdirectory( ext_unistring )
add_subdirectory( ext_gnutls )
add_subdirectory( ext_pcre2 )
add_subdirectory( ext_freetype )
add_subdirectory( ext_harfbuzz )
add_subdirectory( ext_sqlite )
add_subdirectory( ext_openssl )
add_subdirectory( ext_mysql )
add_subdirectory( ext_tcl )
add_subdirectory( ext_postgresql )
add_subdirectory( ext_qt )
add_subdirectory( ext_phonon )
add_subdirectory( ext_gpgme )
add_subdirectory( ext_gcrypt )
add_subdirectory( ext_frameworks )
add_subdirectory( ext_xmlsec1 )
add_subdirectory( ext_sqlcipher )
add_subdirectory( ext_opensp )
add_subdirectory( ext_ofx )
add_subdirectory( ext_libsndfile )
add_subdirectory( ext_libsamplerate )
add_subdirectory( ext_alsa )
add_subdirectory( ext_fftw3 )
96
add_subdirectory( ext_fftw3f )
97
add_subdirectory( ext_sdl2 )
98
99
add_subdirectory( ext_sox )
add_subdirectory( ext_jack ) 
100
add_subdirectory( ext_ladspa )
101
102
103
104
105
106
107
108
add_subdirectory( ext_x264 )
add_subdirectory( ext_x265 )
add_subdirectory( ext_libvpx )
add_subdirectory( ext_ffmpeg )
add_subdirectory( ext_cairo )
add_subdirectory( ext_pango )
add_subdirectory( ext_gdkpixbuf )
add_subdirectory( ext_gtk+ )
Jean-Baptiste Mardelle's avatar
Jean-Baptiste Mardelle committed
109
110
add_subdirectory( ext_gavl )
add_subdirectory( ext_frei0r )
111
add_subdirectory( ext_opencv )
Jean-Baptiste Mardelle's avatar
Jean-Baptiste Mardelle committed
112
add_subdirectory( ext_vidstab )
113
add_subdirectory( ext_vamp )
114
add_subdirectory( ext_rubberband )
115
add_subdirectory( ext_mlt )
116
add_subdirectory( ext_ruby )
117
add_subdirectory( ext_kdenlive )