~mysql/mysql-connector-cpp/trunk

« back to all changes in this revision

Viewing changes to driver/CMakeLists.txt

  • Committer: Hemant Dangi
  • Date: 2014-12-16 10:34:47 UTC
  • Revision ID: hemant.dangi@oracle.com-20141216103447-15koxf1fwke06arx
Bug#20125824/19447498: cmake build issue - out of source build and compile issue with Boost-devel-1.41.0-25.EL6.I686

Show diffs side-by-side

added added

removed removed

Lines of Context:
35
35
SET(MYSQLCPPCONN_TRACE_ENABLE 0 CACHE BOOL "trace-enabled")
36
36
 
37
37
IF(MYSQLCPPCONN_TRACE_ENABLE)
38
 
        MESSAGE(STATUS "Building with tracing functionality")
39
 
        # Visual Studio 8 and up understand Variadic macros
40
 
        IF(WIN32)
41
 
                IF(CMAKE_GENERATOR MATCHES "Visual Studio 8"
42
 
                        OR CMAKE_GENERATOR MATCHES "Visual Studio 9"
43
 
                        OR CMAKE_GENERATOR MATCHES "NMake Makefiles")
44
 
 
45
 
                        ADD_DEFINITIONS("-DCPPCONN_TRACE_ENABLED")
46
 
                ELSE(CMAKE_GENERATOR MATCHES "Visual Studio 8"
47
 
                                OR CMAKE_GENERATOR MATCHES "Visual Studio 9"
48
 
                                OR CMAKE_GENERATOR MATCHES "NMake Makefiles")
49
 
                        MESSAGE(STATUS "Tracing will not be available in this build. VC8 or VC9 is needed.")
50
 
                ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8"
51
 
                                OR CMAKE_GENERATOR MATCHES "Visual Studio 9"
52
 
                                OR CMAKE_GENERATOR MATCHES "NMake Makefiles")
53
 
        ELSE(WIN32)
54
 
                ADD_DEFINITIONS("-DCPPCONN_TRACE_ENABLED")
55
 
        ENDIF(WIN32)
 
38
  MESSAGE(STATUS "Building with tracing functionality")
 
39
  # Visual Studio 8 and up understand Variadic macros
 
40
  IF(WIN32)
 
41
    IF(CMAKE_GENERATOR MATCHES "Visual Studio 8"
 
42
    OR CMAKE_GENERATOR MATCHES "Visual Studio 9"
 
43
    OR CMAKE_GENERATOR MATCHES "NMake Makefiles")
 
44
      ADD_DEFINITIONS("-DCPPCONN_TRACE_ENABLED")
 
45
  ELSE(CMAKE_GENERATOR MATCHES "Visual Studio 8"
 
46
    OR CMAKE_GENERATOR MATCHES "Visual Studio 9"
 
47
    OR CMAKE_GENERATOR MATCHES "NMake Makefiles")
 
48
      MESSAGE(STATUS "Tracing will not be available in this build. VC8 or VC9 is needed.")
 
49
  ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8"
 
50
     OR CMAKE_GENERATOR MATCHES "Visual Studio 9"
 
51
     OR CMAKE_GENERATOR MATCHES "NMake Makefiles")
 
52
  ELSE(WIN32)
 
53
    ADD_DEFINITIONS("-DCPPCONN_TRACE_ENABLED")
 
54
  ENDIF(WIN32)
56
55
ENDIF(MYSQLCPPCONN_TRACE_ENABLE)
57
56
 
58
57
SET(MYSQLCLIENT_STATIC_BINDING 1 CACHE BOOL "enable static binding")
59
58
 
60
59
IF(MYSQLCLIENT_STATIC_BINDING)
61
 
        MESSAGE(STATUS "Using static libmysql binding")
 
60
  MESSAGE(STATUS "Using static libmysql binding")
62
61
ELSE(MYSQLCLIENT_STATIC_BINDING)
63
 
        MESSAGE(STATUS "Using dynamic libmysql binding")
 
62
  MESSAGE(STATUS "Using dynamic libmysql binding")
64
63
ENDIF(MYSQLCLIENT_STATIC_BINDING)
65
64
 
