added gcov and static embedded library flags

This commit is contained in:
Markus Makela 2014-09-11 21:50:59 +03:00
parent dc92dbd374
commit 11a7c0d6b6
2 changed files with 23 additions and 7 deletions

View File

@ -22,12 +22,24 @@ endif(ERRMSG_NOT_FOUND)
set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} -fPIC)
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -fPIC)
if(NOT EMBEDDED_LIB)
find_library(EMBEDDED_LIB libmysqld.a PATHS /usr/lib /usr/lib64 PATH_SUFFIXES mysql)
if(EMBEDDED_LIB_NOT_FOUND)
message(ERROR "Library not found: libmysqld. If your install of MySQL is in a non-default location, please provide the location with -DEMBEDDED_LIB=<path to library>")
endif(EMBEDDED_LIB_NOT_FOUND)
endif(NOT EMBEDDED_LIB)
if(GCOV)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov")
endif(GCOV)
if(STATIC_EMBEDDED)
find_file(EMBEDDED_LIB libmysqld.a PATHS /usr/lib /usr/lib64 PATH_SUFFIXES mysql mariadb)
message(STATUS "Using static embedded library.")
elseif( NOT STATIC_EMBEDDED)
find_library(EMBEDDED_LIB mysqld PATHS /usr/lib /usr/lib64 PATH_SUFFIXES mysql mariadb)
message(STATUS "Using dynamic embedded library.")
endif(STATIC_EMBEDDED)
if(EMBEDDED_LIB_NOT_FOUND)
message(FATAL_ERROR "Library not found: libmysqld. If your install of MySQL is in a non-default location, please provide the location with -DEMBEDDED_LIB=<path to library>")
endif(EMBEDDED_LIB_NOT_FOUND)
include_directories(${MYSQL_DIR})
include_directories(${MYSQL_DIR}/private)
@ -52,6 +64,8 @@ endif(BUILD_RABBITMQ)
file(GLOB DOCS Documentation/*.pdf)
install(FILES server/test/MaxScale_test.cnf RENAME MaxScale.cnf DESTINATION etc)
install(FILES maxscale.conf DESTINATION etc/ld.so.conf.d)
install(FILES etc/init.d/maxscale DESTINATION etc/init.d)
install(FILES ${ERRMSG} DESTINATION mysql)
install(FILES ${EMBEDDED_LIB} DESTINATION lib)
install(FILES ${DOCS} DESTINATION Documentation)
@ -62,6 +76,7 @@ set(CPACK_GENERATOR "RPM")
set(CPACK_PACKAGE_VERSION_MAJOR "1")
set(CPACK_PACKAGE_VERSION_MINOR "0")
set(CPACK_PACKAGE_VERSION_PATCH "0")
set(CPACK_PACKAGE_CONTACT "SkySQL Ab")
set(CPACK_PACKAGE_FILE_NAME "maxscale-${MAXSCALE_VERSION}")
set(CPACK_RPM_PACKAGE_NAME "maxscale-${MAXSCALE_VERSION}")
set(CPACK_RPM_PACKAGE_VENDOR "SkySQL Ab")

View File

@ -1,12 +1,13 @@
file(GLOB FULLCORE_SRC *.c)
add_library(fullcore STATIC ${FULLCORE_SRC})
target_link_libraries(fullcore utils log_manager aio pthread crypt dl mysqld crypto inih)
add_executable(maxscale atomic.c buffer.c spinlock.c gateway.c
gw_utils.c utils.c dcb.c load_utils.c session.c service.c server.c
poll.c config.c users.c hashtable.c dbusers.c thread.c gwbitmask.c
monitor.c adminusers.c secrets.c filter.c modutil.c hint.c housekeeper.c)
set_target_properties(maxscale PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/lib)
target_link_libraries(maxscale utils log_manager aio pthread crypt dl mysqld crypto inih)
target_link_libraries(maxscale utils log_manager ssl aio pthread crypt dl ${EMBEDDED_LIB} crypto inih z)
install(TARGETS maxscale DESTINATION bin)
add_executable(maxkeys maxkeys.c secrets.c utils.c)