Skip to content

Commit 59ae56a

Browse files
committed
CDRIVER-959 cmake config for MinGW-W64
1 parent f63fbaa commit 59ae56a

File tree

2 files changed

+19
-33
lines changed

2 files changed

+19
-33
lines changed

CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,14 +160,20 @@ endif ()
160160
include(CheckIncludeFiles)
161161
CHECK_INCLUDE_FILES(strings.h HAVE_STRINGS_H)
162162

163+
if (MINGW)
164+
# Define _CRT_RAND_S, so that MinGW's stdlib.h declares Microsoft's rand_s().
165+
message (" MinGW: define _CRT_RAND_S")
166+
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_RAND_S")
167+
endif ()
168+
163169
include(CheckTypeSize)
164170
if (MSVC)
165171
SET(CMAKE_EXTRA_INCLUDE_FILES "ws2tcpip.h")
166172
else()
167173
SET(CMAKE_EXTRA_INCLUDE_FILES "sys/socket.h")
168174
endif ()
169175
CHECK_TYPE_SIZE(socklen_t HAVE_SOCKLEN)
170-
SET(CMAKE_EXTRA_INCLUDE_FILES)
176+
SET(CMAKE_EXTRA_INCLUDE_FILES)
171177

172178
if (HAVE_SOCKLEN)
173179
set(MONGOC_HAVE_SOCKLEN 1)

build/cmake/FindBSON.cmake

Lines changed: 12 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -14,47 +14,27 @@ find_path(BSON_INCLUDE_DIR
1414
libbson-1.0/bson.h
1515
HINTS
1616
${BSON_ROOT_DIR}
17-
${_BSON_INCLUDEDIR}
1817
PATH_SUFFIXES
1918
include
2019
)
2120

2221
set(BSON_INCLUDE_DIR "${BSON_INCLUDE_DIR}/libbson-1.0")
2322

24-
if(WIN32 AND NOT CYGWIN)
25-
if(MSVC)
26-
find_library(BSON
27-
NAMES
28-
"bson-1.0"
29-
HINTS
30-
${BSON_ROOT_DIR}
31-
PATH_SUFFIXES
32-
bin
33-
lib
34-
)
23+
find_library(BSON
24+
NAMES
25+
"bson-1.0"
26+
HINTS
27+
${BSON_ROOT_DIR}
28+
PATH_SUFFIXES
29+
bin
30+
lib
31+
)
3532

36-
mark_as_advanced(BSON)
37-
set(BSON_LIBRARIES ${BSON} ws2_32)
38-
else()
39-
# bother supporting this?
40-
endif()
33+
if(WIN32)
34+
set(BSON_LIBRARIES ${BSON} ws2_32)
4135
else()
42-
43-
find_library(BSON_LIBRARY
44-
NAMES
45-
bson-1.0
46-
HINTS
47-
${_BSON_LIBDIR}
48-
PATH_SUFFIXES
49-
lib
50-
)
51-
52-
mark_as_advanced(BSON_LIBRARY)
53-
5436
find_package (Threads REQUIRED)
55-
56-
set(BSON_LIBRARIES ${BSON_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
57-
37+
set(BSON_LIBRARIES ${BSON} ${CMAKE_THREAD_LIBS_INIT})
5838
endif()
5939

6040
if (BSON_INCLUDE_DIR)

0 commit comments

Comments
 (0)