Link against shlwapi.lib and unify linker input sources for Windows
authorkwolekr <kwolekr@minetest.net>
Wed, 8 Apr 2015 16:55:06 +0000 (12:55 -0400)
committerkwolekr <kwolekr@minetest.net>
Wed, 8 Apr 2015 16:56:53 +0000 (12:56 -0400)
src/CMakeLists.txt
src/socket.cpp

index 88ab995ba60a8349b0cc9f228bd6298e92491caa..13e900647289372bb7bed308b37191889ff4dd04 100644 (file)
@@ -195,8 +195,10 @@ if(WIN32)
                # Surpress some useless warnings
                add_definitions ( /D "_CRT_SECURE_NO_DEPRECATE" /W1 )
        else() # Probably MinGW = GCC
-               set(PLATFORM_LIBS ws2_32.lib)
+               set(PLATFORM_LIBS "")
        endif()
+       set(PLATFORM_LIBS ws2_32.lib shlwapi.lib ${PLATFORM_LIBS})
+
        # Zlib stuff
        set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../zlib/zlib-1.2.5"
                        CACHE PATH "Zlib include directory")
index c3b5fc564534b43165fd45e9c68437a5a8d2915e..e82052f7728083430f32e3ed2bdd2d914045dc99 100644 (file)
@@ -44,9 +44,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
        #include <windows.h>
        #include <winsock2.h>
        #include <ws2tcpip.h>
-       #ifdef _MSC_VER
-               #pragma comment(lib, "ws2_32.lib")
-       #endif
 typedef SOCKET socket_t;
 typedef int socklen_t;
 #else
@@ -154,7 +151,7 @@ void Address::Resolve(const char *name)
 
        struct addrinfo *resolved, hints;
        memset(&hints, 0, sizeof(hints));
-       
+
        // Setup hints
        hints.ai_socktype = 0;
        hints.ai_protocol = 0;
@@ -168,7 +165,7 @@ void Address::Resolve(const char *name)
        {
                hints.ai_family = AF_INET;
        }
-       
+
        // Do getaddrinfo()
        int e = getaddrinfo(name, NULL, &hints, &resolved);
        if(e != 0)
@@ -514,7 +511,7 @@ int UDPSocket::Receive(Address & sender, void *data, int size)
                dstream << (int) m_handle << " <- ";
                sender.print(&dstream);
                dstream << ", size=" << received;
-               
+
                // Print packet contents
                dstream << ", data=";
                for(int i = 0; i < received && i < 20; i++) {
@@ -525,7 +522,7 @@ int UDPSocket::Receive(Address & sender, void *data, int size)
                }
                if(received > 20)
                        dstream << "...";
-               
+
                dstream << std::endl;
        }
 
@@ -586,7 +583,7 @@ bool UDPSocket::WaitData(int timeout_ms)
                // No data
                return false;
        }
-       
+
        // There is data
        return true;
 }