Improved build system

Examples and tests now build on Windows
This commit is contained in:
Fred Nicolson 2017-05-31 16:23:35 +01:00
parent 0a00f0ca61
commit bbcf185202
4 changed files with 20 additions and 22 deletions

View File

@ -26,3 +26,5 @@ script:
# Build commands
- cmake .
- make
# Run tests
- tests/_test

View File

@ -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)

View File

@ -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)
add_test(test1 ${FRNETLIB_TEST})

View File

@ -1,4 +1,5 @@
#include <stdint.h>
#include <limits>
#include <gtest/gtest.h>
#include <frnetlib/Packet.h>