66
65
IF(NOT MYSQLCLIENT_STATIC_BINDING)
67
 
        IF(NOT WIN32)
68
 
                CHECK_INCLUDE_FILES(dlfcn.h HAVE_DLFCN_H)
69
 
                # We are not on windows and don't have dlfcn.h - so we need static binding
70
 
                IF(NOT HAVE_DLFCN_H)
71
 
                        MESSAGE(FATAL_ERROR "Dynamic binding has been requested but we cannot find dlfcn.h!")
72
 
                        SET(MYSQLCLIENT_STATIC_BINDING 1)
73
 
                ENDIF(NOT HAVE_DLFCN_H)
74
 
        ENDIF(NOT WIN32)
 
66
  IF(NOT WIN32)
 
67
    CHECK_INCLUDE_FILES(dlfcn.h HAVE_DLFCN_H)
 
68
    # We are not on windows and don't have dlfcn.h - so we need static binding
 
69
    IF(NOT HAVE_DLFCN_H)
 
70
      MESSAGE(FATAL_ERROR "Dynamic binding has been requested but we cannot find dlfcn.h!")
 
71
      SET(MYSQLCLIENT_STATIC_BINDING 1)
 
72
    ENDIF(NOT HAVE_DLFCN_H)
 
73
  ENDIF(NOT WIN32)
75
74
ENDIF(NOT MYSQLCLIENT_STATIC_BINDING)
76
75
 
77
76
#-----------------
79
78
SET(MYSQLCPPCONN_DT_RPATH "" CACHE STRING "For dynamic libmysql binding: DT_RPATH to set (default: unset)")
80
79
 
81
80
IF(MYSQLCPPCONN_DT_RPATH)
82
 
        SET(CMAKE_SKIP_BUILD_RPATH  TRUE)
83
 
        SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
84
 
        SET(CMAKE_INSTALL_RPATH ${MYSQLCPPCONN_DT_RPATH})
85
 
        SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
86
 
 
87
 
        MESSAGE(STATUS "DT_RPATH set to ${CMAKE_INSTALL_RPATH}")
88
 
 
 
81
  SET(CMAKE_SKIP_BUILD_RPATH  TRUE)
 
82
  SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
 
83
  SET(CMAKE_INSTALL_RPATH ${MYSQLCPPCONN_DT_RPATH})
 
84
  SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
 
85
  MESSAGE(STATUS "DT_RPATH set to ${CMAKE_INSTALL_RPATH}")
89
86
ELSE(MYSQLCPPCONN_DT_RPATH)
90
 
        SET(CMAKE_SKIP_RPATH TRUE)
91
 
 
92
 
        MESSAGE(STATUS "DT_RPATH will not be set")
93
 
 
 
87
  SET(CMAKE_SKIP_RPATH TRUE)
 
88
  MESSAGE(STATUS "DT_RPATH will not be set")
94
89
ENDIF(MYSQLCPPCONN_DT_RPATH)
95
90
 
96
 
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/nativeapi/binding_config.h.cm ${CMAKE_CURRENT_BINARY_DIR}/nativeapi/binding_config.h)
 
91
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/nativeapi/binding_config.h.cm ${CMAKE_CURRENT_SOURCE_DIR}/nativeapi/binding_config.h)
97
92
 
