diff options
author | Alan Antonuk <alan.antonuk@gmail.com> | 2012-11-13 19:58:11 -0500 |
---|---|---|
committer | Alan Antonuk <alan.antonuk@gmail.com> | 2012-11-14 23:03:47 -0500 |
commit | 6c420f18fdec1f3e901f1b78724e6b4e7596c168 (patch) | |
tree | 4a33dc86b6dc313ce6af51417bc8150503f5adae /CMakeLists.txt | |
parent | 2a24d5ed87944f97b9f9b5f464bfe4b630d6490e (diff) | |
download | rabbitmq-c-github-ask-6c420f18fdec1f3e901f1b78724e6b4e7596c168.tar.gz |
Reorder checks in CMakeLists
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 102 |
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) |