Link Here
|
27 |
|
27 |
|
28 |
pkg_check_modules(GLIB REQUIRED glib-2.0) |
28 |
pkg_check_modules(GLIB REQUIRED glib-2.0) |
29 |
|
29 |
|
30 |
# All known publicly available versions of Antlr3C are buggy |
|
|
31 |
|
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 |
|
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) |
44 |
find_package(PythonLibs) |
30 |
find_package(PythonLibs) |
45 |
if (NOT PYTHONLIBS_FOUND) |
|
|
46 |
pkg_check_modules(PYTHON REQUIRED python) |
47 |
endif () |
48 |
set(GRT_DEFINITIONS -DENABLE_PYTHON_MODULES) |
31 |
set(GRT_DEFINITIONS -DENABLE_PYTHON_MODULES) |
49 |
|
32 |
|
50 |
find_package(Lua51) |
33 |
find_package(Lua51) |
Link Here
|
66 |
find_package(VSqlite REQUIRED) |
49 |
find_package(VSqlite REQUIRED) |
67 |
find_package(TinyXML REQUIRED) |
50 |
find_package(TinyXML REQUIRED) |
68 |
|
51 |
|
69 |
if (UNIX) |
52 |
## disabled UNIXODBC check |
70 |
option(USE_UNIXODBC "Use unixODBC instead of iODBC" OFF) |
53 |
find_package(IODBC REQUIRED) |
71 |
if (USE_UNIXODBC) |
54 |
set(ODBC_LIBRARIES ${IODBC_LIBRARIES}) |
72 |
find_package(UNIXODBC REQUIRED) |
55 |
set(ODBC_INCLUDE_DIRS ${IODBC_INCLUDE_DIRS}) |
73 |
set(ODBC_LIBRARIES ${UNIXODBC_LIBRARIES}) |
|
|
74 |
set(ODBC_INCLUDE_DIRS ${UNIXODBC_INCLUDE_DIRS}) |
75 |
else () |
76 |
find_package(IODBC REQUIRED) |
77 |
set(ODBC_LIBRARIES ${IODBC_LIBRARIES}) |
78 |
set(ODBC_INCLUDE_DIRS ${IODBC_INCLUDE_DIRS}) |
79 |
endif() |
80 |
endif () |
81 |
|
56 |
|
82 |
pkg_check_modules(PCRE REQUIRED libpcre libpcrecpp) |
57 |
pkg_check_modules(PCRE REQUIRED libpcre libpcrecpp) |
83 |
pkg_check_modules(CAIRO REQUIRED cairo>=1.5.12) |
58 |
pkg_check_modules(CAIRO REQUIRED cairo>=1.5.12) |
84 |
pkg_check_modules(SQLITE3 REQUIRED sqlite3) |
59 |
pkg_check_modules(SQLITE3 REQUIRED sqlite3) |
85 |
pkg_check_modules(UUID REQUIRED uuid) |
60 |
pkg_check_modules(UUID REQUIRED uuid) |
86 |
pkg_check_modules(LIBZIP REQUIRED libzip) |
61 |
pkg_check_modules(LIBZIP REQUIRED libzip) |
87 |
if (UNIX) |
62 |
|
|
|
63 |
option(USE_GNOME_KEYRING "Use gnome-keyring." OFF) |
64 |
if (UNIX AND USE_GNOME_KEYRING) |
88 |
pkg_check_modules(GNOME_KEYRING gnome-keyring-1) |
65 |
pkg_check_modules(GNOME_KEYRING gnome-keyring-1) |
89 |
if (GNOME_KEYRING_FOUND) |
66 |
if (GNOME_KEYRING_FOUND) |
90 |
set(KEYRING_DEFINITION "HAVE_GNOME_KEYRING") |
67 |
set(KEYRING_DEFINITION "HAVE_GNOME_KEYRING") |
Link Here
|
92 |
pkg_check_modules(GNOME_KEYRING gnome-keyring) |
69 |
pkg_check_modules(GNOME_KEYRING gnome-keyring) |
93 |
if (GNOME_KEYRING_FOUND) |
70 |
if (GNOME_KEYRING_FOUND) |
94 |
set(KEYRING_DEFINITION "HAVE_OLD_GNOME_KEYRING") |
71 |
set(KEYRING_DEFINITION "HAVE_OLD_GNOME_KEYRING") |
|
|
72 |
else () |
73 |
message( FATAL_ERROR "Gnome Keyring was not found but requested!" ) |
95 |
endif() |
74 |
endif() |
96 |
endif() |
75 |
endif() |
97 |
endif() |
76 |
endif() |
Link Here
|
133 |
|
112 |
|
134 |
include(ExternalProject) |
113 |
include(ExternalProject) |
135 |
|
114 |
|
136 |
if (NOT ANTLR3C_FOUND) |
115 |
## use the bundled ANTLR C runtime - the version bundled is not yet upstreamed. |
137 |
message("Using bundled Antlr C runtime") |
116 |
message("Using bundled Antlr C runtime") |
138 |
# Use for Antlr3 the one we have in /ext: |
117 |
# 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) |
118 |
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") |
119 |
set(ANTLR3C_LIBRARIES "-L${PROJECT_BINARY_DIR}/antlr-wb -lantlr3c_wb") |
141 |
|
120 |
|
142 |
ExternalProject_Add(antlr-wb |
121 |
ExternalProject_Add(antlr-wb |
143 |
SOURCE_DIR ${PROJECT_SOURCE_DIR}/ext/antlr-runtime |
122 |
SOURCE_DIR ${PROJECT_SOURCE_DIR}/ext/antlr-runtime |
144 |
CONFIGURE_COMMAND autoreconf -i -s && ${PROJECT_SOURCE_DIR}/ext/antlr-runtime/configure |
123 |
CONFIGURE_COMMAND autoreconf -i -s && ${PROJECT_SOURCE_DIR}/ext/antlr-runtime/configure |
145 |
--prefix=${PROJECT_BINARY_DIR}/antlr-wb |
124 |
--prefix=${PROJECT_BINARY_DIR}/antlr-wb |
146 |
--libdir=${PROJECT_BINARY_DIR}/antlr-wb |
125 |
--libdir=${PROJECT_BINARY_DIR}/antlr-wb |
147 |
--disable-abiflags |
126 |
--disable-abiflags |
148 |
BUILD_COMMAND make |
127 |
BUILD_COMMAND make |
149 |
BUILD_IN_SOURCE 1 |
128 |
BUILD_IN_SOURCE 1 |
150 |
INSTALL_COMMAND make install |
129 |
INSTALL_COMMAND make install |
151 |
) |
130 |
) |
152 |
|
131 |
|
153 |
link_directories(${PROJECT_BINARY_DIR}/antlr-wb) |
132 |
link_directories(${PROJECT_BINARY_DIR}/antlr-wb) |
154 |
endif () |
|
|
155 |
|
156 |
# Uncomment these lines if at any time you want to force the configure and/or build |
157 |
# of antlr-wb: |
158 |
#ExternalProject_Add_Step(antlr-wb forceconfigure |
159 |
# COMMAND ${CMAKE_COMMAND} -E echo "Force configure of antlr-wb" |
160 |
# DEPENDEES update |
161 |
# DEPENDERS configure |
162 |
# ALWAYS 1 |
163 |
#) |
164 |
#ExternalProject_Add_Step(antlr-wb forcebuild |
165 |
# COMMAND ${CMAKE_COMMAND} -E echo "Force build of antlr-wb" |
166 |
# DEPENDEES configure |
167 |
# DEPENDERS build |
168 |
# ALWAYS 1 |
169 |
#) |
170 |
|
171 |
|
172 |
#include(CheckCXXCompilerFlag) |
173 |
#check_cxx_compiler_flag(-Wall HAS_ALL_WARNS) |
174 |
#if (HAS_ALL_WARNS) |
175 |
# add_definitions(-Wall) |
176 |
#endif() |
177 |
#check_cxx_compiler_flag(-Wsign-compare HAS_SIGN_COMPARE) |
178 |
#if (HAS_SIGN_COMPARE) |
179 |
# add_definitions(-Wsign-compare) |
180 |
#endif() |
181 |
|
133 |
|
182 |
set(BUILD_SHARED_LIBS ON) # By default all libs will be built as shared libs |
134 |
# By default all libs will be built as shared libs |
|
|
135 |
set(BUILD_SHARED_LIBS ON) |
183 |
|
136 |
|
184 |
# Add some common compiler flags. TODO: Shouldn't this be done checking if whatever compiler |
137 |
# Add some common compiler flags. TODO: Shouldn't this be done checking if whatever compiler |
185 |
# we use supports each flag to allow for non-gcc compilers in Linux (as above)? |
138 |
# we use supports each flag to allow for non-gcc compilers in Linux (as above)? |
Link Here
|
187 |
add_definitions(-Wall -Wsign-compare -Wextra -Wno-unused -Wno-deprecated -DTIXML_USE_STL=1) |
140 |
add_definitions(-Wall -Wsign-compare -Wextra -Wno-unused -Wno-deprecated -DTIXML_USE_STL=1) |
188 |
endif() |
141 |
endif() |
189 |
|
142 |
|
190 |
|
|
|
191 |
#----------------------------------------------------------------------- |
192 |
# Define some useful variables and options |
193 |
#----------------------------------------------------------------------- |
194 |
|
195 |
#set(NCORES 3) # Use this number of cores when compiling |
196 |
#if(CMAKE_COMPILER_IS_GNUCXX) |
197 |
# set(CMAKE_CXX_FLAGS "${CMAKE_CKK_FLAGS} -j${NCORES}") |
198 |
# message(STATUS "CMAKE_CXX_FLAGS = ${CMAKE_CXX_FLAGS}") |
199 |
# #set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary |
200 |
#endif() |
201 |
|
202 |
set(GRT_LIBRARIES ${PYTHON_LIBRARIES} ${LUA_LIBRARIES} ${LIBXML2_LIBRARIES}) |
143 |
set(GRT_LIBRARIES ${PYTHON_LIBRARIES} ${LUA_LIBRARIES} ${LIBXML2_LIBRARIES}) |
203 |
set(GRT_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS} ${LUA_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR}) |
144 |
set(GRT_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS} ${LUA_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR}) |
204 |
|
145 |
|
Link Here
|
225 |
install(FILES ${CMAKE_BINARY_DIR}/mysql-workbench.desktop DESTINATION ${WB_INSTALL_SHARED_DIR}/applications) |
166 |
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) |
167 |
install(FILES ${CMAKE_BINARY_DIR}/mysql-workbench.conf DESTINATION ${WB_INSTALL_ETC_DIR}/ld.so.conf.d) |
227 |
|
168 |
|
228 |
if (EXISTS COPYING) |
169 |
## use COPYING License File provided in source directory |
229 |
install(FILES README COPYING DESTINATION ${WB_INSTALL_DOC_DIR}) |
170 |
install(FILES ${WORKBENCH_SOURCE_DIR}/README ${WORKBENCH_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) |
171 |
install(FILES ${WORKBENCH_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) |
172 |
install(FILES ${WORKBENCH_SOURCE_DIR}/build/debian/mysql-workbench-community.mime DESTINATION ${WB_INSTALL_SHARED_DIR}/mime-info RENAME mysql-workbench.mime) |
232 |
else () |
|
|
233 |
install(FILES README 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) |
235 |
install(FILES build/debian/mysql-workbench-commercial.mime DESTINATION ${WB_INSTALL_SHARED_DIR}/mime-info RENAME mysql-workbench.mime) |
236 |
endif () |
237 |
|
173 |
|
238 |
install(FILES build/build_freetds.sh |
174 |
install(FILES ${WORKBENCH_SOURCE_DIR}/build/build_freetds.sh |
239 |
samples/models/sakila_full.mwb |
175 |
${WORKBENCH_SOURCE_DIR}/samples/models/sakila_full.mwb |
240 |
DESTINATION ${WB_PACKAGE_SHARED_DIR}/extras |
176 |
DESTINATION ${WB_PACKAGE_SHARED_DIR}/extras |
241 |
) |
177 |
) |
242 |
|
178 |
|