98
93
SET(MYSQLCPPCONN_SOURCES
99
 
        mysql_art_resultset.cpp
100
 
        mysql_art_rset_metadata.cpp
101
 
        mysql_connection.cpp
102
 
        mysql_debug.cpp
103
 
        mysql_driver.cpp
104
 
        mysql_metadata.cpp
105
 
        mysql_parameter_metadata.cpp
106
 
        mysql_prepared_statement.cpp
107
 
        mysql_ps_resultset.cpp
108
 
        mysql_ps_resultset_metadata.cpp
109
 
        mysql_resultbind.cpp
110
 
        mysql_resultset.cpp
111
 
        mysql_resultset_metadata.cpp
112
 
        mysql_statement.cpp
113
 
        mysql_util.cpp
114
 
        mysql_warning.cpp
115
 
        mysql_uri.cpp
116
 
        nativeapi/mysql_client_api.cpp
117
 
        nativeapi/library_loader.cpp
118
 
        nativeapi/mysql_native_driver_wrapper.cpp
119
 
        nativeapi/mysql_native_connection_wrapper.cpp
120
 
        nativeapi/mysql_native_statement_wrapper.cpp
121
 
        nativeapi/mysql_native_resultset_wrapper.cpp
 
94
  mysql_art_resultset.cpp
 
95
  mysql_art_rset_metadata.cpp
 
96
  mysql_connection.cpp
 
97
  mysql_debug.cpp
 
98
  mysql_driver.cpp
 
99
  mysql_metadata.cpp
 
100
  mysql_parameter_metadata.cpp
 
101
  mysql_prepared_statement.cpp
 
102
  mysql_ps_resultset.cpp
 
103
  mysql_ps_resultset_metadata.cpp
 
104
  mysql_resultbind.cpp
 
105
  mysql_resultset.cpp
 
106
  mysql_resultset_metadata.cpp
 
107
  mysql_statement.cpp
 
108
  mysql_util.cpp
 
109
  mysql_warning.cpp
 
110
  mysql_uri.cpp
 
111
  nativeapi/mysql_client_api.cpp
 
112
  nativeapi/library_loader.cpp
 
113
  nativeapi/mysql_native_driver_wrapper.cpp
 
114
  nativeapi/mysql_native_connection_wrapper.cpp
 
115
  nativeapi/mysql_native_statement_wrapper.cpp
 
116
  nativeapi/mysql_native_resultset_wrapper.cpp
122
117
)
123
118
 
124
119
 
125
120
IF(WIN32)
126
 
        # adding headers to sources, so they will be included to VS projects
127
 
 
128
 
        SET(MYSQLCPPCONN_SOURCES
129
 
                ${MYSQLCPPCONN_SOURCES}
130
 
                mysql_art_resultset.h
131
 
                mysql_art_rset_metadata.h
132
 
                mysql_connection.h
133
 
                mysql_connection_options.h
134
 
                mysql_debug.h
135
 
                mysql_driver.h
136
 
                mysql_error.h
137
 
                mysql_metadata.h
138
 
                mysql_parameter_metadata.h
139
 
                mysql_prepared_statement.h
140
 
                mysql_ps_resultset.h
141
 
                mysql_ps_resultset_metadata.h
142
 
                mysql_resultbind.h
143
 
                mysql_resultset.h
144
 
                mysql_resultset_metadata.h
145
 
                mysql_statement.h
146
 
                mysql_util.h
147
 
                mysql_warning.h
148
 
                mysql_uri.h
149
 
                version_info.h
150
 
                nativeapi/mysql_client_api.h
151
 
                nativeapi/mysql_native_driver_wrapper.h
152
 
                nativeapi/native_driver_wrapper.h
153
 
                nativeapi/mysql_native_connection_wrapper.h
154
 
                nativeapi/native_connection_wrapper.h
155
 
                nativeapi/mysql_native_statement_wrapper.h
156
 
                nativeapi/native_statement_wrapper.h
157
 
                nativeapi/mysql_native_resultset_wrapper.h
158
 
                nativeapi/native_resultset_wrapper.h
159
 
                ../cppconn/warning.h
160
 
                ../cppconn/statement.h
161
 
                ../cppconn/sqlstring.h
162
 
                ../cppconn/resultset_metadata.h
163
 
                ../cppconn/resultset.h
164
 
                ../cppconn/prepared_statement.h
165
 
                ../cppconn/parameter_metadata.h
166
 
                ../cppconn/metadata.h
167
 
                ../cppconn/exception.h
168
 
                ../cppconn/driver.h
169
 
                ../cppconn/datatype.h
170
 
                ../cppconn/variant.h
171
 
                ../cppconn/connection.h
172
 
                ../cppconn/config.h
173
 
                ../cppconn/build_config.h
174
 
 
175
 
        )
176
 
 
177
 
        IF(NOT MYSQLCLIENT_STATIC_BINDING)
