Skip to content

Commit

Permalink
build unit test with driver together
Browse files Browse the repository at this point in the history
  • Loading branch information
RoyZhang2022 committed Nov 17, 2023
1 parent e239ed9 commit d81565f
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 9 deletions.
39 changes: 32 additions & 7 deletions driver/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -152,11 +152,8 @@ WHILE(${DRIVER_INDEX} LESS ${DRIVERS_COUNT})
# consequence of this is that on Windows import libraries will not
# be generated nor installed.
IF(WIN32)
IF(ENABLE_UNIT_TESTS)
ADD_LIBRARY(${DRIVER_NAME} ${DRIVER_SRCS} ${AWSSDK_LIB_DIR})
ELSE(ENABLE_UNIT_TESTS)
ADD_LIBRARY(${DRIVER_NAME} SHARED ${DRIVER_SRCS} ${AWSSDK_LIB_DIR})
ENDIF(ENABLE_UNIT_TESTS)
ADD_LIBRARY(${DRIVER_NAME}-static STATIC ${DRIVER_SRCS} ${AWSSDK_LIB_DIR})
ADD_LIBRARY(${DRIVER_NAME} SHARED ${DRIVER_SRCS} ${AWSSDK_LIB_DIR})
ELSE(WIN32)
ADD_LIBRARY(${DRIVER_NAME} SHARED ${DRIVER_SRCS} ${AWSSDK_LIB_DIR})
ENDIF(WIN32)
Expand All @@ -171,6 +168,14 @@ WHILE(${DRIVER_INDEX} LESS ${DRIVERS_COUNT})
INSTALL(TARGETS ${DRIVER_NAME}
CONFIGURATIONS Debug
DESTINATION "${LIB_SUBDIR}/debug")

INSTALL(TARGETS ${DRIVER_NAME}-static
CONFIGURATIONS Release RelWithDebInfo
DESTINATION ${LIB_SUBDIR})

