commit
682246d2a1
38
.travis.yml
Normal file
38
.travis.yml
Normal file
@ -0,0 +1,38 @@
|
||||
|
||||
os:
|
||||
- linux
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- os: osx
|
||||
osx_image: xcode7.3
|
||||
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.8
|
||||
packages:
|
||||
- gcc-5
|
||||
- g++-5
|
||||
- clang-3.8
|
||||
|
||||
language: cpp
|
||||
compiler:
|
||||
- gcc
|
||||
- clang
|
||||
|
||||
before_install: ./travis.sh
|
||||
|
||||
install:
|
||||
- if [ "$CXX" = "g++" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then export CXX="g++-5" CC="gcc-5"; fi
|
||||
- if [ "$CXX" = "clang++" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then export CXX="clang++-3.8" CC="clang-3.8"; fi
|
||||
- echo ${PATH}
|
||||
- echo ${CXX}
|
||||
- ${CXX} --version
|
||||
- ${CXX} -v
|
||||
- cmake --version
|
||||
|
||||
before_script: ./deps.sh
|
||||
|
||||
script: mkdir -p build && cd build && cmake .. && make && make test
|
||||
@ -92,6 +92,7 @@ find_package(UV REQUIRED)
|
||||
find_package(Threads REQUIRED)
|
||||
find_package(GoogleTest)
|
||||
find_package(Doxygen 1.8)
|
||||
find_package(LibRt)
|
||||
|
||||
#
|
||||
# Referenced directories and targets
|
||||
|
||||
@ -2,6 +2,8 @@
|
||||
|
||||
# uvw
|
||||
|
||||
[](https://travis-ci.org/skypjack/uvw)
|
||||
|
||||
# Introduction
|
||||
|
||||
`uvw` is a header-only, event based, tiny and easy to use *libuv* wrapper in modern C++.<br/>
|
||||
|
||||
31
cmake/modules/FindLibRt.cmake
Normal file
31
cmake/modules/FindLibRt.cmake
Normal file
@ -0,0 +1,31 @@
|
||||
# FindLibRt
|
||||
# --------
|
||||
#
|
||||
# Find the native realtime includes and library.
|
||||
#
|
||||
# Result Variables
|
||||
# ^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# This module defines the following variables:
|
||||
#
|
||||
# ::
|
||||
#
|
||||
# LIBRT_INCLUDE_DIRS - where to find time.h, etc.
|
||||
# LIBRT_LIBRARIES - List of libraries when using librt.
|
||||
# LIBRT_FOUND - True if realtime library found.
|
||||
#
|
||||
# Hints
|
||||
# ^^^^^
|
||||
#
|
||||
# A user may set ``LIBRT_ROOT`` to a realtime installation root to tell this
|
||||
# module where to look.
|
||||
|
||||
find_path(LIBRT_INCLUDE_DIRS
|
||||
NAMES time.h
|
||||
PATHS ${LIBRT_ROOT}/include/
|
||||
)
|
||||
find_library(LIBRT_LIBRARIES rt)
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(LibRt DEFAULT_MSG LIBRT_LIBRARIES LIBRT_INCLUDE_DIRS)
|
||||
mark_as_advanced(LIBRT_INCLUDE_DIRS LIBRT_LIBRARIES)
|
||||
|
||||
@ -15,9 +15,16 @@ set(
|
||||
COMMON_LINK_LIBS
|
||||
${CMAKE_THREAD_LIBS_INIT}
|
||||
${GOOGLETEST_LIBRARIES}
|
||||
${UV_LIBRARIES}
|
||||
${UV_STATIC_LIBRARY}
|
||||
)
|
||||
|
||||
if(${LIBRT_FOUND})
|
||||
list(APPEND COMMON_LINK_LIBS ${LIBRT_LIBRARIES})
|
||||
endif(${LIBRT_FOUND})
|
||||
|
||||
add_library(odr OBJECT odr.cpp)
|
||||
target_include_directories(odr PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
|
||||
# List of available targets
|
||||
|
||||
set(TARGET_MAIN main)
|
||||
@ -33,7 +40,7 @@ set(TARGET_WORK work)
|
||||
|
||||
# Test TARGET_MAIN
|
||||
|
||||
set(TARGET_MAIN_SOURCES odr.cpp main.cpp)
|
||||
set(TARGET_MAIN_SOURCES $<TARGET_OBJECTS:odr> main.cpp)
|
||||
add_executable(${TARGET_MAIN} ${TARGET_MAIN_SOURCES})
|
||||
target_include_directories(${TARGET_MAIN} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_link_libraries(${TARGET_MAIN} PRIVATE ${COMMON_LINK_LIBS})
|
||||
@ -41,7 +48,7 @@ add_test(NAME ${TARGET_MAIN} COMMAND ${TARGET_MAIN})
|
||||
|
||||
# Test TARGET_ASYNC
|
||||
|
||||
set(TARGET_ASYNC_SOURCES odr.cpp uvw/async.cpp)
|
||||
set(TARGET_ASYNC_SOURCES $<TARGET_OBJECTS:odr> uvw/async.cpp)
|
||||
add_executable(${TARGET_ASYNC} ${TARGET_ASYNC_SOURCES})
|
||||
target_include_directories(${TARGET_ASYNC} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_link_libraries(${TARGET_ASYNC} PRIVATE ${COMMON_LINK_LIBS})
|
||||
@ -49,7 +56,7 @@ add_test(NAME ${TARGET_ASYNC} COMMAND ${TARGET_ASYNC})
|
||||
|
||||
# Test TARGET_CHECK
|
||||
|
||||
set(TARGET_CHECK_SOURCES odr.cpp uvw/check.cpp)
|
||||
set(TARGET_CHECK_SOURCES $<TARGET_OBJECTS:odr> uvw/check.cpp)
|
||||
add_executable(${TARGET_CHECK} ${TARGET_CHECK_SOURCES})
|
||||
target_include_directories(${TARGET_CHECK} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_link_libraries(${TARGET_CHECK} PRIVATE ${COMMON_LINK_LIBS})
|
||||
@ -57,7 +64,7 @@ add_test(NAME ${TARGET_CHECK} COMMAND ${TARGET_CHECK})
|
||||
|
||||
# Test TARGET_EMITTER
|
||||
|
||||
set(TARGET_EMITTER_SOURCES odr.cpp uvw/emitter.cpp)
|
||||
set(TARGET_EMITTER_SOURCES $<TARGET_OBJECTS:odr> uvw/emitter.cpp)
|
||||
add_executable(${TARGET_EMITTER} ${TARGET_EMITTER_SOURCES})
|
||||
target_include_directories(${TARGET_EMITTER} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_link_libraries(${TARGET_EMITTER} PRIVATE ${COMMON_LINK_LIBS})
|
||||
@ -65,7 +72,7 @@ add_test(NAME ${TARGET_EMITTER} COMMAND ${TARGET_EMITTER})
|
||||
|
||||
# Test TARGET_IDLE
|
||||
|
||||
set(TARGET_IDLE_SOURCES odr.cpp uvw/idle.cpp)
|
||||
set(TARGET_IDLE_SOURCES $<TARGET_OBJECTS:odr> uvw/idle.cpp)
|
||||
add_executable(${TARGET_IDLE} ${TARGET_IDLE_SOURCES})
|
||||
target_include_directories(${TARGET_IDLE} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_link_libraries(${TARGET_IDLE} PRIVATE ${COMMON_LINK_LIBS})
|
||||
@ -73,7 +80,7 @@ add_test(NAME ${TARGET_IDLE} COMMAND ${TARGET_IDLE})
|
||||
|
||||
# Test TARGET_LOOP
|
||||
|
||||
set(TARGET_LOOP_SOURCES odr.cpp uvw/loop.cpp)
|
||||
set(TARGET_LOOP_SOURCES $<TARGET_OBJECTS:odr> uvw/loop.cpp)
|
||||
add_executable(${TARGET_LOOP} ${TARGET_LOOP_SOURCES})
|
||||
target_include_directories(${TARGET_LOOP} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_link_libraries(${TARGET_LOOP} PRIVATE ${COMMON_LINK_LIBS})
|
||||
@ -81,7 +88,7 @@ add_test(NAME ${TARGET_LOOP} COMMAND ${TARGET_LOOP})
|
||||
|
||||
# Test TARGET_PREPARE
|
||||
|
||||
set(TARGET_PREPARE_SOURCES odr.cpp uvw/prepare.cpp)
|
||||
set(TARGET_PREPARE_SOURCES $<TARGET_OBJECTS:odr> uvw/prepare.cpp)
|
||||
add_executable(${TARGET_PREPARE} ${TARGET_PREPARE_SOURCES})
|
||||
target_include_directories(${TARGET_PREPARE} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_link_libraries(${TARGET_PREPARE} PRIVATE ${COMMON_LINK_LIBS})
|
||||
@ -89,7 +96,7 @@ add_test(NAME ${TARGET_PREPARE} COMMAND ${TARGET_PREPARE})
|
||||
|
||||
# Test TARGET_SIGNAL
|
||||
|
||||
set(TARGET_SIGNAL_SOURCES odr.cpp uvw/signal.cpp)
|
||||
set(TARGET_SIGNAL_SOURCES $<TARGET_OBJECTS:odr> uvw/signal.cpp)
|
||||
add_executable(${TARGET_SIGNAL} ${TARGET_SIGNAL_SOURCES})
|
||||
target_include_directories(${TARGET_SIGNAL} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_link_libraries(${TARGET_SIGNAL} PRIVATE ${COMMON_LINK_LIBS})
|
||||
@ -97,7 +104,7 @@ add_test(NAME ${TARGET_SIGNAL} COMMAND ${TARGET_SIGNAL})
|
||||
|
||||
# Test TARGET_TIMER
|
||||
|
||||
set(TARGET_TIMER_SOURCES odr.cpp uvw/timer.cpp)
|
||||
set(TARGET_TIMER_SOURCES $<TARGET_OBJECTS:odr> uvw/timer.cpp)
|
||||
add_executable(${TARGET_TIMER} ${TARGET_TIMER_SOURCES})
|
||||
target_include_directories(${TARGET_TIMER} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_link_libraries(${TARGET_TIMER} PRIVATE ${COMMON_LINK_LIBS})
|
||||
@ -105,7 +112,7 @@ add_test(NAME ${TARGET_TIMER} COMMAND ${TARGET_TIMER})
|
||||
|
||||
# Test TARGET_WORK
|
||||
|
||||
set(TARGET_WORK_SOURCES odr.cpp uvw/work.cpp)
|
||||
set(TARGET_WORK_SOURCES $<TARGET_OBJECTS:odr> uvw/work.cpp)
|
||||
add_executable(${TARGET_WORK} ${TARGET_WORK_SOURCES})
|
||||
target_include_directories(${TARGET_WORK} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_link_libraries(${TARGET_WORK} PRIVATE ${COMMON_LINK_LIBS})
|
||||
|
||||
@ -10,9 +10,9 @@ TEST(Signal, Fake) {
|
||||
handle->on<uvw::ErrorEvent>(l);
|
||||
handle->on<uvw::CheckEvent>(l);
|
||||
|
||||
handle->start(42);
|
||||
handle->start(2);
|
||||
|
||||
ASSERT_EQ(42, handle->signal());
|
||||
ASSERT_EQ(2, handle->signal());
|
||||
|
||||
handle->stop();
|
||||
handle->close();
|
||||
|
||||
16
travis.sh
Executable file
16
travis.sh
Executable file
@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
USER_PATH_DIR=~/bin
|
||||
TEMP_DIR=~/.cmake
|
||||
mkdir -p ${USER_PATH_DIR}
|
||||
mkdir -p ${TEMP_DIR}
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
|
||||
curl -s https://cmake.org/files/v3.6/cmake-3.6.2-Linux-x86_64.tar.gz | tar -xz -C ${TEMP_DIR}
|
||||
ln -s ${TEMP_DIR}/cmake-3.6.2-Linux-x86_64/bin/cmake ${USER_PATH_DIR}
|
||||
fi
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||
curl -s https://cmake.org/files/v3.6/cmake-3.6.2-Darwin-x86_64.tar.gz | tar -xz -C ${TEMP_DIR}
|
||||
"${TEMP_DIR}/cmake-3.6.2-Darwin-x86_64/CMake.app/Contents/bin/cmake-gui" --install=${USER_PATH_DIR}
|
||||
fi
|
||||
Loading…
Reference in New Issue
Block a user