178
 
                SET(MYSQLCPPCONN_SOURCES ${MYSQLCPPCONN_SOURCES}
179
 
                                                                        nativeapi/library_loader.h)
180
 
        ENDIF(NOT MYSQLCLIENT_STATIC_BINDING)
181
 
 
182
 
        # Used to create source filter in projects in VS
183
 
        SOURCE_GROUP(NativeApi nativeapi/.+)
184
 
        SOURCE_GROUP(API ../cppconn/.+)
 
121
# adding headers to sources, so they will be included to VS projects
 
122
 
 
123
  SET(MYSQLCPPCONN_SOURCES
 
124
    ${MYSQLCPPCONN_SOURCES}
 
125
    mysql_art_resultset.h
 
126
    mysql_art_rset_metadata.h
 
127
    mysql_connection.h
 
128
    mysql_connection_options.h
 
129
    mysql_debug.h
 
130
    mysql_driver.h
 
131
    mysql_error.h
 
132
    mysql_metadata.h
 
133
    mysql_parameter_metadata.h
 
134
    mysql_prepared_statement.h
 
135
    mysql_ps_resultset.h
 
136
    mysql_ps_resultset_metadata.h
 
137
    mysql_resultbind.h
 
138
    mysql_resultset.h
 
139
    mysql_resultset_metadata.h
 
140
    mysql_statement.h
 
141
    mysql_util.h
 
142
    mysql_warning.h
 
143
    mysql_uri.h
 
144
    version_info.h
 
145
    nativeapi/mysql_client_api.h
 
146
    nativeapi/mysql_native_driver_wrapper.h
 
147
    nativeapi/native_driver_wrapper.h
 
148
    nativeapi/mysql_native_connection_wrapper.h
 
149
    nativeapi/native_connection_wrapper.h
 
150
    nativeapi/mysql_native_statement_wrapper.h
 
151
    nativeapi/native_statement_wrapper.h
 
152
    nativeapi/mysql_native_resultset_wrapper.h
 
153
    nativeapi/native_resultset_wrapper.h
 
154
    ../cppconn/warning.h
 
155
    ../cppconn/statement.h
 
156
    ../cppconn/sqlstring.h
 
157
    ../cppconn/resultset_metadata.h
 
158
    ../cppconn/resultset.h
 
159
    ../cppconn/prepared_statement.h
 
160
    ../cppconn/parameter_metadata.h
 
161
    ../cppconn/metadata.h
 
162
    ../cppconn/exception.h
 
163
    ../cppconn/driver.h
 
164
    ../cppconn/datatype.h
 
165
    ../cppconn/variant.h
 
166
    ../cppconn/connection.h
 
167
    ../cppconn/config.h
 
168
    ../cppconn/build_config.h
 
169
  )
 
170
 
 
171
  IF(NOT MYSQLCLIENT_STATIC_BINDING)
 
172
    SET(MYSQLCPPCONN_SOURCES ${MYSQLCPPCONN_SOURCES}
 
173
        nativeapi/library_loader.h)
 
174
  ENDIF(NOT MYSQLCLIENT_STATIC_BINDING)
 
175
 
 
176
  # Used to create source filter in projects in VS
 
177
  SOURCE_GROUP(NativeApi nativeapi/.+)
 
178
  SOURCE_GROUP(API ../cppconn/.+)
185
179
ENDIF(WIN32)
186
180
 
187
181
 
190
184
SET(MYSQL_LIB_OBJECTS "${MYSQL_LIBRARIES}")
191
185
 
192
186
IF(WIN32)
193
 
 
194
 
        INCLUDE_DIRECTORIES(${MYSQL_DIR}/include)
195
 
        IF(CMAKE_BUILD_TYPE STREQUAL "Debug")
196
 
                LINK_DIRECTORIES(${MYSQL_DIR}/lib/debug)
197
 
        ELSEIF(CMAKE_BUILD_TYPE STREQUAL "")
198
 
                LINK_DIRECTORIES(${MYSQL_DIR}/lib/opt)
199
 
        ENDIF(CMAKE_BUILD_TYPE STREQUAL "Debug")