INSTALL(TARGETS ${DRIVER_NAME}-static
CONFIGURATIONS Debug
DESTINATION "${LIB_SUBDIR}/debug")
ELSE()
INSTALL(TARGETS ${DRIVER_NAME} DESTINATION ${LIB_SUBDIR})
ENDIF()
Expand All @@ -179,6 +184,9 @@ WHILE(${DRIVER_INDEX} LESS ${DRIVERS_COUNT})
SET_TARGET_PROPERTIES(${DRIVER_NAME} PROPERTIES
LINK_FLAGS "${MYSQLODBCCONN_LINK_FLAGS_ENV} ${MYSQL_LINK_FLAGS}"
PREFIX "")
SET_TARGET_PROPERTIES(${DRIVER_NAME}-static PROPERTIES
LINK_FLAGS "${MYSQLODBCCONN_LINK_FLAGS_ENV} ${MYSQL_LINK_FLAGS}"
PREFIX "")
ELSE(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET_TARGET_PROPERTIES(${DRIVER_NAME} PROPERTIES
LINK_FLAGS "${MYSQLODBCCONN_LINK_FLAGS_ENV} ${MYSQL_LINK_FLAGS}"
Expand All @@ -188,6 +196,8 @@ WHILE(${DRIVER_INDEX} LESS ${DRIVERS_COUNT})
IF(UNICODE)
SET_TARGET_PROPERTIES(${DRIVER_NAME} PROPERTIES
COMPILE_DEFINITIONS MYODBC_UNICODEDRIVER)
SET_TARGET_PROPERTIES(${DRIVER_NAME}-static PROPERTIES
COMPILE_DEFINITIONS MYODBC_UNICODEDRIVER)
ENDIF(UNICODE)

IF(WIN32)
Expand All @@ -204,17 +214,26 @@ WHILE(${DRIVER_INDEX} LESS ${DRIVERS_COUNT})
LINK_FLAGS_DEBUG "/NODEFAULTLIB:${WITH_NODEFAULTLIB}"
LINK_FLAGS_RELWITHDEBINFO "/NODEFAULTLIB:${WITH_NODEFAULTLIB}"
LINK_FLAGS_RELEASE "/NODEFAULTLIB:${WITH_NODEFAULTLIB}")
SET_TARGET_PROPERTIES(${DRIVER_NAME}-static PROPERTIES
LINK_FLAGS_DEBUG "/NODEFAULTLIB:${WITH_NODEFAULTLIB}"
LINK_FLAGS_RELWITHDEBINFO "/NODEFAULTLIB:${WITH_NODEFAULTLIB}"
LINK_FLAGS_RELEASE "/NODEFAULTLIB:${WITH_NODEFAULTLIB}")
ENDIF ()

IF(MYSQL8)
TARGET_LINK_LIBRARIES(${DRIVER_NAME} myodbc-util
${MYSQL_CLIENT_LIBS} ws2_32 ${ODBCINSTLIB} ${SECURE32_LIB} legacy_stdio_definitions.lib)
TARGET_LINK_LIBRARIES(${DRIVER_NAME}-static myodbc-util
${MYSQL_CLIENT_LIBS} ws2_32 ${ODBCINSTLIB} ${SECURE32_LIB} legacy_stdio_definitions.lib)
ELSE(MYSQL8)
TARGET_LINK_LIBRARIES(${DRIVER_NAME}-static myodbc-util
${MYSQL_CLIENT_LIBS} ws2_32 ${ODBCINSTLIB} ${SECURE32_LIB})
TARGET_LINK_LIBRARIES(${DRIVER_NAME} myodbc-util
${MYSQL_CLIENT_LIBS} ws2_32 ${ODBCINSTLIB} ${SECURE32_LIB})
ENDIF(MYSQL8)

TARGET_LINK_LIBRARIES(${DRIVER_NAME} Dnsapi)
TARGET_LINK_LIBRARIES(${DRIVER_NAME}-static Dnsapi)

ELSE(WIN32)

Expand Down Expand Up @@ -242,9 +261,13 @@ WHILE(${DRIVER_INDEX} LESS ${DRIVERS_COUNT})
SET_TARGET_PROPERTIES(${DRIVER_NAME} PROPERTIES
LINKER_LANGUAGE CXX
COMPILE_FLAGS "${MYSQLODBCCONN_COMPILE_FLAGS_ENV} ${MYSQL_CXXFLAGS}")
SET_TARGET_PROPERTIES(${DRIVER_NAME}-static PROPERTIES
LINKER_LANGUAGE CXX
COMPILE_FLAGS "${MYSQLODBCCONN_COMPILE_FLAGS_ENV} ${MYSQL_CXXFLAGS}")
ENDIF (MYSQL_CXX_LINKAGE)

set_property(TARGET ${DRIVER_NAME} PROPERTY BUILD_WITH_INSTALL_RPATH ON)
set_property(TARGET ${DRIVER_NAME}-static PROPERTY BUILD_WITH_INSTALL_RPATH ON)

if(APPLE)
set_property(TARGET ${DRIVER_NAME} APPEND PROPERTY INSTALL_RPATH "@loader_path")
Expand All @@ -265,13 +288,15 @@ WHILE(${DRIVER_INDEX} LESS ${DRIVERS_COUNT})
#------------AWS SDK------------------
LIST(APPEND SERVICE_LIST rds secretsmanager)

IF(MSVC AND NOT ENABLE_UNIT_TESTS)
IF(MSVC)
MESSAGE(STATUS "Copying AWS SDK libraries to ${LIBRARY_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}")
AWSSDK_CPY_DYN_LIBS(SERVICE_LIST "" ${LIBRARY_OUTPUT_PATH}/${CMAKE_BUILD_TYPE})
ENDIF(MSVC AND NOT ENABLE_UNIT_TESTS)
ENDIF(MSVC)

TARGET_INCLUDE_DIRECTORIES(${DRIVER_NAME} PUBLIC ${AWSSDK_INCLUDE_DIR})
TARGET_LINK_LIBRARIES(${DRIVER_NAME} ${AWSSDK_LINK_LIBRARIES})
TARGET_INCLUDE_DIRECTORIES(${DRIVER_NAME}-static PUBLIC ${AWSSDK_INCLUDE_DIR})
TARGET_LINK_LIBRARIES(${DRIVER_NAME}-static ${AWSSDK_LINK_LIBRARIES})
#------------------------------

ENDWHILE(${DRIVER_INDEX} LESS ${DRIVERS_COUNT})
4 changes: 2 additions & 2 deletions unit_testing/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,11 @@ target_link_libraries(
unit_testing
gtest_main
gmock_main
awsmysqlodbca
awsmysqlodbca-static
)

include(GoogleTest)
gtest_discover_tests(unit_testing PROPERTIES DISCOVERY_TIMEOUT 30)
#gtest_discover_tests(unit_testing PROPERTIES DISCOVERY_TIMEOUT 30)

set_target_properties(unit_testing PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)

0 comments on commit d81565f

Please sign in to comment.