1
cmake_minimum_required(VERSION 2.6)
4
set(ARCHIVE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}")
7
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
13
option(BUILD_DOCS "Build the documentation" ON)
16
add_subdirectory(docs)
19
set(CMAKE_C_FLAGS "-Wall -Wunused -Wwrite-strings -Wno-strict-aliasing -Wextra -Wshadow -Werror -O3 -g ${MYSQL_CFLAGS}")
21
include_directories(${MYDUMPER_SOURCE_DIR} ${MYSQL_INCLUDE_DIR} ${GLIB2_INCLUDE_DIR} ${PCRE_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS})
23
if (NOT CMAKE_INSTALL_PREFIX)
24
SET(CMAKE_INSTALL_PREFIX "/usr/local" CACHE STRING "Install path" FORCE)
25
endif (NOT CMAKE_INSTALL_PREFIX)
26
MARK_AS_ADVANCED(CMAKE)
28
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
30
add_executable(mydumper mydumper.c binlog.c server_detect.c g_unix_signal.c)
31
target_link_libraries(mydumper ${MYSQL_LIBRARIES} ${GLIB2_LIBRARIES} ${GTHREAD2_LIBRARIES} ${PCRE_PCRE_LIBRARY} ${ZLIB_LIBRARIES})
33
add_executable(myloader myloader.c)
34
target_link_libraries(myloader ${MYSQL_LIBRARIES} ${GLIB2_LIBRARIES} ${GTHREAD2_LIBRARIES} ${PCRE_PCRE_LIBRARY} ${ZLIB_LIBRARIES})
36
INSTALL(TARGETS mydumper myloader
37
RUNTIME DESTINATION bin
40
add_custom_target(dist
41
COMMAND bzr export --root=${ARCHIVE_NAME}
42
${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.gz
43
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
45
OPTION(RUN_CPPCHECK "Run cppcheck" OFF)
48
include(CppcheckTargets)
49
add_cppcheck(mydumper)
50
add_cppcheck(myloader)
54
MESSAGE(STATUS "------------------------------------------------")
55
MESSAGE(STATUS "MYSQL_CONFIG = ${MYSQL_CONFIG}")
56
MESSAGE(STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}")
57
MESSAGE(STATUS "BUILD_DOCS = ${BUILD_DOCS}")
58
MESSAGE(STATUS "RUN_CPPCHECK = ${RUN_CPPCHECK}")
59
MESSAGE(STATUS "Change a values with: cmake -D<Variable>=<Value>")
60
MESSAGE(STATUS "------------------------------------------------")