--- a/cmake/modules/FindMySQL.cmake +++ b/cmake/modules/FindMySQL.cmake @@ -21,9 +21,14 @@ PATHS $ENV{MYSQL_INCLUDE_DIR} $ENV{MYSQL_DIR}/include + if(MSVC) $ENV{ProgramFiles}/MySQL/*/include $ENV{SystemDrive}/MySQL/*/include $ENV{ProgramW6432}/MySQL/*/include + else() + PATH_SUFFIXES + mysql + endif() ) else(WIN32) find_path(MYSQL_INCLUDE_DIR mysql.h @@ -55,6 +60,7 @@ endif(CMAKE_BUILD_TYPE_TOLOWER MATCHES "debug") # find_library(MYSQL_LIBRARIES NAMES mysqlclient + if(MSVC) set(MYSQL_LIB_PATHS $ENV{MYSQL_DIR}/lib/${binary_dist} $ENV{MYSQL_DIR}/libmysql/${build_dist} @@ -71,6 +77,15 @@ PATHS ${MYSQL_LIB_PATHS} ) + else() + set(MYSQL_LIB_PATHS + $ENV{MYSQL_DIR}/lib + ) + find_library(MYSQL_LIBRARIES NAMES mysqlclient + PATHS + ${MYSQL_LIB_PATHS} + ) + endif() else(WIN32) # find_library(MYSQL_LIBRARIES NAMES mysqlclient set(MYSQL_LIB_PATHS --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -137,7 +137,7 @@ message(FATAL_ERROR "No thread library found") endif() -if(NOT MSVC) +if(NOT WIN32) set(DL_FIND_QUIETLY TRUE) find_package(DL) if(DL_FOUND) --- a/tests/odbc/CMakeLists.txt +++ b/tests/odbc/CMakeLists.txt @@ -35,7 +35,7 @@ SOURCE test-odbc-mysql.cpp ${SOCI_TESTS_COMMON} CONNSTR "test-mysql.dsn") -if(WIN32) +if(SOCI_TARGET_ARCH_X64) set(TEST_PGSQL_DSN "test-postgresql-win64.dsn") else() set(TEST_PGSQL_DSN "test-postgresql.dsn")