200
 
 
201
 
        SET(MYSQLCPPCONN_SOURCES ${MYSQLCPPCONN_SOURCES} mysqlcppconn.def)
202
 
 
203
 
        ADD_DEFINITIONS("-D_CRT_SECURE_NO_WARNINGS")
204
 
 
205
 
        #Disables bunch of pretty useless warnings on win
206
 
        ADD_DEFINITIONS("-D_SCL_SECURE_NO_WARNINGS")
 
187
  INCLUDE_DIRECTORIES(${MYSQL_DIR}/include)
 
188
  IF(CMAKE_BUILD_TYPE STREQUAL "Debug")
 
189
    LINK_DIRECTORIES(${MYSQL_DIR}/lib/debug)
 
190
  ELSEIF(CMAKE_BUILD_TYPE STREQUAL "")
 
191
    LINK_DIRECTORIES(${MYSQL_DIR}/lib/opt)
 
192
  ENDIF(CMAKE_BUILD_TYPE STREQUAL "Debug")
 
193
 
 
194
  SET(MYSQLCPPCONN_SOURCES ${MYSQLCPPCONN_SOURCES} mysqlcppconn.def)
 
195
 
 
196
  ADD_DEFINITIONS("-D_CRT_SECURE_NO_WARNINGS")
 
197
 
 
198
  #Disables bunch of pretty useless warnings on win
 
199
  ADD_DEFINITIONS("-D_SCL_SECURE_NO_WARNINGS")
207
200
 
208
201
  ADD_LIBRARY(mysqlclient STATIC IMPORTED)
209
202
  SET_TARGET_PROPERTIES(mysqlclient PROPERTIES IMPORTED_LOCATION "${MYSQL_LIB}" )
210
203
 
211
 
        IF(MYSQLCLIENT_STATIC_BINDING)
212
 
                SET(MY_TARGET_LINK_LIBRARIES_DYNAMIC mysqlclient ws2_32)
213
 
        ELSE(MYSQLCLIENT_STATIC_BINDING)
214
 
                SET(MY_TARGET_LINK_LIBRARIES_DYNAMIC ws2_32)
215
 
        ENDIF(MYSQLCLIENT_STATIC_BINDING)
 
204
  IF(MYSQLCLIENT_STATIC_BINDING)
 
205
    SET(MY_TARGET_LINK_LIBRARIES_DYNAMIC mysqlclient ws2_32)
 
206
  ELSE(MYSQLCLIENT_STATIC_BINDING)
 
207
    SET(MY_TARGET_LINK_LIBRARIES_DYNAMIC ws2_32)
 
208
  ENDIF(MYSQLCLIENT_STATIC_BINDING)
216
209
 
217
210
ELSEIF(NOT WIN32)
218
211
 
219
 
        IF(MYSQLCLIENT_STATIC_BINDING)
220
 
          SET(MY_TARGET_LINK_LIBRARIES_DYNAMIC ${MYSQL_LIBRARIES} ${MYSQL_LINK_FLAGS})
221
 
                SET(MY_TARGET_LINK_LIBRARIES_STATIC ${MYSQL_LIBRARIES} ${MYSQL_LINK_FLAGS})
222
 
        ELSE(MYSQLCLIENT_STATIC_BINDING)
223
 
                FOREACH(_lib ${MYSQL_LIBRARIES})
224
 
                        IF(NOT _lib MATCHES "libmysqlclient.*" AND NOT _lib MATCHES "mysqlclient.*")
225
 
                                SET(MY_TARGET_LINK_LIBRARIES_DYNAMIC ${MY_TARGET_LINK_LIBRARIES_DYNAMIC} ${_lib})
226
 
                                SET(MY_TARGET_LINK_LIBRARIES_STATIC ${MY_TARGET_LINK_LIBRARIES_STATIC} ${_lib})
227
 
                        ENDIF(NOT _lib MATCHES "libmysqlclient.*" AND NOT _lib MATCHES "mysqlclient.*")
228
 
                ENDFOREACH(_lib ${MYSQL_LIBRARIES})
229
 
                SET(MY_TARGET_LINK_LIBRARIES_DYNAMIC ${MY_TARGET_LINK_LIBRARIES_DYNAMIC} ${MYSQL_LINK_FLAGS} ${CMAKE_DL_LIBS})
