mysql: simplify cmake configuration

This commit is contained in:
Lukas Rusak 2016-09-23 14:29:49 -07:00
parent dbc1ea3833
commit 7347ef76b7
No known key found for this signature in database
GPG Key ID: 8C310C807E7393A3
3 changed files with 72 additions and 46 deletions

View File

@ -43,23 +43,22 @@ post_unpack() {
sed -i '/^IF(NOT BOOST_MINOR_VERSION.*$/,/^ENDIF()$/d' $ROOT/$PKG_BUILD/cmake/boost.cmake
}
configure_host() {
cmake -DCMAKE_PREFIX_PATH=$ROOT/$TOOLCHAIN/ \
-DCMAKE_BUILD_TYPE=Release \
-DWITHOUT_SERVER=OFF \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_INNOBASE_STORAGE_ENGINE=OFF \
-DWITH_PARTITION_STORAGE_ENGINE=OFF \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF \
-DWITH_EXTRA_CHARSETS=none \
-DWITH_EDITLINE=bundled \
-DWITH_LIBEVENT=bundled \
-DDOWNLOAD_BOOST=0 \
-DLOCAL_BOOST_DIR=$(get_build_dir boost) \
-DWITH_UNIT_TESTS=OFF \
-DWITH_ZLIB=bundled \
..
}
PKG_CMAKE_OPTS_HOST="-DCMAKE_BUILD_TYPE=Release \
-DSTACK_DIRECTION=-1 \
-DHAVE_LLVM_LIBCPP_EXITCODE=0 \
-DHAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE_EXITCODE=0 \
-DWITHOUT_SERVER=OFF \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_INNOBASE_STORAGE_ENGINE=OFF \
-DWITH_PARTITION_STORAGE_ENGINE=OFF \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF \
-DWITH_EXTRA_CHARSETS=none \
-DWITH_EDITLINE=bundled \
-DWITH_LIBEVENT=bundled \
-DDOWNLOAD_BOOST=0 \
-DLOCAL_BOOST_DIR=$(get_build_dir boost) \
-DWITH_UNIT_TESTS=OFF \
-DWITH_ZLIB=bundled"
make_host() {
make comp_err
@ -78,40 +77,32 @@ makeinstall_host() {
cp -P scripts/comp_sql $ROOT/$TOOLCHAIN/bin
}
configure_target() {
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
-DCMAKE_PREFIX_PATH=$SYSROOT_PREFIX/usr \
-DCMAKE_INSTALL_PREFIX=/usr \
-DINSTALL_INCLUDEDIR=include/mysql \
-DCMAKE_BUILD_TYPE=Release \
-DFEATURE_SET=classic \
-DDISABLE_SHARED=ON \
-DENABLE_DTRACE=OFF \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_INNOBASE_STORAGE_ENGINE=OFF \
-DWITH_PARTITION_STORAGE_ENGINE=OFF \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_UNIT_TESTS=OFF \
-DWITHOUT_SERVER=ON \
-DWITH_EDITLINE=bundled \
-DWITH_LIBEVENT=bundled \
-DWITH_ZLIB=system \
-DWITH_SSL=$SYSROOT_PREFIX/usr \
-DDOWNLOAD_BOOST=0 \
-DLOCAL_BOOST_DIR=$(get_build_dir boost) \
-DSTACK_DIRECTION=1 \
-DHAVE_LLVM_LIBCPP=1 \
-DCMAKE_C_FLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer -fno-delete-null-pointer-checks" \
-DCMAKE_CXX_FLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-delete-null-pointer-checks" \
..
}
PKG_CMAKE_OPTS_TARGET="-DINSTALL_INCLUDEDIR=include/mysql \
-DCMAKE_BUILD_TYPE=Release \
-DFEATURE_SET=classic \
-DDISABLE_SHARED=ON \
-DENABLE_DTRACE=OFF \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_INNOBASE_STORAGE_ENGINE=OFF \
-DWITH_PARTITION_STORAGE_ENGINE=OFF \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_UNIT_TESTS=OFF \
-DWITHOUT_SERVER=ON \
-DWITH_EDITLINE=bundled \
-DWITH_LIBEVENT=bundled \
-DWITH_ZLIB=system \
-DWITH_SSL=$SYSROOT_PREFIX/usr \
-DDOWNLOAD_BOOST=0 \
-DLOCAL_BOOST_DIR=$(get_build_dir boost) \
-DSTACK_DIRECTION=1 \
-DHAVE_LLVM_LIBCPP=1"
post_makeinstall_target() {
sed -i "s|pkgincludedir=.*|pkgincludedir=\'$SYSROOT_PREFIX/usr/include/mysql\'|" scripts/mysql_config
sed -i "s|pkglibdir=.*|pkglibdir=\'$SYSROOT_PREFIX/usr/lib/mysql\'|" scripts/mysql_config
cp scripts/mysql_config $SYSROOT_PREFIX/usr/bin
ln -sf $SYSROOT_PREFIX/usr/bin/mysql_config $ROOT/$TOOLCHAIN/bin/mysql_config
rm -rf $INSTALL
}

View File

@ -0,0 +1,18 @@
diff -Naur a/extra/CMakeLists.txt b/extra/CMakeLists.txt
--- a/extra/CMakeLists.txt 2016-09-21 23:16:59.458308368 -0700
+++ b/extra/CMakeLists.txt 2016-09-21 23:17:34.187663318 -0700
@@ -28,11 +28,9 @@
# Default install component for the files is Server here
SET(MYSQL_INSTALL_COMPONENT Server)
-IF(NOT CMAKE_CROSSCOMPILING)
- ADD_EXECUTABLE(comp_err comp_err.c)
- TARGET_LINK_LIBRARIES(comp_err mysys mysys_ssl)
- SET_TARGET_PROPERTIES(comp_err PROPERTIES LINKER_LANGUAGE CXX)
-ENDIF()
+ADD_EXECUTABLE(comp_err comp_err.c)
+TARGET_LINK_LIBRARIES(comp_err mysys mysys_ssl)
+SET_TARGET_PROPERTIES(comp_err PROPERTIES LINKER_LANGUAGE CXX)
IF (BUILD_BUNDLED_LZ4)
ADD_CONVENIENCE_LIBRARY(lz4_lib

View File

@ -0,0 +1,17 @@
diff -Naur a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
--- a/scripts/CMakeLists.txt 2016-09-21 23:16:59.461308398 -0700
+++ b/scripts/CMakeLists.txt 2016-09-21 23:23:50.606510539 -0700
@@ -14,11 +14,8 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# Build comp_sql - used for embedding SQL in C or C++ programs
-IF(NOT CMAKE_CROSSCOMPILING)
- ADD_EXECUTABLE(comp_sql comp_sql.c)
- TARGET_LINK_LIBRARIES(comp_sql)
-ENDIF()
-
+ADD_EXECUTABLE(comp_sql comp_sql.c)
+TARGET_LINK_LIBRARIES(comp_sql)
# Build mysql_fix_privilege_tables.sql (concatenate 2 sql scripts)
IF(NOT WIN32 OR CMAKE_CROSSCOMPILING)