summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAlan Antonuk <alan.antonuk@gmail.com>2012-11-13 19:58:11 -0500
committerAlan Antonuk <alan.antonuk@gmail.com>2012-11-14 23:03:47 -0500
commit6c420f18fdec1f3e901f1b78724e6b4e7596c168 (patch)
tree4a33dc86b6dc313ce6af51417bc8150503f5adae /CMakeLists.txt
parent2a24d5ed87944f97b9f9b5f464bfe4b630d6490e (diff)
downloadrabbitmq-c-github-ask-6c420f18fdec1f3e901f1b78724e6b4e7596c168.tar.gz
Reorder checks in CMakeLists
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt102
1 files changed, 50 insertions, 52 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 133b35b..250ed30 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -45,9 +45,57 @@ if (CMAKE_GENERATOR MATCHES ".*(Make|Ninja).*"
message(STATUS "CMAKE_BUILD_TYPE not specified. Creating ${CMAKE_BUILD_TYPE} build")
endif()
-#find python
-find_package(PythonInterp REQUIRED)
+include(TestCInline)
+include(CheckFunctionExists)
+include(CheckLibraryExists)
+include(CMakePushCheckState)
+# Detect if we need to link against a socket library:
+cmake_push_check_state()
+if (WIN32)
+ # Always use WinSock2 on Windows
+ set(SOCKET_LIBRARIES ws2_32)
+else ()
+ # Is it in the default link?
+ CHECK_FUNCTION_EXISTS(getaddrinfo HAVE_GETADDRINFO)
+ if (NOT (HAVE_GETADDRINFO EQUAL 1))
+ CHECK_LIBRARY_EXISTS(socket getaddrinfo "" HAVE_GETADDRINFO2)
+ if (HAVE_GETADDRINFO2 EQUAL 1)
+ set(SOCKET_LIBRARIES socket)
+ else ()
+ CHECK_LIBRARY_EXISTS("socket;nsl" getaddrinfo "" HAVE_GETADDRINFO3)
+ if (HAVE_GETADDRINFO3 EQUAL 1)
+ set(SOCKET_LIBRARIES socket nsl)
+ else ()
+ message(FATAL_ERROR "Cannot find name resolution library (containing symbol getaddrinfo)")
+ endif ()
+ endif ()
+ endif ()
+
+ set(CMAKE_REQUIRED_LIBRARIES ${SOCKET_LIBRARIES})
+ CHECK_FUNCTION_EXISTS(socket HAVE_SOCKET)
+ if (NOT HAVE_SOCKET EQUAL 1)
+ CHECK_LIBRARY_EXISTS(socket socket "" HAVE_SOCKET2)
+ if (NOT HAVE_SOCKET2 EQUAL 1)
+ set(SOCKET_LIBRARIES socket ${SOCKET_LIBRARIES})
+ else ()
+ CHECK_LIBRARY_EXISTS("socket;nsl" socket "" HAVE_SOCKET3)
+ if (HAVE_SOCKET3 EQUAL 1)
+ set(SOCKET_LIBRARIES socket nsl ${SOCKET_LIBRARIES})
+ else ()
+ message(FATAL_ERROR "Cannot find socket library (containing symbol socket)")
+ endif ()
+ endif ()
+ endif ()
+endif ()
+cmake_pop_check_state()
+
+cmake_push_check_state()
+set(CMAKE_REQUIRED_LIBRARIES ${SOCKET_LIBRARIES})
+check_function_exists(htonll HAVE_HTONLL)
+cmake_pop_check_state()
+
+find_package(PythonInterp REQUIRED)
#Determine Python Version:
if(PYTHON_EXECUTABLE)
execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c
@@ -121,7 +169,6 @@ if (CHECK_PYTHON_JSON_FAILED)
endif (CHECK_PYTHON_SIMPLEJSON_FAILED)
endif (CHECK_PYTHON_JSON_FAILED)
-include(TestCInline)
find_path(AMQP_CODEGEN_DIR
amqp_codegen.py
@@ -140,55 +187,6 @@ endif()
mark_as_advanced(AMQP_CODEGEN_DIR)
-include(CheckFunctionExists)
-include(CheckLibraryExists)
-include(CMakePushCheckState)
-
-# Detect if we need to link against a socket library:
-cmake_push_check_state()
-if (WIN32)
- # Always use WinSock2 on Windows
- set(SOCKET_LIBRARIES ws2_32)
-else ()
- # Is it in the default link?
- CHECK_FUNCTION_EXISTS(getaddrinfo HAVE_GETADDRINFO)
- if (NOT (HAVE_GETADDRINFO EQUAL 1))
- CHECK_LIBRARY_EXISTS(socket getaddrinfo "" HAVE_GETADDRINFO2)
- if (HAVE_GETADDRINFO2 EQUAL 1)
- set(SOCKET_LIBRARIES socket)
- else ()
- CHECK_LIBRARY_EXISTS("socket;nsl" getaddrinfo "" HAVE_GETADDRINFO3)
- if (HAVE_GETADDRINFO3 EQUAL 1)
- set(SOCKET_LIBRARIES socket nsl)
- else ()
- message(FATAL_ERROR "Cannot find name resolution library (containing symbol getaddrinfo)")
- endif ()
- endif ()
- endif ()
-
- set(CMAKE_REQUIRED_LIBRARIES ${SOCKET_LIBRARIES})
- CHECK_FUNCTION_EXISTS(socket HAVE_SOCKET)
- if (NOT HAVE_SOCKET EQUAL 1)
- CHECK_LIBRARY_EXISTS(socket socket "" HAVE_SOCKET2)
- if (NOT HAVE_SOCKET2 EQUAL 1)
- set(SOCKET_LIBRARIES socket ${SOCKET_LIBRARIES})
- else ()
- CHECK_LIBRARY_EXISTS("socket;nsl" socket "" HAVE_SOCKET3)
- if (HAVE_SOCKET3 EQUAL 1)
- set(SOCKET_LIBRARIES socket nsl ${SOCKET_LIBRARIES})
- else ()
- message(FATAL_ERROR "Cannot find socket library (containing symbol socket)")
- endif ()
- endif ()
- endif ()
-endif ()
-cmake_pop_check_state()
-
-cmake_push_check_state()
-set(CMAKE_REQUIRED_LIBRARIES ${SOCKET_LIBRARIES})
-check_function_exists(htonll HAVE_HTONLL)
-cmake_pop_check_state()
-
find_package(POPT)
find_package(XmlTo)