diff --git a/.travis.yml b/.travis.yml index 28805af..8ba2c90 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,3 +26,5 @@ script: # Build commands - cmake . - make + # Run tests + - tests/_test diff --git a/CMakeLists.txt b/CMakeLists.txt index 5095bb3..8733aba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,6 @@ cmake_minimum_required(VERSION 3.2) project(frnetlib) +set(FRNETLIB_LINK_LIBRARIES "") #Set module path set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules) @@ -8,17 +9,11 @@ set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake_mo option(USE_SSL "Use SSL" OFF) set(FRNETLIB_BUILD_SHARED_LIBS false CACHE BOOL "Build shared library.") -#Tests and examples are currently broken on Windows -if(WIN32) - option(BUILD_EXAMPLES "Build frnetlib examples" OFF) - option(BUILD_TESTS "Build frnetlib tests" OFF) -else() - option(BUILD_EXAMPLES "Build frnetlib examples" ON) - option(BUILD_TESTS "Build frnetlib tests" ON) - -endif() - +#Enable tests and examples by default +option(BUILD_EXAMPLES "Build frnetlib examples" ON) +option(BUILD_TESTS "Build frnetlib tests" ON) +add_definitions(-DNOMINMAX) if(USE_SSL) FIND_PACKAGE(MBEDTLS) INCLUDE_DIRECTORIES(${MBEDTLS_INCLUDE_DIR}) @@ -75,14 +70,16 @@ else() endif() endif() -if(USE_SSL) - if( WIN32 ) - TARGET_LINK_LIBRARIES(frnetlib ${MBEDTLS_LIBRARIES} -lws2_32) - else() - TARGET_LINK_LIBRARIES(frnetlib ${MBEDTLS_LIBRARIES}) - endif() +if(WIN32) + set(FRNETLIB_LINK_LIBRARIES ${FRNETLIB_LINK_LIBRARIES} wsock32 ws2_32) endif() +if(USE_SSL) + set(FRNETLIB_LINK_LIBRARIES ${FRNETLIB_LINK_LIBRARIES} ${MBEDTLS_LIBRARIES}) +endif() + +target_link_libraries(frnetlib ${FRNETLIB_LINK_LIBRARIES}) + #Build Tests if needbe if(BUILD_TESTS) set(EXT_PROJECTS_DIR ${PROJECT_SOURCE_DIR}/ext) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 92c0c70..b0b698f 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -6,6 +6,9 @@ file(GLOB TEST_SRC_FILES ${PROJECT_SOURCE_DIR}/tests/*.cpp) add_executable(${FRNETLIB_TEST} ${TEST_SRC_FILES}) add_dependencies(${FRNETLIB_TEST} googletest) +if(MSVC) + set(FRNETLIB_TEST ${FRNETLIB_TEST} wsock32 ws2_32) +endif() if(NOT WIN32 OR MINGW) target_link_libraries(${FRNETLIB_TEST} @@ -25,9 +28,4 @@ endif() #Link tests target_link_libraries(${FRNETLIB_TEST} frnetlib) -add_test(test1 ${FRNETLIB_TEST}) - -#Run tests automatically -add_custom_command(TARGET ${FRNETLIB_TEST} - POST_BUILD - COMMAND ${PROJECT_SOURCE_DIR}/tests/_test) \ No newline at end of file +add_test(test1 ${FRNETLIB_TEST}) \ No newline at end of file diff --git a/tests/PacketTest.cpp b/tests/PacketTest.cpp index 34016f5..c8345c9 100644 --- a/tests/PacketTest.cpp +++ b/tests/PacketTest.cpp @@ -1,4 +1,5 @@ #include +#include #include #include