mirror of
https://github.com/pocoproject/poco.git
synced 2025-10-16 18:56:52 +02:00
Very basic but functional (at least on linux with gcc) support
for CMake build system . It is strongly recomended to use out-of-source build to preserve original Poco makefiles. http://www.cmake.org/Wiki/CMake_FAQ#Out-of-source_build_trees I have tested unix makefile generating and Eclipse CDT4 generating. Supported are static/dynamic and debug/release targets. On now only core libs are included: CppUnit, Foundation, Data, Data/SQLite, Util, Net and XML. But autodetection of OpenSSL, MySQL and ODBC is working OK already. CPack and CTest nor library install still doesn't work, only building. This is only the start.
This commit is contained in:
57
contrib/cmake/FindMySQL.cmake
Normal file
57
contrib/cmake/FindMySQL.cmake
Normal file
@@ -0,0 +1,57 @@
|
||||
find_path(MYSQL_INCLUDE_DIR mysql.h
|
||||
/usr/include/mysql
|
||||
/usr/local/include/mysql
|
||||
/opt/mysql/mysql/include
|
||||
/opt/mysql/mysql/include/mysql
|
||||
/usr/local/mysql/include
|
||||
/usr/local/mysql/include/mysql
|
||||
$ENV{MYSQL_INCLUDE_DIR}
|
||||
$ENV{MYSQL_DIR}/include
|
||||
$ENV{ProgramFiles}/MySQL/*/include
|
||||
$ENV{SystemDrive}/MySQL/*/include)
|
||||
|
||||
if (WIN32)
|
||||
if (CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||
set(libsuffixDist debug)
|
||||
set(libsuffixBuild Debug)
|
||||
else (CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||
set(libsuffixDist opt)
|
||||
set(libsuffixBuild Release)
|
||||
add_definitions(-DDBUG_OFF)
|
||||
endif (CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||
|
||||
find_library(MYSQL_LIB NAMES mysqlclient
|
||||
PATHS
|
||||
$ENV{MYSQL_DIR}/lib/${libsuffixDist}
|
||||
$ENV{MYSQL_DIR}/libmysql/${libsuffixBuild}
|
||||
$ENV{MYSQL_DIR}/client/${libsuffixBuild}
|
||||
$ENV{ProgramFiles}/MySQL/*/lib/${libsuffixDist}
|
||||
$ENV{SystemDrive}/MySQL/*/lib/${libsuffixDist})
|
||||
else (WIN32)
|
||||
find_library(MYSQL_LIB NAMES mysqlclient_r
|
||||
PATHS
|
||||
/usr/lib/mysql
|
||||
/usr/local/lib/mysql
|
||||
/usr/local/mysql/lib
|
||||
/usr/local/mysql/lib/mysql
|
||||
/opt/mysql/mysql/lib
|
||||
/opt/mysql/mysql/lib/mysql
|
||||
$ENV{MYSQL_DIR}/libmysql_r/.libs
|
||||
$ENV{MYSQL_DIR}/lib
|
||||
$ENV{MYSQL_DIR}/lib/mysql)
|
||||
endif (WIN32)
|
||||
|
||||
if(MYSQL_LIB)
|
||||
get_filename_component(MYSQL_LIB_DIR ${MYSQL_LIB} PATH)
|
||||
endif(MYSQL_LIB)
|
||||
|
||||
if (MYSQL_INCLUDE_DIR AND MYSQL_LIB_DIR)
|
||||
set(MYSQL_FOUND TRUE)
|
||||
|
||||
message(STATUS "MySQL Include directory: ${MYSQL_INCLUDE_DIR} library directory: ${MYSQL_LIB_DIR}")
|
||||
|
||||
include_directories(${MYSQL_INCLUDE_DIR})
|
||||
link_directories(${MYSQL_LIB_DIR})
|
||||
else (MYSQL_INCLUDE_DIR AND MYSQL_LIB_DIR)
|
||||
message(FATAL_ERROR "Cannot find MySQL, include directory: ${MYSQL_INCLUDE_DIR} library directory: ${MYSQL_LIB_DIR}")
|
||||
endif (MYSQL_INCLUDE_DIR AND MYSQL_LIB_DIR)
|
Reference in New Issue
Block a user