--- mysql-workbench-community-6.0.6-src.orig/CMakeLists.txt 2013-08-09 17:32:52.000000000 +0200 +++ mysql-workbench-community-6.0.6-src/CMakeLists.txt 2013-08-25 19:11:10.391134452 +0200 @@ -27,24 +27,7 @@ pkg_check_modules(GLIB REQUIRED glib-2.0) -# All known publicly available versions of Antlr3C are buggy - -if (SKIP_BUNDLED_ANTLR) - find_package(Antlr3C) -endif () -if (ANTLR3C_FOUND) - set(ANTLR3C_REQUIRED_VERSION "3.4") - if (${ANTLR3C_VERSION} VERSION_LESS ${ANTLR3C_REQUIRED_VERSION}) - message("Required antlr3c version ${ANTLR3C_REQUIRED_VERSION} but ${ANTLR3C_VERSION} found, using bundled version") - unset(ANTLR3C_FOUND) - endif () -endif () - -# 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) find_package(PythonLibs) -if (NOT PYTHONLIBS_FOUND) - pkg_check_modules(PYTHON REQUIRED python) -endif () set(GRT_DEFINITIONS -DENABLE_PYTHON_MODULES) find_package(Lua51) @@ -66,25 +49,19 @@ find_package(VSqlite REQUIRED) find_package(TinyXML REQUIRED) -if (UNIX) - option(USE_UNIXODBC "Use unixODBC instead of iODBC" OFF) - if (USE_UNIXODBC) - find_package(UNIXODBC REQUIRED) - set(ODBC_LIBRARIES ${UNIXODBC_LIBRARIES}) - set(ODBC_INCLUDE_DIRS ${UNIXODBC_INCLUDE_DIRS}) - else () - find_package(IODBC REQUIRED) - set(ODBC_LIBRARIES ${IODBC_LIBRARIES}) - set(ODBC_INCLUDE_DIRS ${IODBC_INCLUDE_DIRS}) - endif() -endif () +## disabled UNIXODBC check +find_package(IODBC REQUIRED) +set(ODBC_LIBRARIES ${IODBC_LIBRARIES}) +set(ODBC_INCLUDE_DIRS ${IODBC_INCLUDE_DIRS}) pkg_check_modules(PCRE REQUIRED libpcre libpcrecpp) pkg_check_modules(CAIRO REQUIRED cairo>=1.5.12) pkg_check_modules(SQLITE3 REQUIRED sqlite3) pkg_check_modules(UUID REQUIRED uuid) pkg_check_modules(LIBZIP REQUIRED libzip) -if (UNIX) + +option(USE_GNOME_KEYRING "Use gnome-keyring." OFF) +if (UNIX AND USE_GNOME_KEYRING) pkg_check_modules(GNOME_KEYRING gnome-keyring-1) if (GNOME_KEYRING_FOUND) set(KEYRING_DEFINITION "HAVE_GNOME_KEYRING") @@ -92,6 +69,8 @@ pkg_check_modules(GNOME_KEYRING gnome-keyring) if (GNOME_KEYRING_FOUND) set(KEYRING_DEFINITION "HAVE_OLD_GNOME_KEYRING") + else () + message( FATAL_ERROR "Gnome Keyring was not found but requested!" ) endif() endif() endif() @@ -133,53 +112,27 @@ include(ExternalProject) -if (NOT ANTLR3C_FOUND) - message("Using bundled Antlr C runtime") - # Use for Antlr3 the one we have in /ext: - set(ANTLR3C_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/ext/antlr-runtime ${PROJECT_SOURCE_DIR}/ext/antlr-runtime/include) - set(ANTLR3C_LIBRARIES "-L${PROJECT_BINARY_DIR}/antlr-wb -lantlr3c_wb") - - ExternalProject_Add(antlr-wb - SOURCE_DIR ${PROJECT_SOURCE_DIR}/ext/antlr-runtime - CONFIGURE_COMMAND autoreconf -i -s && ${PROJECT_SOURCE_DIR}/ext/antlr-runtime/configure - --prefix=${PROJECT_BINARY_DIR}/antlr-wb - --libdir=${PROJECT_BINARY_DIR}/antlr-wb +## use the bundled ANTLR C runtime - the version bundled is not yet upstreamed. +message("Using bundled Antlr C runtime") +# Use for Antlr3 the one we have in /ext: +set(ANTLR3C_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/ext/antlr-runtime ${PROJECT_SOURCE_DIR}/ext/antlr-runtime/include) +set(ANTLR3C_LIBRARIES "-L${PROJECT_BINARY_DIR}/antlr-wb -lantlr3c_wb") + +ExternalProject_Add(antlr-wb +SOURCE_DIR ${PROJECT_SOURCE_DIR}/ext/antlr-runtime +CONFIGURE_COMMAND autoreconf -i -s && ${PROJECT_SOURCE_DIR}/ext/antlr-runtime/configure + --prefix=${PROJECT_BINARY_DIR}/antlr-wb + --libdir=${PROJECT_BINARY_DIR}/antlr-wb --disable-abiflags - BUILD_COMMAND make - BUILD_IN_SOURCE 1 - INSTALL_COMMAND make install - ) - - link_directories(${PROJECT_BINARY_DIR}/antlr-wb) -endif () - -# Uncomment these lines if at any time you want to force the configure and/or build -# of antlr-wb: -#ExternalProject_Add_Step(antlr-wb forceconfigure -# COMMAND ${CMAKE_COMMAND} -E echo "Force configure of antlr-wb" -# DEPENDEES update -# DEPENDERS configure -# ALWAYS 1 -#) -#ExternalProject_Add_Step(antlr-wb forcebuild -# COMMAND ${CMAKE_COMMAND} -E echo "Force build of antlr-wb" -# DEPENDEES configure -# DEPENDERS build -# ALWAYS 1 -#) - - -#include(CheckCXXCompilerFlag) -#check_cxx_compiler_flag(-Wall HAS_ALL_WARNS) -#if (HAS_ALL_WARNS) -# add_definitions(-Wall) -#endif() -#check_cxx_compiler_flag(-Wsign-compare HAS_SIGN_COMPARE) -#if (HAS_SIGN_COMPARE) -# add_definitions(-Wsign-compare) -#endif() + BUILD_COMMAND make + BUILD_IN_SOURCE 1 + INSTALL_COMMAND make install +) + +link_directories(${PROJECT_BINARY_DIR}/antlr-wb) -set(BUILD_SHARED_LIBS ON) # By default all libs will be built as shared libs +# By default all libs will be built as shared libs +set(BUILD_SHARED_LIBS ON) # Add some common compiler flags. TODO: Shouldn't this be done checking if whatever compiler # we use supports each flag to allow for non-gcc compilers in Linux (as above)? @@ -187,18 +140,6 @@ add_definitions(-Wall -Wsign-compare -Wextra -Wno-unused -Wno-deprecated -DTIXML_USE_STL=1) endif() - -#----------------------------------------------------------------------- -# Define some useful variables and options -#----------------------------------------------------------------------- - -#set(NCORES 3) # Use this number of cores when compiling -#if(CMAKE_COMPILER_IS_GNUCXX) -# set(CMAKE_CXX_FLAGS "${CMAKE_CKK_FLAGS} -j${NCORES}") -# message(STATUS "CMAKE_CXX_FLAGS = ${CMAKE_CXX_FLAGS}") -# #set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary -#endif() - set(GRT_LIBRARIES ${PYTHON_LIBRARIES} ${LUA_LIBRARIES} ${LIBXML2_LIBRARIES}) set(GRT_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS} ${LUA_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR}) @@ -225,18 +166,13 @@ install(FILES ${CMAKE_BINARY_DIR}/mysql-workbench.desktop DESTINATION ${WB_INSTALL_SHARED_DIR}/applications) install(FILES ${CMAKE_BINARY_DIR}/mysql-workbench.conf DESTINATION ${WB_INSTALL_ETC_DIR}/ld.so.conf.d) -if (EXISTS COPYING) - install(FILES README COPYING DESTINATION ${WB_INSTALL_DOC_DIR}) - install(FILES build/debian/mysql-workbench-community.sharedmimeinfo DESTINATION ${WB_INSTALL_SHARED_DIR}/mime/packages RENAME mysql-workbench.xml) - install(FILES build/debian/mysql-workbench-community.mime DESTINATION ${WB_INSTALL_SHARED_DIR}/mime-info RENAME mysql-workbench.mime) -else () - install(FILES README LICENSE.mysql DESTINATION ${WB_INSTALL_DOC_DIR}) - install(FILES build/debian/mysql-workbench-commercial.sharedmimeinfo DESTINATION ${WB_INSTALL_SHARED_DIR}/mime/packages RENAME mysql-workbench.xml) - install(FILES build/debian/mysql-workbench-commercial.mime DESTINATION ${WB_INSTALL_SHARED_DIR}/mime-info RENAME mysql-workbench.mime) -endif () +## use COPYING License File provided in source directory +install(FILES ${WORKBENCH_SOURCE_DIR}/README ${WORKBENCH_SOURCE_DIR}/COPYING DESTINATION ${WB_INSTALL_DOC_DIR}) +install(FILES ${WORKBENCH_SOURCE_DIR}/build/debian/mysql-workbench-community.sharedmimeinfo DESTINATION ${WB_INSTALL_SHARED_DIR}/mime/packages RENAME mysql-workbench.xml) +install(FILES ${WORKBENCH_SOURCE_DIR}/build/debian/mysql-workbench-community.mime DESTINATION ${WB_INSTALL_SHARED_DIR}/mime-info RENAME mysql-workbench.mime) -install(FILES build/build_freetds.sh - samples/models/sakila_full.mwb +install(FILES ${WORKBENCH_SOURCE_DIR}/build/build_freetds.sh + ${WORKBENCH_SOURCE_DIR}/samples/models/sakila_full.mwb DESTINATION ${WB_PACKAGE_SHARED_DIR}/extras )