mirror of
https://github.com/zeromq/libzmq.git
synced 2025-10-12 22:36:57 +02:00
1394
CMakeLists.txt
1394
CMakeLists.txt
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
|||||||
cmake_minimum_required(VERSION "2.8.1")
|
cmake_minimum_required(VERSION "2.8.1")
|
||||||
|
|
||||||
# On Windows: solution file will be called tests.sln
|
# On Windows: solution file will be called tests.sln
|
||||||
PROJECT(tests)
|
project(tests)
|
||||||
|
|
||||||
set(tests
|
set(tests
|
||||||
test_ancillaries
|
test_ancillaries
|
||||||
@@ -73,10 +73,12 @@ set(tests
|
|||||||
test_reconnect_ivl
|
test_reconnect_ivl
|
||||||
test_mock_pub_sub
|
test_mock_pub_sub
|
||||||
)
|
)
|
||||||
|
|
||||||
if(ZMQ_HAVE_CURVE)
|
if(ZMQ_HAVE_CURVE)
|
||||||
list(APPEND tests
|
list(APPEND tests
|
||||||
test_security_curve)
|
test_security_curve)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT WIN32)
|
if(NOT WIN32)
|
||||||
list(APPEND tests
|
list(APPEND tests
|
||||||
test_ipc_wildcard
|
test_ipc_wildcard
|
||||||
@@ -123,8 +125,7 @@ if(WITH_VMCI)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(ENABLE_DRAFTS)
|
||||||
IF (ENABLE_DRAFTS)
|
|
||||||
list(APPEND tests
|
list(APPEND tests
|
||||||
test_poller
|
test_poller
|
||||||
test_thread_safe
|
test_thread_safe
|
||||||
@@ -136,7 +137,7 @@ IF (ENABLE_DRAFTS)
|
|||||||
test_app_meta
|
test_app_meta
|
||||||
test_router_notify
|
test_router_notify
|
||||||
)
|
)
|
||||||
ENDIF (ENABLE_DRAFTS)
|
endif()
|
||||||
|
|
||||||
# add location of platform.hpp for Windows builds
|
# add location of platform.hpp for Windows builds
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@@ -146,64 +147,62 @@ if(WIN32)
|
|||||||
link_libraries(ws2_32.lib)
|
link_libraries(ws2_32.lib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_library (unity
|
add_library(unity STATIC
|
||||||
STATIC
|
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/../external/unity/unity.c"
|
"${CMAKE_CURRENT_LIST_DIR}/../external/unity/unity.c"
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/../external/unity/unity.h"
|
"${CMAKE_CURRENT_LIST_DIR}/../external/unity/unity.h"
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/../external/unity/unity_internals.h")
|
"${CMAKE_CURRENT_LIST_DIR}/../external/unity/unity_internals.h")
|
||||||
set_target_properties (unity PROPERTIES
|
set_target_properties(unity PROPERTIES
|
||||||
PUBLIC_HEADER "${CMAKE_CURRENT_LIST_DIR}/../external/unity/unity.h")
|
PUBLIC_HEADER "${CMAKE_CURRENT_LIST_DIR}/../external/unity/unity.h")
|
||||||
target_compile_definitions (unity PUBLIC "UNITY_USE_COMMAND_LINE_ARGS" "UNITY_EXCLUDE_FLOAT")
|
target_compile_definitions(unity PUBLIC "UNITY_USE_COMMAND_LINE_ARGS" "UNITY_EXCLUDE_FLOAT")
|
||||||
target_include_directories (unity PUBLIC "${CMAKE_CURRENT_LIST_DIR}/../external/unity")
|
target_include_directories(unity PUBLIC "${CMAKE_CURRENT_LIST_DIR}/../external/unity")
|
||||||
|
|
||||||
IF (MSVC_VERSION LESS 1700)
|
if(MSVC_VERSION LESS 1700)
|
||||||
SET_SOURCE_FILES_PROPERTIES("${CMAKE_CURRENT_LIST_DIR}/../external/unity/unity.c" PROPERTIES LANGUAGE CXX)
|
set_source_files_properties("${CMAKE_CURRENT_LIST_DIR}/../external/unity/unity.c" PROPERTIES LANGUAGE CXX)
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
IF (MSVC_VERSION LESS 1600)
|
if(MSVC_VERSION LESS 1600)
|
||||||
target_compile_definitions (unity PUBLIC "UNITY_EXCLUDE_STDINT_H")
|
target_compile_definitions(unity PUBLIC "UNITY_EXCLUDE_STDINT_H")
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# add library and include dirs for all targets
|
# add library and include dirs for all targets
|
||||||
if (BUILD_SHARED)
|
if(BUILD_SHARED)
|
||||||
link_libraries(libzmq ${OPTIONAL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} unity)
|
link_libraries(libzmq ${OPTIONAL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} unity)
|
||||||
else ()
|
else()
|
||||||
link_libraries(libzmq-static ${OPTIONAL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} unity)
|
link_libraries(libzmq-static ${OPTIONAL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} unity)
|
||||||
endif ()
|
endif()
|
||||||
include_directories("${ZeroMQ_SOURCE_DIR}/../include" "${ZeroMQ_BINARY_DIR}")
|
include_directories("${ZeroMQ_SOURCE_DIR}/../include" "${ZeroMQ_BINARY_DIR}")
|
||||||
|
|
||||||
foreach(test ${tests})
|
foreach(test ${tests})
|
||||||
# target_sources not supported before CMake 3.1
|
# target_sources not supported before CMake 3.1
|
||||||
if (ZMQ_HAVE_CURVE AND ${test} MATCHES test_security_curve)
|
if(ZMQ_HAVE_CURVE AND ${test} MATCHES test_security_curve)
|
||||||
add_executable(${test} ${test}.cpp
|
add_executable(${test} ${test}.cpp
|
||||||
"../src/tweetnacl.c"
|
"../src/tweetnacl.c"
|
||||||
"../src/err.cpp"
|
"../src/err.cpp"
|
||||||
"../src/random.cpp"
|
"../src/random.cpp"
|
||||||
"../src/clock.cpp"
|
"../src/clock.cpp"
|
||||||
"testutil_security.hpp")
|
"testutil_security.hpp")
|
||||||
elseif (${test} MATCHES test_security_zap)
|
elseif(${test} MATCHES test_security_zap)
|
||||||
add_executable(${test} ${test}.cpp
|
add_executable(${test} ${test}.cpp
|
||||||
"testutil_security.hpp")
|
"testutil_security.hpp")
|
||||||
else ()
|
else()
|
||||||
add_executable(${test} ${test}.cpp "testutil.hpp" "testutil_unity.hpp")
|
add_executable(${test} ${test}.cpp "testutil.hpp" "testutil_unity.hpp")
|
||||||
endif ()
|
endif()
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
# This is the output for Debug dynamic builds on Visual Studio 6.0
|
# This is the output for Debug dynamic builds on Visual Studio 6.0
|
||||||
# You should provide the correct directory, don't know how to do it automatically
|
# You should provide the correct directory, don't know how to do it automatically
|
||||||
find_path(LIBZMQ_PATH "libzmq.lib" PATHS "../bin/Win32/Debug/v120/dynamic")
|
find_path(LIBZMQ_PATH "libzmq.lib" PATHS "../bin/Win32/Debug/v120/dynamic")
|
||||||
if(NOT ${LIBZMQ_PATH} STREQUAL "LIBZMQ_PATH-NOTFOUND")
|
if(NOT ${LIBZMQ_PATH} STREQUAL "LIBZMQ_PATH-NOTFOUND")
|
||||||
SET_TARGET_PROPERTIES( ${test} PROPERTIES LINK_FLAGS "/LIBPATH:${LIBZMQ_PATH}" )
|
set_target_properties(${test} PROPERTIES LINK_FLAGS "/LIBPATH:${LIBZMQ_PATH}")
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
# per-test directories not generated on OS X / Darwin
|
# per-test directories not generated on OS X / Darwin
|
||||||
if (NOT ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang.*")
|
if(NOT ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang.*")
|
||||||
link_directories(${test} PRIVATE "${ZeroMQ_SOURCE_DIR}/../lib")
|
link_directories(${test} PRIVATE "${ZeroMQ_SOURCE_DIR}/../lib")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
if(RT_LIBRARY)
|
if(RT_LIBRARY)
|
||||||
target_link_libraries(${test} ${RT_LIBRARY} )
|
target_link_libraries(${test} ${RT_LIBRARY})
|
||||||
endif()
|
endif()
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
add_test(NAME ${test} WORKING_DIRECTORY ${LIBRARY_OUTPUT_PATH} COMMAND ${test})
|
add_test(NAME ${test} WORKING_DIRECTORY ${LIBRARY_OUTPUT_PATH} COMMAND ${test})
|
||||||
@@ -242,7 +241,7 @@ file(GLOB ALL_TEST_SOURCES "test_*.cpp")
|
|||||||
foreach(TEST_SOURCE ${ALL_TEST_SOURCES})
|
foreach(TEST_SOURCE ${ALL_TEST_SOURCES})
|
||||||
get_filename_component(TESTNAME "${TEST_SOURCE}" NAME_WE)
|
get_filename_component(TESTNAME "${TEST_SOURCE}" NAME_WE)
|
||||||
string(REGEX MATCH "${TESTNAME}" MATCH_TESTNAME "${CURRENT_LIST_FILE_CONTENT}")
|
string(REGEX MATCH "${TESTNAME}" MATCH_TESTNAME "${CURRENT_LIST_FILE_CONTENT}")
|
||||||
if (NOT MATCH_TESTNAME)
|
if(NOT MATCH_TESTNAME)
|
||||||
message(AUTHOR_WARNING "Test '${TESTNAME}' is not known to CTest.")
|
message(AUTHOR_WARNING "Test '${TESTNAME}' is not known to CTest.")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
@@ -9,10 +9,10 @@ set(unittests
|
|||||||
unittest_udp_address
|
unittest_udp_address
|
||||||
)
|
)
|
||||||
|
|
||||||
#IF (ENABLE_DRAFTS)
|
#if(ENABLE_DRAFTS)
|
||||||
# list(APPEND tests
|
# list(APPEND tests
|
||||||
# )
|
# )
|
||||||
#ENDIF (ENABLE_DRAFTS)
|
#endif(ENABLE_DRAFTS)
|
||||||
|
|
||||||
# add location of platform.hpp for Windows builds
|
# add location of platform.hpp for Windows builds
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@@ -30,7 +30,7 @@ foreach(test ${unittests})
|
|||||||
add_executable(${test} ${test}.cpp "unittest_resolver_common.hpp")
|
add_executable(${test} ${test}.cpp "unittest_resolver_common.hpp")
|
||||||
|
|
||||||
# per-test directories not generated on OS X / Darwin
|
# per-test directories not generated on OS X / Darwin
|
||||||
if (NOT ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang.*")
|
if(NOT ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang.*")
|
||||||
link_directories(${test} PRIVATE "${ZeroMQ_SOURCE_DIR}/../lib")
|
link_directories(${test} PRIVATE "${ZeroMQ_SOURCE_DIR}/../lib")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ file(GLOB ALL_TEST_SOURCES "test_*.cpp")
|
|||||||
foreach(TEST_SOURCE ${ALL_TEST_SOURCES})
|
foreach(TEST_SOURCE ${ALL_TEST_SOURCES})
|
||||||
get_filename_component(TESTNAME "${TEST_SOURCE}" NAME_WE)
|
get_filename_component(TESTNAME "${TEST_SOURCE}" NAME_WE)
|
||||||
string(REGEX MATCH "${TESTNAME}" MATCH_TESTNAME "${CURRENT_LIST_FILE_CONTENT}")
|
string(REGEX MATCH "${TESTNAME}" MATCH_TESTNAME "${CURRENT_LIST_FILE_CONTENT}")
|
||||||
if (NOT MATCH_TESTNAME)
|
if(NOT MATCH_TESTNAME)
|
||||||
message(AUTHOR_WARNING "Test '${TESTNAME}' is not known to CTest.")
|
message(AUTHOR_WARNING "Test '${TESTNAME}' is not known to CTest.")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
Reference in New Issue
Block a user