~roger-booth/mysql-proxy/laminator

« back to all changes in this revision

Viewing changes to CMakeLists.txt

  • Committer: Kay Roepke
  • Date: 2009-06-11 21:16:12 UTC
  • Revision ID: kay@sun.com-20090611211612-wyk8bg73vkx9u1qp
add internal libevent build cmake files
fix inet_ntop usage on pre-vista windows
don't blindly #define socklen_t on win32
correct cmake check for g_thread_init
copy lua dll on windows

Show diffs side-by-side

added added

removed removed

Lines of Context:
54
54
                MESSAGE(STATUS "glib libraries ${GLIB_LIBRARIES} ${GTHREAD_LIBRARIES} ${GMODULE_LIBRARIES}")
55
55
        ENDIF(GLIB_DEV_BASE_DIR)
56
56
 
 
57
        INCLUDE(deps/CMakeLists.txt)
57
58
        # on Windows, we need a compiled version of libevent in _Release_ mode!
58
59
        # since it's way too much hassle to set up all the paths, set everything up by using the base directory
59
 
        MESSAGE(STATUS "using libevent base directory ${EVENT_BASE_DIR}")
60
 
        IF(EVENT_BASE_DIR)
61
 
                SET(EVENT_INCLUDE_DIRS "${EVENT_BASE_DIR}" "${EVENT_BASE_DIR}/WIN32-Code" CACHE PATH "")
62
 
                SET(EVENT_LIBRARY_DIRS "${EVENT_BASE_DIR}/WIN32-Prj/Release" CACHE PATH "")
63
 
                SET(EVENT_LIBRARIES "libevent" CACHE PATH "")
64
 
        ENDIF(EVENT_BASE_DIR)
 
60
        # MESSAGE(STATUS "using libevent base directory ${EVENT_BASE_DIR}")
 
61
        # IF(EVENT_BASE_DIR)
 
62
                # SET(EVENT_INCLUDE_DIRS "${EVENT_BASE_DIR}" "${EVENT_BASE_DIR}/WIN32-Code" CACHE PATH "")
 
63
                # SET(EVENT_LIBRARY_DIRS "${EVENT_BASE_DIR}/WIN32-Prj/Release" CACHE PATH "")
 
64
                # SET(EVENT_LIBRARIES "libevent" CACHE PATH "")
 
65
        # ENDIF(EVENT_BASE_DIR)
65
66
        # need to set the lua library's name directly on win32
66
67
        SET(LUA_LIBRARIES "lua5.1")
67
68
ENDIF(WIN32)
68
69
 
69
 
INCLUDE(deps/CMakeLists.txt OPTIONAL)
70
70
MESSAGE(STATUS "libevent at libs:${EVENT_LIBRARY_DIRS} incl:${EVENT_INCLUDE_DIRS}")
71
71
MESSAGE(STATUS "liblua   at libs:${LUA_LIBRARY_DIRS} incl:${LUA_INCLUDE_DIRS}")
72
72
MESSAGE(STATUS "glib2.0  at libs:${GLIB_LIBRARY_DIRS} incl:${GLIB_INCLUDE_DIRS}")
182
182
CHECK_INCLUDE_FILES(glib/gthread.h    HAVE_GTHREAD_H)
183
183
CHECK_INCLUDE_FILES(pwd.h        HAVE_PWD_H)
184
184
 
 
185
CHECK_FUNCTION_EXISTS(inet_ntop  HAVE_INET_NTOP)
185
186
CHECK_FUNCTION_EXISTS(getcwd     HAVE_GETCWD)
186
187
CHECK_FUNCTION_EXISTS(signal     HAVE_SIGNAL)
187
188
CHECK_FUNCTION_EXISTS(strerror   HAVE_STRERROR)
188
189
CHECK_FUNCTION_EXISTS(srandom    HAVE_SRANDOM)
189
190
CHECK_FUNCTION_EXISTS(writev     HAVE_WRITEV)
190
191
# check for gthread actually being present
191
 
#CHECK_LIBRARY_EXISTS(${GTHREAD_LIBRARIES} g_thread_init ${GTHREAD_LIBRARY_DIRS} HAVE_GTHREAD)
192
 
SET(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
193
 
SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${GTHREAD_LIBRARIES})
194
 
CHECK_FUNCTION_EXISTS(g_thread_init HAVE_GTHREAD)
195
 
SET(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES})
 
192
CHECK_LIBRARY_EXISTS(${GTHREAD_LIBRARIES} g_thread_init ${GTHREAD_LIBRARY_DIRS} HAVE_GTHREAD)
 
193
#SET(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
 
194
#SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${GTHREAD_LIBRARIES})
 
195
# fails for some reason use check_library_exists instead and hope it's better
 
196
#CHECK_FUNCTION_EXISTS(g_thread_init HAVE_GTHREAD)
 
197
#SET(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES})
196
198
 
197
199
IF(${HAVE_SYS_SOCKET_H})
198
200
        SET(CMAKE_EXTRA_INCLUDE_FILES sys/socket.h)
274
276
                ${GTHREAD_DLL}
275
277
                DESTINATION bin
276
278
        )
277
 
 
278
 
        FIND_FILE(MYSQL_DLL 
279
 
                libmysql.dll 
280
 
                PATHS "${MYSQL_LIBRARY_DIRS}"
 
279
        FIND_FILE(LUA_DLL
 
280
                lua5.1.dll
 
281
                PATHS "${LUA_LIBRARY_DIRS}"
281
282
                NO_DEFAULT_PATH
282
 
                )
283
 
        INSTALL(PROGRAMS 
284
 
                ${MYSQL_DLL}
 
283
        )
 
284
        INSTALL(PROGRAMS
 
285
                ${LUA_DLL}
285
286
                DESTINATION bin
286
287
        )
287
 
        
288
288
        # copy the VS2008 runtime libaries as part of the install
289
289
        # find the absolute path 
290
290
        MESSAGE(STATUS "looking for redist in $ENV{VCINSTALLDIR}/redist/x86/Microsoft.VC90.CRT")