Improved build system
Examples and tests now build on Windows
This commit is contained in:
parent
0a00f0ca61
commit
bbcf185202
@ -26,3 +26,5 @@ script:
|
|||||||
# Build commands
|
# Build commands
|
||||||
- cmake .
|
- cmake .
|
||||||
- make
|
- make
|
||||||
|
# Run tests
|
||||||
|
- tests/_test
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.2)
|
cmake_minimum_required(VERSION 3.2)
|
||||||
project(frnetlib)
|
project(frnetlib)
|
||||||
|
set(FRNETLIB_LINK_LIBRARIES "")
|
||||||
|
|
||||||
#Set module path
|
#Set module path
|
||||||
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules)
|
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)
|
option(USE_SSL "Use SSL" OFF)
|
||||||
set(FRNETLIB_BUILD_SHARED_LIBS false CACHE BOOL "Build shared library.")
|
set(FRNETLIB_BUILD_SHARED_LIBS false CACHE BOOL "Build shared library.")
|
||||||
|
|
||||||
#Tests and examples are currently broken on Windows
|
#Enable tests and examples by default
|
||||||
if(WIN32)
|
option(BUILD_EXAMPLES "Build frnetlib examples" ON)
|
||||||
option(BUILD_EXAMPLES "Build frnetlib examples" OFF)
|
option(BUILD_TESTS "Build frnetlib tests" ON)
|
||||||
option(BUILD_TESTS "Build frnetlib tests" OFF)
|
|
||||||
else()
|
|
||||||
option(BUILD_EXAMPLES "Build frnetlib examples" ON)
|
|
||||||
option(BUILD_TESTS "Build frnetlib tests" ON)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
|
add_definitions(-DNOMINMAX)
|
||||||
if(USE_SSL)
|
if(USE_SSL)
|
||||||
FIND_PACKAGE(MBEDTLS)
|
FIND_PACKAGE(MBEDTLS)
|
||||||
INCLUDE_DIRECTORIES(${MBEDTLS_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${MBEDTLS_INCLUDE_DIR})
|
||||||
@ -75,14 +70,16 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(USE_SSL)
|
if(WIN32)
|
||||||
if( WIN32 )
|
set(FRNETLIB_LINK_LIBRARIES ${FRNETLIB_LINK_LIBRARIES} wsock32 ws2_32)
|
||||||
TARGET_LINK_LIBRARIES(frnetlib ${MBEDTLS_LIBRARIES} -lws2_32)
|
|
||||||
else()
|
|
||||||
TARGET_LINK_LIBRARIES(frnetlib ${MBEDTLS_LIBRARIES})
|
|
||||||
endif()
|
|
||||||
endif()
|
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
|
#Build Tests if needbe
|
||||||
if(BUILD_TESTS)
|
if(BUILD_TESTS)
|
||||||
set(EXT_PROJECTS_DIR ${PROJECT_SOURCE_DIR}/ext)
|
set(EXT_PROJECTS_DIR ${PROJECT_SOURCE_DIR}/ext)
|
||||||
|
|||||||
@ -6,6 +6,9 @@ file(GLOB TEST_SRC_FILES ${PROJECT_SOURCE_DIR}/tests/*.cpp)
|
|||||||
add_executable(${FRNETLIB_TEST} ${TEST_SRC_FILES})
|
add_executable(${FRNETLIB_TEST} ${TEST_SRC_FILES})
|
||||||
add_dependencies(${FRNETLIB_TEST} googletest)
|
add_dependencies(${FRNETLIB_TEST} googletest)
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
set(FRNETLIB_TEST ${FRNETLIB_TEST} wsock32 ws2_32)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT WIN32 OR MINGW)
|
if(NOT WIN32 OR MINGW)
|
||||||
target_link_libraries(${FRNETLIB_TEST}
|
target_link_libraries(${FRNETLIB_TEST}
|
||||||
@ -25,9 +28,4 @@ endif()
|
|||||||
|
|
||||||
#Link tests
|
#Link tests
|
||||||
target_link_libraries(${FRNETLIB_TEST} frnetlib)
|
target_link_libraries(${FRNETLIB_TEST} frnetlib)
|
||||||
add_test(test1 ${FRNETLIB_TEST})
|
add_test(test1 ${FRNETLIB_TEST})
|
||||||
|
|
||||||
#Run tests automatically
|
|
||||||
add_custom_command(TARGET ${FRNETLIB_TEST}
|
|
||||||
POST_BUILD
|
|
||||||
COMMAND ${PROJECT_SOURCE_DIR}/tests/_test)
|
|
||||||
@ -1,4 +1,5 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include <limits>
|
||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
#include <frnetlib/Packet.h>
|
#include <frnetlib/Packet.h>
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user