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
|
||||
- cmake .
|
||||
- make
|
||||
# Run tests
|
||||
- tests/_test
|
||||
|
||||
@ -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()
|
||||
#Enable tests and examples by default
|
||||
option(BUILD_EXAMPLES "Build frnetlib examples" ON)
|
||||
option(BUILD_TESTS "Build frnetlib tests" ON)
|
||||
|
||||
endif()
|
||||
|
||||
|
||||
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})
|
||||
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)
|
||||
|
||||
@ -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}
|
||||
@ -26,8 +29,3 @@ 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)
|
||||
@ -1,4 +1,5 @@
|
||||
#include <stdint.h>
|
||||
#include <limits>
|
||||
#include <gtest/gtest.h>
|
||||
#include <frnetlib/Packet.h>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user