230
 
                SET(MY_TARGET_LINK_LIBRARIES_STATIC ${MY_TARGET_LINK_LIBRARIES_STATIC} ${MYSQL_LINK_FLAGS} ${CMAKE_DL_LIBS})
231
 
        ENDIF(MYSQLCLIENT_STATIC_BINDING)
 
212
  IF(MYSQLCLIENT_STATIC_BINDING)
 
213
    SET(MY_TARGET_LINK_LIBRARIES_DYNAMIC ${MYSQL_LIBRARIES} ${MYSQL_LINK_FLAGS})
 
214
    SET(MY_TARGET_LINK_LIBRARIES_STATIC ${MYSQL_LIBRARIES} ${MYSQL_LINK_FLAGS})
 
215
  ELSE(MYSQLCLIENT_STATIC_BINDING)
 
216
    FOREACH(_lib ${MYSQL_LIBRARIES})
 
217
      IF(NOT _lib MATCHES "libmysqlclient.*" AND NOT _lib MATCHES "mysqlclient.*")
 
218
        SET(MY_TARGET_LINK_LIBRARIES_DYNAMIC ${MY_TARGET_LINK_LIBRARIES_DYNAMIC} ${_lib})
 
219
        SET(MY_TARGET_LINK_LIBRARIES_STATIC ${MY_TARGET_LINK_LIBRARIES_STATIC} ${_lib})
 
220
      ENDIF(NOT _lib MATCHES "libmysqlclient.*" AND NOT _lib MATCHES "mysqlclient.*")
 
221
    ENDFOREACH(_lib ${MYSQL_LIBRARIES})
 
222
    SET(MY_TARGET_LINK_LIBRARIES_DYNAMIC ${MY_TARGET_LINK_LIBRARIES_DYNAMIC} ${MYSQL_LINK_FLAGS} ${CMAKE_DL_LIBS})
 
223
    SET(MY_TARGET_LINK_LIBRARIES_STATIC ${MY_TARGET_LINK_LIBRARIES_STATIC} ${MYSQL_LINK_FLAGS} ${CMAKE_DL_LIBS})
 
224
  ENDIF(MYSQLCLIENT_STATIC_BINDING)
232
225
 
233
226
  IF(MYSQLCLIENT_STATIC_LINKING)
234
227
    SET(MYSQL_TEMP_STATIC_DIR ${CMAKE_CURRENT_BINARY_DIR}/.MYSQL_ARCHIVES)
241
234
 
242
235
    GET_FILENAME_COMPONENT(MYSQL_STATIC_ABS_TEMP_DIR ${MYSQL_TEMP_STATIC_DIR} ABSOLUTE)
243
236
    FOREACH(OBJ ${MYSQL_STATIC_OBJECTS})
244
 
      FILE(RELATIVE_PATH OBJ ${CMAKE_CURRENT_SOURCE_DIR} ${OBJ})
 
237
      FILE(RELATIVE_PATH OBJ ${CMAKE_CURRENT_BINARY_DIR} ${OBJ})
245
238
      FILE(TO_NATIVE_PATH ${OBJ} OBJ)
246
239
      SET(MYSQL_STATIC_LIB_OBJECTS "${MYSQL_STATIC_LIB_OBJECTS} ${OBJ}")
247
240
    ENDFOREACH(OBJ ${MYSQL_STATIC_OBJECTS})
251
244
 
252
245
 
253
246
IF(CMAKE_COMPILER_IS_GNUCC AND MYSQLCPPCONN_GCOV_ENABLE)
254
 
        SET(MY_GCOV_LINK_LIBRARIES gcov)
 
247
  SET(MY_GCOV_LINK_LIBRARIES gcov)
255
248
ENDIF(CMAKE_COMPILER_IS_GNUCC AND MYSQLCPPCONN_GCOV_ENABLE)
256
249
 
257
250
 
258
 
