an attempt to improve the MySQL CMake module, let's see if Travis build fails

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
This commit is contained in:
Ivailo Monev 2017-08-04 08:17:23 +00:00
parent c25e7674fa
commit 2c65588e34
2 changed files with 42 additions and 14 deletions

View file

@ -21,8 +21,8 @@ before_script:
- sleep 3
script:
- mkdir build && cd build
- if [ "$CXX" == "clang++" ];then cmake ../ -GNinja -DENABLE_TESTING=TRUE -DKATIE_UTILS=ON -Wno-dev -DMYSQL_LIBRARIES:STRING="-lmysqld -lcrypt -laio" ;fi
- if [ "$CXX" == "g++" ];then cmake ../ -GNinja -DENABLE_TESTING=TRUE -DKATIE_UTILS=ON -DKATIE_ALLINONE=ON -Wno-dev -DMYSQL_LIBRARIES:STRING="-lmysqld -lcrypt -laio" ;fi
- if [ "$CXX" == "clang++" ];then cmake ../ -GNinja -DENABLE_TESTING=TRUE -DKATIE_UTILS=ON -Wno-dev ;fi
- if [ "$CXX" == "g++" ];then cmake ../ -GNinja -DENABLE_TESTING=TRUE -DKATIE_UTILS=ON -DKATIE_ALLINONE=ON -Wno-dev ;fi
- ninja
# the tests/benchmarks take more then 1-hour and Travis times out,
# despite the documentaiton for the service claiming otherwise

View file

@ -14,7 +14,34 @@ if(MYSQL_INCLUDES AND MYSQL_LIBRARIES)
endif()
# Neither MySQL nor MariaDB provide pkg-config files
# However, they provide mysql_config
find_program(MYSQL_CONFIG
NAMES
mysql_config
HINTS
$ENV{MYSQLDIR}/bin
)
if(MYSQL_CONFIG)
message(STATUS "Using ${MYSQL_CONFIG} to get package variables")
execute_process(
COMMAND ${MYSQL_CONFIG} --variable=pkgincludedir
RESULT_VARIABLE procerror1
OUTPUT_VARIABLE MYSQL_INCLUDES
OUTPUT_STRIP_TRAILING_WHITESPACE
)
execute_process(
COMMAND ${MYSQL_CONFIG} --libmysqld-libs
RESULT_VARIABLE proceerror2
OUTPUT_VARIABLE MYSQL_LIBRARIES
OUTPUT_STRIP_TRAILING_WHITESPACE
)
# just in case
if(NOT procerror1 STREQUAL "0" OR NOT proceerror2 STREQUAL "0")
set(MYSQL_INCLUDES)
set(MYSQL_LIBRARIES)
endif()
else()
find_path(MYSQL_INCLUDES
NAMES
mysql.h
@ -30,6 +57,7 @@ find_library(MYSQL_LIBRARIES
$ENV{MYSQLDIR}/lib
${LIB_INSTALL_DIR}
)
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(MySQL DEFAULT_MSG MYSQL_INCLUDES MYSQL_LIBRARIES)