Link Here
|
18 |
find_package(PkgConfig REQUIRED) |
18 |
find_package(PkgConfig REQUIRED) |
19 |
|
19 |
|
20 |
find_package(GTK2 2.6.2 REQUIRED gtk gtkmm) |
20 |
find_package(GTK2 2.6.2 REQUIRED gtk gtkmm) |
|
|
21 |
if (NOT GTK2_FOUND) |
22 |
message( FATAL_ERROR "Not all GTK2 components were found!" ) |
23 |
endif() |
21 |
pkg_check_modules(GTHREAD REQUIRED gthread-2.0) |
24 |
pkg_check_modules(GTHREAD REQUIRED gthread-2.0) |
22 |
pkg_check_modules(GMODULE REQUIRED gmodule-2.0) |
25 |
pkg_check_modules(GMODULE REQUIRED gmodule-2.0) |
23 |
set(GTK2_INCLUDE_DIRS ${GTK2_INCLUDE_DIRS} ${GTHREAD_INCLUDE_DIRS} ${GMODULE_INCLUDE_DIRS}) |
26 |
set(GTK2_INCLUDE_DIRS ${GTK2_INCLUDE_DIRS} ${GTHREAD_INCLUDE_DIRS} ${GMODULE_INCLUDE_DIRS}) |
Link Here
|
27 |
|
30 |
|
28 |
pkg_check_modules(GLIB REQUIRED glib-2.0) |
31 |
pkg_check_modules(GLIB REQUIRED glib-2.0) |
29 |
|
32 |
|
30 |
# All known publicly available versions of Antlr3C are buggy |
33 |
# try to determine the system ANTLR3C library (antlr-c package) |
|
|
34 |
find_library(ANTLR3C_LIBRARIES |
35 |
NAMES libantlr3c.so |
36 |
PATHS "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" |
37 |
) |
38 |
find_path(ANTLR3C_INCLUDE_DIRS |
39 |
NAMES antlr3.h |
40 |
PATHS "${CMAKE_INSTALL_PREFIX}/include" |
41 |
) |
42 |
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ANTLR3C REQUIRED_VARS ANTLR3C_LIBRARIES ANTLR3C_INCLUDE_DIRS) |
31 |
|
43 |
|
32 |
if (SKIP_BUNDLED_ANTLR) |
|
|
33 |
find_package(Antlr3C) |
34 |
endif () |
35 |
if (ANTLR3C_FOUND) |
36 |
set(ANTLR3C_REQUIRED_VERSION "3.4") |
37 |
if (${ANTLR3C_VERSION} VERSION_LESS ${ANTLR3C_REQUIRED_VERSION}) |
38 |
message("Required antlr3c version ${ANTLR3C_REQUIRED_VERSION} but ${ANTLR3C_VERSION} found, using bundled version") |
39 |
unset(ANTLR3C_FOUND) |
40 |
endif () |
41 |
endif () |
42 |
|
44 |
|
43 |
# In Ubuntu 13.04, the built-in check for python fails.. so we have to resort to the check with pkg-config (which doesn't work in many distros) |
45 |
# In Ubuntu 13.04, the built-in check for python fails.. so we have to resort to the check with pkg-config (which doesn't work in many distros) |
44 |
find_package(PythonLibs) |
46 |
find_package(PythonLibs) |
Link Here
|
66 |
find_package(VSqlite REQUIRED) |
68 |
find_package(VSqlite REQUIRED) |
67 |
find_package(TinyXML REQUIRED) |
69 |
find_package(TinyXML REQUIRED) |
68 |
|
70 |
|
69 |
if (UNIX) |
71 |
if (UNIX AND USE_IODBC) |
70 |
option(USE_UNIXODBC "Use unixODBC instead of iODBC" OFF) |
72 |
find_package(IODBC REQUIRED) |
71 |
if (USE_UNIXODBC) |
73 |
set(ODBC_LIBRARIES ${IODBC_LIBRARIES}) |
72 |
find_package(UNIXODBC REQUIRED) |
74 |
set(ODBC_INCLUDE_DIRS ${IODBC_INCLUDE_DIRS}) |
73 |
set(ODBC_LIBRARIES ${UNIXODBC_LIBRARIES}) |
75 |
else() |
74 |
set(ODBC_INCLUDE_DIRS ${UNIXODBC_INCLUDE_DIRS}) |
76 |
find_package(UNIXODBC REQUIRED) |
75 |
else () |
77 |
set(ODBC_LIBRARIES ${UNIXODBC_LIBRARIES}) |
76 |
find_package(IODBC REQUIRED) |
78 |
set(ODBC_INCLUDE_DIRS ${UNIXODBC_INCLUDE_DIRS}) |
77 |
set(ODBC_LIBRARIES ${IODBC_LIBRARIES}) |
79 |
endif() |
78 |
set(ODBC_INCLUDE_DIRS ${IODBC_INCLUDE_DIRS}) |
|
|
79 |
endif() |
80 |
endif () |
81 |
|
80 |
|
82 |
pkg_check_modules(PCRE REQUIRED libpcre libpcrecpp) |
81 |
pkg_check_modules(PCRE REQUIRED libpcre libpcrecpp) |
83 |
pkg_check_modules(CAIRO REQUIRED cairo>=1.5.12) |
82 |
pkg_check_modules(CAIRO REQUIRED cairo>=1.5.12) |
84 |
pkg_check_modules(SQLITE3 REQUIRED sqlite3) |
83 |
pkg_check_modules(SQLITE3 REQUIRED sqlite3) |
85 |
pkg_check_modules(UUID REQUIRED uuid) |
84 |
pkg_check_modules(UUID REQUIRED uuid) |
86 |
pkg_check_modules(LIBZIP REQUIRED libzip) |
85 |
pkg_check_modules(LIBZIP REQUIRED libzip) |
87 |
if (UNIX) |
86 |
|
|
|
87 |
if (UNIX AND USE_GNOME_KEYRING) |
88 |
pkg_check_modules(GNOME_KEYRING gnome-keyring-1) |
88 |
pkg_check_modules(GNOME_KEYRING gnome-keyring-1) |
89 |
if (GNOME_KEYRING_FOUND) |
89 |
if (GNOME_KEYRING_FOUND) |
90 |
set(KEYRING_DEFINITION "HAVE_GNOME_KEYRING") |
90 |
set(KEYRING_DEFINITION "HAVE_GNOME_KEYRING") |
Link Here
|
94 |
set(KEYRING_DEFINITION "HAVE_OLD_GNOME_KEYRING") |
94 |
set(KEYRING_DEFINITION "HAVE_OLD_GNOME_KEYRING") |
95 |
endif() |
95 |
endif() |
96 |
endif() |
96 |
endif() |
|
|
97 |
if (NOT GNOME_KEYRING_FOUND) |
98 |
message( FATAL_ERROR "Gnome keyring libraries could not be found" ) |
99 |
endif() |
97 |
endif() |
100 |
endif() |
98 |
|
101 |
|
99 |
include (CheckFunctionExists) |
102 |
include (CheckFunctionExists) |
Link Here
|
134 |
include(ExternalProject) |
137 |
include(ExternalProject) |
135 |
|
138 |
|
136 |
if (NOT ANTLR3C_FOUND) |
139 |
if (NOT ANTLR3C_FOUND) |
137 |
message("Using bundled Antlr C runtime") |
140 |
message( FATAL_ERROR "Unable to find ANTLR3C Runtime.") |
138 |
# Use for Antlr3 the one we have in /ext: |
|
|
139 |
set(ANTLR3C_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/ext/antlr-runtime ${PROJECT_SOURCE_DIR}/ext/antlr-runtime/include) |
140 |
set(ANTLR3C_LIBRARIES "-L${PROJECT_BINARY_DIR}/antlr-wb -lantlr3c_wb") |
141 |
|
142 |
ExternalProject_Add(antlr-wb |
143 |
SOURCE_DIR ${PROJECT_SOURCE_DIR}/ext/antlr-runtime |
144 |
CONFIGURE_COMMAND autoreconf -i -s && ${PROJECT_SOURCE_DIR}/ext/antlr-runtime/configure |
145 |
--prefix=${PROJECT_BINARY_DIR}/antlr-wb |
146 |
--libdir=${PROJECT_BINARY_DIR}/antlr-wb |
147 |
--disable-abiflags |
148 |
BUILD_COMMAND make |
149 |
BUILD_IN_SOURCE 1 |
150 |
INSTALL_COMMAND make install |
151 |
) |
152 |
|
153 |
link_directories(${PROJECT_BINARY_DIR}/antlr-wb) |
154 |
endif () |
141 |
endif () |
155 |
|
142 |
|
156 |
# Uncomment these lines if at any time you want to force the configure and/or build |
143 |
# Uncomment these lines if at any time you want to force the configure and/or build |
Link Here
|
225 |
install(FILES ${CMAKE_BINARY_DIR}/mysql-workbench.desktop DESTINATION ${WB_INSTALL_SHARED_DIR}/applications) |
212 |
install(FILES ${CMAKE_BINARY_DIR}/mysql-workbench.desktop DESTINATION ${WB_INSTALL_SHARED_DIR}/applications) |
226 |
install(FILES ${CMAKE_BINARY_DIR}/mysql-workbench.conf DESTINATION ${WB_INSTALL_ETC_DIR}/ld.so.conf.d) |
213 |
install(FILES ${CMAKE_BINARY_DIR}/mysql-workbench.conf DESTINATION ${WB_INSTALL_ETC_DIR}/ld.so.conf.d) |
227 |
|
214 |
|
228 |
if (EXISTS COPYING) |
215 |
if (EXISTS ${PROJECT_SOURCE_DIR}/COPYING) |
229 |
install(FILES README COPYING DESTINATION ${WB_INSTALL_DOC_DIR}) |
216 |
install(FILES ${PROJECT_SOURCE_DIR}/README ${PROJECT_SOURCE_DIR}/COPYING DESTINATION ${WB_INSTALL_DOC_DIR}) |
230 |
install(FILES build/debian/mysql-workbench-community.sharedmimeinfo DESTINATION ${WB_INSTALL_SHARED_DIR}/mime/packages RENAME mysql-workbench.xml) |
217 |
install(FILES ${PROJECT_SOURCE_DIR}/build/debian/mysql-workbench-community.sharedmimeinfo DESTINATION ${WB_INSTALL_SHARED_DIR}/mime/packages RENAME mysql-workbench.xml) |
231 |
install(FILES build/debian/mysql-workbench-community.mime DESTINATION ${WB_INSTALL_SHARED_DIR}/mime-info RENAME mysql-workbench.mime) |
218 |
install(FILES ${PROJECT_SOURCE_DIR}/build/debian/mysql-workbench-community.mime DESTINATION ${WB_INSTALL_SHARED_DIR}/mime-info RENAME mysql-workbench.mime) |
232 |
else () |
219 |
else () |
233 |
install(FILES README LICENSE.mysql DESTINATION ${WB_INSTALL_DOC_DIR}) |
220 |
install(FILES ${PROJECT_SOURCE_DIR}/README ${PROJECT_SOURCE_DIR}/LICENSE.mysql DESTINATION ${WB_INSTALL_DOC_DIR}) |
234 |
install(FILES build/debian/mysql-workbench-commercial.sharedmimeinfo DESTINATION ${WB_INSTALL_SHARED_DIR}/mime/packages RENAME mysql-workbench.xml) |
221 |
install(FILES ${PROJECT_SOURCE_DIR}/build/debian/mysql-workbench-commercial.sharedmimeinfo DESTINATION ${WB_INSTALL_SHARED_DIR}/mime/packages RENAME mysql-workbench.xml) |
235 |
install(FILES build/debian/mysql-workbench-commercial.mime DESTINATION ${WB_INSTALL_SHARED_DIR}/mime-info RENAME mysql-workbench.mime) |
222 |
install(FILES ${PROJECT_SOURCE_DIR}/build/debian/mysql-workbench-commercial.mime DESTINATION ${WB_INSTALL_SHARED_DIR}/mime-info RENAME mysql-workbench.mime) |
236 |
endif () |
223 |
endif () |
237 |
|
224 |
|
238 |
install(FILES build/build_freetds.sh |
225 |
install(FILES build/build_freetds.sh |