TARGET_LINK_LIBRARIES(mysqlcppconn      ${MY_TARGET_LINK_LIBRARIES_DYNAMIC}
259
 
                                                                        ${MY_GCOV_LINK_LIBRARIES}
260
 
                                                                        ${MYSQLCPPCONN_BOOST_SYSTEM_LIBS}
261
 
                                                                        ${MYSQLCPPCONN_BOOST_THREAD_LIBS}
262
 
                                                                        ${MYSQLCPPCONN_EXTRA_LIBRARIES}
263
 
                                                                        ${MYSQLCPPCONN_ICU_LIBRARY})
 
251
TARGET_LINK_LIBRARIES(mysqlcppconn ${MY_TARGET_LINK_LIBRARIES_DYNAMIC}
 
252
  ${MY_GCOV_LINK_LIBRARIES}
 
253
  ${MYSQLCPPCONN_BOOST_SYSTEM_LIBS}
 
254
  ${MYSQLCPPCONN_BOOST_THREAD_LIBS}
 
255
  ${MYSQLCPPCONN_EXTRA_LIBRARIES}
 
256
  ${MYSQLCPPCONN_ICU_LIBRARY})
264
257
 
265
258
# Need to find way it's defined for mysqlcppconn-static only
266
259
#IF(WIN32)
267
260
#       ADD_DEFINITIONS("-DCPPCONN_PUBLIC_FUNC=\"\"")
268
261
#ENDIF(WIN32)
269
262
 
270
 
TARGET_LINK_LIBRARIES(mysqlcppconn-static       ${MY_TARGET_LINK_LIBRARIES_STATIC}
271
 
                                                                                        ${MY_GCOV_LINK_LIBRARIES}
272
 
                                                                                        ${MYSQLCPPCONN_BOOST_SYSTEM_LIBS}
273
 
                                                                                        ${MYSQLCPPCONN_BOOST_THREAD_LIBS}
274
 
                                                                                        ${MYSQLCPPCONN_EXTRA_LIBRARIES}
275
 
                                                                                        ${MYSQLCPPCONN_ICU_LIBRARY})
 
263
TARGET_LINK_LIBRARIES(mysqlcppconn-static  ${MY_TARGET_LINK_LIBRARIES_STATIC}
 
264
  ${MY_GCOV_LINK_LIBRARIES}
 
265
  ${MYSQLCPPCONN_BOOST_SYSTEM_LIBS}
 
266
  ${MYSQLCPPCONN_BOOST_THREAD_LIBS}
 
267
  ${MYSQLCPPCONN_EXTRA_LIBRARIES}
 
268
  ${MYSQLCPPCONN_ICU_LIBRARY})
276
269
 
277
270
SET_TARGET_PROPERTIES(mysqlcppconn-static PROPERTIES
278
 
        LINK_FLAGS "${MYSQLCPPCONN_LINK_FLAGS_ENV} ${MYSQL_LINK_FLAGS}"
279
 
        COMPILE_FLAGS "${MYSQLCPPCONN_COMPILE_FLAGS_ENV} ${MYSQL_CXXFLAGS}"
280
 
        COMPILE_DEFINITIONS CPPCONN_LIB_BUILD="" 
281
 
        STATIC_LIBRARY_FLAGS "${MYSQL_LIB_OBJECTS}")
 
271
  LINK_FLAGS "${MYSQLCPPCONN_LINK_FLAGS_ENV} ${MYSQL_LINK_FLAGS}"
 
272
  COMPILE_FLAGS "${MYSQLCPPCONN_COMPILE_FLAGS_ENV} ${MYSQL_CXXFLAGS}"
 
273
  COMPILE_DEFINITIONS CPPCONN_LIB_BUILD=""
 
274
  STATIC_LIBRARY_FLAGS "${MYSQL_LIB_OBJECTS}")
282
275
 
283
276
SET_TARGET_PROPERTIES(mysqlcppconn
284
 
                                        PROPERTIES
285
 
                                        SOVERSION "${MYSQLCPPCONN_SOVERSION}"
286
 
                                        VERSION "${MYSQLCPPCONN_SOVERSION}.${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}"
287
 
          LINK_FLAGS "${MYSQLCPPCONN_LINK_FLAGS_ENV} ${MYSQL_LINK_FLAGS}"
288
 
                                        COMPILE_FLAGS "${MYSQLCPPCONN_COMPILE_FLAGS_ENV} ${MYSQL_CXXFLAGS}"
289
 
                                        COMPILE_DEFINITIONS CPPCONN_SO_BUILD=""
290
 
          LINK_INTERFACE_LIBRARIES "")
 
