deps.sh is no longer required + added Utilities::setupArgs
This commit is contained in:
parent
13510d796d
commit
f6d0fd976a
6
.gitmodules
vendored
6
.gitmodules
vendored
@ -1,6 +0,0 @@
|
||||
[submodule "deps/googletest"]
|
||||
path = deps/googletest
|
||||
url = https://github.com/google/googletest.git
|
||||
[submodule "deps/libuv"]
|
||||
path = deps/libuv
|
||||
url = https://github.com/libuv/libuv.git
|
||||
@ -45,7 +45,6 @@ install:
|
||||
- echo ${CXX}
|
||||
- ${CXX} --version
|
||||
- ${CXX} -v
|
||||
- ./deps.sh
|
||||
|
||||
script:
|
||||
- mkdir -p build && cd build
|
||||
|
||||
@ -64,6 +64,7 @@ add_definitions(
|
||||
#
|
||||
|
||||
set(PROJECT_CMAKE_MODULES cmake/modules)
|
||||
set(PROJECT_CMAKE_IN cmake/in)
|
||||
set(PROJECT_BUILD_DIR build)
|
||||
set(PROJECT_DEPS_DIR deps)
|
||||
set(PROJECT_DOCS_DIR docs)
|
||||
@ -92,12 +93,29 @@ include(CTest)
|
||||
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
|
||||
find_package(UV REQUIRED)
|
||||
find_package(Threads REQUIRED)
|
||||
find_package(GoogleTest)
|
||||
find_package(Doxygen 1.8)
|
||||
find_package(LibRt)
|
||||
|
||||
#
|
||||
# Download and unpack dependencies
|
||||
#
|
||||
|
||||
# gtest, gtest_main, gmock and gmock_main targets are available from now on
|
||||
configure_file(${PROJECT_CMAKE_IN}/googletest.in googletest-download/CMakeLists.txt)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} --build . WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-download)
|
||||
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
||||
include_directories(${gtest_SOURCE_DIR}/include ${gmock_SOURCE_DIR}/include)
|
||||
add_subdirectory(${CMAKE_BINARY_DIR}/googletest-src ${CMAKE_BINARY_DIR}/googletest-build)
|
||||
|
||||
configure_file(${PROJECT_CMAKE_IN}/libuv.in libuv-download/CMakeLists.txt)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libuv-download)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} --build . WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/libuv-download)
|
||||
include_directories(${CMAKE_BINARY_DIR}/libuv-src/include)
|
||||
find_library(libuv_static NAMES libuv.a libuv PATHS ${CMAKE_BINARY_DIR}/libuv-src PATH_SUFFIXES .libs Release NO_DEFAULT_PATH)
|
||||
find_library(libuv_shared NAMES uv libuv PATHS ${CMAKE_BINARY_DIR}/libuv-src PATH_SUFFIXES .libs Release NO_DEFAULT_PATH)
|
||||
|
||||
#
|
||||
# Referenced directories and targets
|
||||
#
|
||||
@ -106,9 +124,7 @@ if(${DOXYGEN_FOUND})
|
||||
add_subdirectory(${PROJECT_DOCS_DIR})
|
||||
endif(${DOXYGEN_FOUND})
|
||||
|
||||
if(${GOOGLETEST_FOUND})
|
||||
add_subdirectory(${PROJECT_TEST_DIR})
|
||||
endif(${GOOGLETEST_FOUND})
|
||||
add_subdirectory(${PROJECT_TEST_DIR})
|
||||
|
||||
#
|
||||
# Keep your stuff and go further away, foolish.
|
||||
|
||||
@ -14,7 +14,6 @@ configuration:
|
||||
- Release
|
||||
|
||||
before_build:
|
||||
- deps.bat
|
||||
- cd %BUILD_DIR%
|
||||
- cmake .. -G"%CMAKE_GENERATOR_NAME%"
|
||||
|
||||
|
||||
16
cmake/in/googletest.in
Normal file
16
cmake/in/googletest.in
Normal file
@ -0,0 +1,16 @@
|
||||
project(googletest-download NONE)
|
||||
cmake_minimum_required(VERSION 3.4)
|
||||
|
||||
include(ExternalProject)
|
||||
|
||||
ExternalProject_Add(
|
||||
googletest
|
||||
GIT_REPOSITORY https://github.com/google/googletest.git
|
||||
GIT_TAG master
|
||||
SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-src"
|
||||
BINARY_DIR "${CMAKE_BINARY_DIR}/googletest-build"
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
TEST_COMMAND ""
|
||||
)
|
||||
16
cmake/in/libuv.in
Normal file
16
cmake/in/libuv.in
Normal file
@ -0,0 +1,16 @@
|
||||
project(libuv-download NONE)
|
||||
cmake_minimum_required(VERSION 3.4)
|
||||
|
||||
include(ExternalProject)
|
||||
|
||||
ExternalProject_Add(
|
||||
libuv
|
||||
GIT_REPOSITORY https://github.com/libuv/libuv.git
|
||||
GIT_TAG v1.x
|
||||
SOURCE_DIR ${CMAKE_BINARY_DIR}/libuv-src
|
||||
BUILD_IN_SOURCE 1
|
||||
CONFIGURE_COMMAND sh <SOURCE_DIR>/autogen.sh && ./configure
|
||||
BUILD_COMMAND make -j4
|
||||
INSTALL_COMMAND ""
|
||||
TEST_COMMAND ""
|
||||
)
|
||||
@ -1,96 +0,0 @@
|
||||
# FindGoogleTest
|
||||
# ---------
|
||||
#
|
||||
# Locate Google Test Framework
|
||||
#
|
||||
# This module defines:
|
||||
#
|
||||
# ::
|
||||
#
|
||||
# GOOGLETEST_INCLUDE_DIRS, where to find the headers
|
||||
# GOOGLETEST_LIBRARIES, the libraries against which to link
|
||||
# GOOGLETEST_FOUND, if false, do not try to use the above mentioned vars
|
||||
#
|
||||
|
||||
set(BUILD_DEPS_DIR ${CMAKE_SOURCE_DIR}/${PROJECT_DEPS_DIR})
|
||||
set(GOOGLETEST_DEPS_DIR googletest)
|
||||
|
||||
find_path(
|
||||
GOOGLETEST_INCLUDE_DIR NAMES gtest/gtest.h
|
||||
PATHS ${BUILD_DEPS_DIR}/${GOOGLETEST_DEPS_DIR}/googletest/include/
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
find_path(
|
||||
GOOGLEMOCK_INCLUDE_DIR NAMES gmock/gmock.h
|
||||
PATHS ${BUILD_DEPS_DIR}/${GOOGLETEST_DEPS_DIR}/googlemock/include/
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
find_library(
|
||||
GOOGLETEST_LIBRARY NAMES gtest
|
||||
PATHS ${BUILD_DEPS_DIR}/${GOOGLETEST_DEPS_DIR}/build/googlemock/gtest/
|
||||
PATH_SUFFIXES Release
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
find_library(
|
||||
GOOGLETEST_MAIN_LIBRARY NAMES gtest_main
|
||||
PATHS ${BUILD_DEPS_DIR}/${GOOGLETEST_DEPS_DIR}/build/googlemock/gtest/
|
||||
PATH_SUFFIXES Release
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
find_library(
|
||||
GOOGLEMOCK_LIBRARY NAMES gmock
|
||||
PATHS ${BUILD_DEPS_DIR}/${GOOGLETEST_DEPS_DIR}/build/googlemock/
|
||||
PATH_SUFFIXES Release
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
find_library(
|
||||
GOOGLEMOCK_MAIN_LIBRARY NAMES gmock_main
|
||||
PATHS ${BUILD_DEPS_DIR}/${GOOGLETEST_DEPS_DIR}/build/googlemock/
|
||||
PATH_SUFFIXES Release
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
find_package_handle_standard_args(
|
||||
GOOGLETEST
|
||||
FOUND_VAR GOOGLETEST_FOUND
|
||||
REQUIRED_VARS
|
||||
GOOGLETEST_LIBRARY
|
||||
GOOGLETEST_MAIN_LIBRARY
|
||||
GOOGLEMOCK_LIBRARY
|
||||
GOOGLEMOCK_MAIN_LIBRARY
|
||||
GOOGLETEST_INCLUDE_DIR
|
||||
GOOGLEMOCK_INCLUDE_DIR
|
||||
)
|
||||
|
||||
if(GOOGLETEST_FOUND)
|
||||
set(
|
||||
GOOGLETEST_LIBRARIES
|
||||
${GOOGLETEST_LIBRARY}
|
||||
${GOOGLETEST_MAIN_LIBRARY}
|
||||
${GOOGLEMOCK_LIBRARY}
|
||||
${GOOGLEMOCK_MAIN_LIBRARY}
|
||||
)
|
||||
|
||||
set(
|
||||
GOOGLETEST_INCLUDE_DIRS
|
||||
${GOOGLETEST_INCLUDE_DIR}
|
||||
${GOOGLEMOCK_INCLUDE_DIR}
|
||||
)
|
||||
endif(GOOGLETEST_FOUND)
|
||||
|
||||
|
||||
mark_as_advanced(
|
||||
GOOGLETEST_INCLUDE_DIR
|
||||
GOOGLEMOCK_INCLUDE_DIR
|
||||
GOOGLETEST_LIBRARY
|
||||
GOOGLETEST_MAIN_LIBRARY
|
||||
GOOGLEMOCK_LIBRARY
|
||||
GOOGLEMOCK_MAIN_LIBRARY
|
||||
)
|
||||
@ -20,12 +20,13 @@
|
||||
# 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_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)
|
||||
|
||||
|
||||
@ -1,67 +0,0 @@
|
||||
# FindUV
|
||||
# ---------
|
||||
#
|
||||
# Locate libuv
|
||||
#
|
||||
# This module defines:
|
||||
#
|
||||
# ::
|
||||
#
|
||||
# UV_INCLUDE_DIRS, where to find the headers
|
||||
# UV_LIBRARIES, the libraries against which to link
|
||||
# UV_FOUND, if false, do not try to use the above mentioned vars
|
||||
#
|
||||
|
||||
set(BUILD_DEPS_DIR ${CMAKE_SOURCE_DIR}/${PROJECT_DEPS_DIR})
|
||||
set(UV_DEPS_DIR libuv)
|
||||
|
||||
find_path(
|
||||
UV_INCLUDE_DIR NAMES uv.h
|
||||
PATHS ${BUILD_DEPS_DIR}/${UV_DEPS_DIR}/include/
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
find_library(
|
||||
UV_STATIC_LIBRARY NAMES libuv.a libuv
|
||||
PATHS ${BUILD_DEPS_DIR}/${UV_DEPS_DIR}
|
||||
PATH_SUFFIXES .libs Release
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
find_library(
|
||||
UV_SHARED_LIBRARY NAMES uv libuv
|
||||
PATHS ${BUILD_DEPS_DIR}/${UV_DEPS_DIR}
|
||||
PATH_SUFFIXES .libs Release
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
find_package_handle_standard_args(
|
||||
UV
|
||||
FOUND_VAR UV_FOUND
|
||||
REQUIRED_VARS
|
||||
UV_STATIC_LIBRARY
|
||||
UV_SHARED_LIBRARY
|
||||
UV_INCLUDE_DIR
|
||||
)
|
||||
|
||||
if(UV_FOUND)
|
||||
set(
|
||||
UV_LIBRARIES
|
||||
${UV_STATIC_LIBRARY}
|
||||
${UV_SHARED_LIBRARY}
|
||||
)
|
||||
|
||||
set(
|
||||
UV_INCLUDE_DIRS
|
||||
${UV_INCLUDE_DIR}
|
||||
)
|
||||
endif(UV_FOUND)
|
||||
|
||||
|
||||
mark_as_advanced(
|
||||
UV_INCLUDE_DIR
|
||||
UV_STATIC_LIBRARY
|
||||
UV_SHARED_LIBRARY
|
||||
)
|
||||
37
deps.bat
37
deps.bat
@ -1,37 +0,0 @@
|
||||
@echo off
|
||||
|
||||
set SRC_DIR=%~dp0
|
||||
|
||||
if not defined ARCH set ARCH=x86
|
||||
if defined platform if "%platform%"=="x64" set ARCH=x64
|
||||
|
||||
@rem init/update submodules
|
||||
cd %SRC_DIR%
|
||||
git submodule update --init
|
||||
|
||||
@rem compile dependencies
|
||||
|
||||
@rem uv first because vcbuild.bat gives us good things like:
|
||||
@rem - msbuild in PATH
|
||||
@rem - variables like config, msbuild_platform
|
||||
|
||||
cd %SRC_DIR%deps\libuv
|
||||
@rem the arguments to vcbuild make all the difference to further builds
|
||||
call vcbuild.bat release %ARCH% shared
|
||||
|
||||
if "%msbuild_platform%"=="x64" (
|
||||
set CMAKE_GENERATOR_NAME=Visual Studio 14 2015 Win64
|
||||
) else (
|
||||
set CMAKE_GENERATOR_NAME=Visual Studio 14 2015
|
||||
)
|
||||
|
||||
set GTEST_BUILD_DIR=%SRC_DIR%deps\googletest\build
|
||||
if exist %GTEST_BUILD_DIR%\NUL rd /s /q %GTEST_BUILD_DIR%
|
||||
md %GTEST_BUILD_DIR%
|
||||
cd %GTEST_BUILD_DIR%
|
||||
cmake .. -Dgtest_force_shared_crt=ON -G"%CMAKE_GENERATOR_NAME%"
|
||||
msbuild googlemock\gmock.sln /p:Configuration=%config% /p:Platform="%msbuild_platform%" /clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo /m
|
||||
msbuild googlemock\gtest\gtest.sln /p:Configuration=%config% /p:Platform="%msbuild_platform%" /clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo /m
|
||||
|
||||
@rem go back home
|
||||
cd %SRC_DIR%
|
||||
46
deps.sh
46
deps.sh
@ -1,46 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
#
|
||||
# google docet - jump within the directory which contains this script
|
||||
#
|
||||
|
||||
SOURCE="${BASH_SOURCE[0]}"
|
||||
|
||||
while [ -h "$SOURCE" ]; do
|
||||
DIR="$(cd -P "$(dirname "$SOURCE")" && pwd)"
|
||||
SOURCE="$(readlink "$SOURCE")"
|
||||
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE"
|
||||
done
|
||||
|
||||
#
|
||||
# set aside the base dir for future references
|
||||
#
|
||||
|
||||
DIR="$(cd -P "$(dirname "$SOURCE")" && pwd)"
|
||||
|
||||
#
|
||||
# init/update submodules
|
||||
#
|
||||
|
||||
cd "$DIR"
|
||||
git submodule update --init # --recursive
|
||||
|
||||
#
|
||||
# compile dependencies
|
||||
#
|
||||
|
||||
rm -rf "$DIR"/deps/googletest/build
|
||||
mkdir "$DIR"/deps/googletest/build
|
||||
cd "$DIR"/deps/googletest/build
|
||||
cmake .. && make -j4
|
||||
|
||||
cd "$DIR"/deps/libuv
|
||||
sh autogen.sh
|
||||
./configure
|
||||
make -j4
|
||||
|
||||
#
|
||||
# go back home
|
||||
#
|
||||
|
||||
cd "$DIR"
|
||||
1
deps/googletest
vendored
1
deps/googletest
vendored
@ -1 +0,0 @@
|
||||
Subproject commit 0a439623f75c029912728d80cb7f1b8b48739ca4
|
||||
1
deps/libuv
vendored
1
deps/libuv
vendored
@ -1 +0,0 @@
|
||||
Subproject commit 2fc54807fca6d3d3022d23fda6d3c060ebbc5be1
|
||||
@ -584,6 +584,17 @@ struct Utilities {
|
||||
return avg;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Store the program arguments.
|
||||
*
|
||||
* Required for getting / setting the process title.
|
||||
*
|
||||
* @return Arguments that haven't been consumed internally.
|
||||
*/
|
||||
static char ** setupArgs(int argc, char** argv) {
|
||||
return uv_setup_args(argc, argv);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Gets the title of the current process.
|
||||
* @return The process title.
|
||||
|
||||
@ -4,17 +4,11 @@
|
||||
|
||||
set(UVW_SRC_DIR ${CMAKE_SOURCE_DIR}/${PROJECT_SRC_DIR})
|
||||
|
||||
set(
|
||||
COMMON_INCLUDE_DIRS
|
||||
${UVW_SRC_DIR}
|
||||
${GOOGLETEST_INCLUDE_DIRS}
|
||||
${UV_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
set(
|
||||
COMMON_LINK_LIBS
|
||||
${GOOGLETEST_LIBRARIES}
|
||||
${UV_STATIC_LIBRARY}
|
||||
gtest
|
||||
gtest_main
|
||||
${libuv_static}
|
||||
Threads::Threads
|
||||
)
|
||||
|
||||
@ -27,7 +21,7 @@ if(WIN32)
|
||||
endif(WIN32)
|
||||
|
||||
add_library(odr OBJECT odr.cpp)
|
||||
target_include_directories(odr PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_include_directories(odr PRIVATE ${UVW_SRC_DIR})
|
||||
|
||||
# List of available targets
|
||||
|
||||
@ -56,7 +50,7 @@ set(TARGET_WORK work)
|
||||
|
||||
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_include_directories(${TARGET_MAIN} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_MAIN} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_MAIN} COMMAND ${TARGET_MAIN})
|
||||
|
||||
@ -64,7 +58,7 @@ add_test(NAME ${TARGET_MAIN} COMMAND ${TARGET_MAIN})
|
||||
|
||||
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_include_directories(${TARGET_ASYNC} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_ASYNC} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_ASYNC} COMMAND ${TARGET_ASYNC})
|
||||
|
||||
@ -72,7 +66,7 @@ add_test(NAME ${TARGET_ASYNC} COMMAND ${TARGET_ASYNC})
|
||||
|
||||
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_include_directories(${TARGET_CHECK} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_CHECK} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_CHECK} COMMAND ${TARGET_CHECK})
|
||||
|
||||
@ -80,7 +74,7 @@ add_test(NAME ${TARGET_CHECK} COMMAND ${TARGET_CHECK})
|
||||
|
||||
set(TARGET_DNS_SOURCES $<TARGET_OBJECTS:odr> uvw/dns.cpp)
|
||||
add_executable(${TARGET_DNS} ${TARGET_DNS_SOURCES})
|
||||
target_include_directories(${TARGET_DNS} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_include_directories(${TARGET_DNS} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_DNS} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_DNS} COMMAND ${TARGET_DNS})
|
||||
|
||||
@ -88,7 +82,7 @@ add_test(NAME ${TARGET_DNS} COMMAND ${TARGET_DNS})
|
||||
|
||||
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_include_directories(${TARGET_EMITTER} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_EMITTER} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_EMITTER} COMMAND ${TARGET_EMITTER})
|
||||
|
||||
@ -98,7 +92,7 @@ set(TARGET_FS_REQ_SOURCES $<TARGET_OBJECTS:odr> uvw/fs_req.cpp)
|
||||
set(TARGET_FS_REQ_DIR ${CMAKE_CURRENT_BINARY_DIR}/fs_req)
|
||||
file(MAKE_DIRECTORY ${TARGET_FS_REQ_DIR})
|
||||
add_executable(${TARGET_FS_REQ} ${TARGET_FS_REQ_SOURCES})
|
||||
target_include_directories(${TARGET_FS_REQ} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_include_directories(${TARGET_FS_REQ} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_FS_REQ} PRIVATE ${COMMON_LINK_LIBS})
|
||||
target_compile_definitions(${TARGET_FS_REQ} PRIVATE TARGET_FS_REQ_DIR="${TARGET_FS_REQ_DIR}")
|
||||
add_test(NAME ${TARGET_FS_REQ} COMMAND ${TARGET_FS_REQ})
|
||||
@ -109,7 +103,7 @@ set(TARGET_FILE_REQ_SOURCES $<TARGET_OBJECTS:odr> uvw/file_req.cpp)
|
||||
set(TARGET_FILE_REQ_DIR ${CMAKE_CURRENT_BINARY_DIR}/file_req)
|
||||
file(MAKE_DIRECTORY ${TARGET_FILE_REQ_DIR})
|
||||
add_executable(${TARGET_FILE_REQ} ${TARGET_FILE_REQ_SOURCES})
|
||||
target_include_directories(${TARGET_FILE_REQ} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_include_directories(${TARGET_FILE_REQ} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_FILE_REQ} PRIVATE ${COMMON_LINK_LIBS})
|
||||
target_compile_definitions(${TARGET_FILE_REQ} PRIVATE TARGET_FILE_REQ_DIR="${TARGET_FILE_REQ_DIR}")
|
||||
add_test(NAME ${TARGET_FILE_REQ} COMMAND ${TARGET_FILE_REQ})
|
||||
@ -118,7 +112,7 @@ add_test(NAME ${TARGET_FILE_REQ} COMMAND ${TARGET_FILE_REQ})
|
||||
|
||||
set(TARGET_HANDLE_SOURCES $<TARGET_OBJECTS:odr> uvw/handle.cpp)
|
||||
add_executable(${TARGET_HANDLE} ${TARGET_HANDLE_SOURCES})
|
||||
target_include_directories(${TARGET_HANDLE} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_include_directories(${TARGET_HANDLE} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_HANDLE} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_HANDLE} COMMAND ${TARGET_HANDLE})
|
||||
|
||||
@ -126,7 +120,7 @@ add_test(NAME ${TARGET_HANDLE} COMMAND ${TARGET_HANDLE})
|
||||
|
||||
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_include_directories(${TARGET_IDLE} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_IDLE} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_IDLE} COMMAND ${TARGET_IDLE})
|
||||
|
||||
@ -134,7 +128,7 @@ add_test(NAME ${TARGET_IDLE} COMMAND ${TARGET_IDLE})
|
||||
|
||||
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_include_directories(${TARGET_LOOP} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_LOOP} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_LOOP} COMMAND ${TARGET_LOOP})
|
||||
|
||||
@ -142,7 +136,7 @@ add_test(NAME ${TARGET_LOOP} COMMAND ${TARGET_LOOP})
|
||||
|
||||
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_include_directories(${TARGET_PREPARE} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_PREPARE} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_PREPARE} COMMAND ${TARGET_PREPARE})
|
||||
|
||||
@ -150,14 +144,14 @@ add_test(NAME ${TARGET_PREPARE} COMMAND ${TARGET_PREPARE})
|
||||
|
||||
set(TARGET_REQUEST_SOURCES $<TARGET_OBJECTS:odr> uvw/request.cpp)
|
||||
add_executable(${TARGET_REQUEST} ${TARGET_REQUEST_SOURCES})
|
||||
target_include_directories(${TARGET_REQUEST} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_include_directories(${TARGET_REQUEST} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_REQUEST} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_REQUEST} COMMAND ${TARGET_REQUEST})
|
||||
|
||||
# Test TARGET_RESOURCE
|
||||
set(TARGET_RESOURCE_SOURCES $<TARGET_OBJECTS:odr> uvw/resource.cpp)
|
||||
add_executable(${TARGET_RESOURCE} ${TARGET_RESOURCE_SOURCES})
|
||||
target_include_directories(${TARGET_RESOURCE} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_include_directories(${TARGET_RESOURCE} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_RESOURCE} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_RESOURCE} COMMAND ${TARGET_RESOURCE})
|
||||
|
||||
@ -165,7 +159,7 @@ add_test(NAME ${TARGET_RESOURCE} COMMAND ${TARGET_RESOURCE})
|
||||
|
||||
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_include_directories(${TARGET_SIGNAL} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_SIGNAL} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_SIGNAL} COMMAND ${TARGET_SIGNAL})
|
||||
|
||||
@ -173,7 +167,7 @@ add_test(NAME ${TARGET_SIGNAL} COMMAND ${TARGET_SIGNAL})
|
||||
|
||||
set(TARGET_TCP_SOURCES $<TARGET_OBJECTS:odr> uvw/tcp.cpp)
|
||||
add_executable(${TARGET_TCP} ${TARGET_TCP_SOURCES})
|
||||
target_include_directories(${TARGET_TCP} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_include_directories(${TARGET_TCP} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_TCP} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_TCP} COMMAND ${TARGET_TCP})
|
||||
|
||||
@ -181,7 +175,7 @@ add_test(NAME ${TARGET_TCP} COMMAND ${TARGET_TCP})
|
||||
|
||||
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_include_directories(${TARGET_TIMER} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_TIMER} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_TIMER} COMMAND ${TARGET_TIMER})
|
||||
|
||||
@ -189,7 +183,7 @@ add_test(NAME ${TARGET_TIMER} COMMAND ${TARGET_TIMER})
|
||||
|
||||
set(TARGET_TTY_SOURCES $<TARGET_OBJECTS:odr> uvw/tty.cpp)
|
||||
add_executable(${TARGET_TTY} ${TARGET_TTY_SOURCES})
|
||||
target_include_directories(${TARGET_TTY} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_include_directories(${TARGET_TTY} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_TTY} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_TTY} COMMAND ${TARGET_TTY})
|
||||
|
||||
@ -197,7 +191,7 @@ add_test(NAME ${TARGET_TTY} COMMAND ${TARGET_TTY})
|
||||
|
||||
set(TARGET_UDP_SOURCES $<TARGET_OBJECTS:odr> uvw/udp.cpp)
|
||||
add_executable(${TARGET_UDP} ${TARGET_UDP_SOURCES})
|
||||
target_include_directories(${TARGET_UDP} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_include_directories(${TARGET_UDP} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_UDP} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_UDP} COMMAND ${TARGET_UDP})
|
||||
|
||||
@ -205,7 +199,7 @@ add_test(NAME ${TARGET_UDP} COMMAND ${TARGET_UDP})
|
||||
|
||||
set(TARGET_UTIL_SOURCES $<TARGET_OBJECTS:odr> uvw/util.cpp)
|
||||
add_executable(${TARGET_UTIL} ${TARGET_UTIL_SOURCES})
|
||||
target_include_directories(${TARGET_UTIL} PRIVATE ${COMMON_INCLUDE_DIRS})
|
||||
target_include_directories(${TARGET_UTIL} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_UTIL} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_UTIL} COMMAND ${TARGET_UTIL})
|
||||
|
||||
@ -213,6 +207,6 @@ add_test(NAME ${TARGET_UTIL} COMMAND ${TARGET_UTIL})
|
||||
|
||||
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_include_directories(${TARGET_WORK} PRIVATE ${UVW_SRC_DIR})
|
||||
target_link_libraries(${TARGET_WORK} PRIVATE ${COMMON_LINK_LIBS})
|
||||
add_test(NAME ${TARGET_WORK} COMMAND ${TARGET_WORK})
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
#include <memory>
|
||||
#include <gtest/gtest.h>
|
||||
#include <uvw.hpp>
|
||||
|
||||
@ -100,6 +101,11 @@ TEST(Util, Utilities) {
|
||||
ASSERT_FALSE(uvw::Utilities::cwd().empty());
|
||||
ASSERT_TRUE(uvw::Utilities::chdir(uvw::Utilities::cwd()));
|
||||
|
||||
std::unique_ptr<char[], void(*)(void *)> fake{new char[1], [](void *ptr) { delete[] static_cast<char *>(ptr); }};
|
||||
char *argv = fake.get();
|
||||
argv[0] = '\0';
|
||||
|
||||
ASSERT_NE(uvw::Utilities::setupArgs(1, &argv), nullptr);
|
||||
ASSERT_NE(uvw::Utilities::processTitle(), std::string{});
|
||||
ASSERT_TRUE(uvw::Utilities::processTitle(uvw::Utilities::processTitle()));
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user