277
  PROPERTIES
 
278
  SOVERSION "${MYSQLCPPCONN_SOVERSION}"
 
279
  VERSION "${MYSQLCPPCONN_SOVERSION}.${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}"
 
280
  LINK_FLAGS "${MYSQLCPPCONN_LINK_FLAGS_ENV} ${MYSQL_LINK_FLAGS}"
 
281
  COMPILE_FLAGS "${MYSQLCPPCONN_COMPILE_FLAGS_ENV} ${MYSQL_CXXFLAGS}"
 
282
  COMPILE_DEFINITIONS CPPCONN_SO_BUILD=""
 
283
  LINK_INTERFACE_LIBRARIES "")
291
284
 
292
285
IF(WIN32)
293
 
        SET_TARGET_PROPERTIES(mysqlcppconn PROPERTIES
 
286
  SET_TARGET_PROPERTIES(mysqlcppconn PROPERTIES
294
287
    LINK_FLAGS_DEBUG "/NODEFAULTLIB:LIBCMTD /NODEFAULTLIB:LIBCMT"
295
288
    LINK_FLAGS_RELWITHDEBINFO "/NODEFAULTLIB:LIBCMT"
296
289
    LINK_FLAGS_RELEASE "/NODEFAULTLIB:LIBCMT")
297
290
 
298
 
        SET_TARGET_PROPERTIES(mysqlcppconn-static PROPERTIES
 
291
  SET_TARGET_PROPERTIES(mysqlcppconn-static PROPERTIES
299
292
    STATIC_LIBRARY_FLAGS_DEBUG "/NODEFAULTLIB:LIBCMTD"
300
293
    STATIC_LIBRARY_FLAGS_RELWITHDEBINFO "/NODEFAULTLIB:LIBCMT"
301
294
    STATIC_LIBRARY_FLAGS_RELEASE "/NODEFAULTLIB:LIBCMT")
302
295
 
303
 
        # Changing CRT from dynamic to static
 
296
  # Changing CRT from dynamic to static
304
297
  #INCLUDE(${CMAKE_SOURCE_DIR}/changeCrt.cmake)
305
298
  #CHANGE_CRT("/MT")
306
299
 
307
 
        INSTALL(TARGETS mysqlcppconn mysqlcppconn-static
308
 
                RUNTIME DESTINATION lib
309
 
                ARCHIVE DESTINATION lib
310
 
        )
 
300
  INSTALL(TARGETS mysqlcppconn mysqlcppconn-static
 
301
    RUNTIME DESTINATION lib
 
302
    ARCHIVE DESTINATION lib
 
303
  )
311
304
ELSE(WIN32)
312
 
        INSTALL(TARGETS mysqlcppconn mysqlcppconn-static
313
 
                LIBRARY DESTINATION ${INSTALL_LIBDIR}
314
 
                ARCHIVE DESTINATION ${INSTALL_LIBDIR}
315
 
        )
 
305
  INSTALL(TARGETS mysqlcppconn mysqlcppconn-static
 
306
    LIBRARY DESTINATION ${INSTALL_LIBDIR}
 
307
    ARCHIVE DESTINATION ${INSTALL_LIBDIR}
 
308
  )
316
309
ENDIF(WIN32)
317
310
 
318
311
 
319
312
# Install some MySQL specific headers
320
313
SET(MYSQLCPPCONN_SPECIFIC_INSTALL_HEADERS
321
 
                mysql_connection.h
322
 
                mysql_driver.h
323
 
                mysql_error.h)
 
314
  mysql_connection.h
 
315
  mysql_driver.h
 
316
  mysql_error.h)
324
317
 
325
318
INSTALL(FILES ${MYSQLCPPCONN_SPECIFIC_INSTALL_HEADERS} DESTINATION include)
326
319