Windows build configuration
This commit is contained in:
+15
-2
@@ -2,10 +2,23 @@ cmake_minimum_required(VERSION 2.8)
|
|||||||
project(syslog-bulk-uploader)
|
project(syslog-bulk-uploader)
|
||||||
set(SLBU_DESC "Syslog Bulk Uploader")
|
set(SLBU_DESC "Syslog Bulk Uploader")
|
||||||
set(SLBU_VER "1.0.0-alpha.1")
|
set(SLBU_VER "1.0.0-alpha.1")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror")
|
|
||||||
add_definitions(-std=c++11)
|
if(UNIX)
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror")
|
||||||
|
add_definitions(-std=c++11)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
add_definitions(-DWINVER=0x0501)
|
||||||
|
add_definitions(-D_WIN32_WINNT=0x0501)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(Boost_USE_STATIC_LIBS ON)
|
||||||
|
set(Boost_USE_MULTITHREADED ON)
|
||||||
|
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
add_subdirectory(test)
|
add_subdirectory(test)
|
||||||
|
|
||||||
enable_testing()
|
enable_testing()
|
||||||
add_test(NAME SyslogBulkUploaderTests COMMAND SyslogBulkUploaderTests)
|
add_test(NAME SyslogBulkUploaderTests COMMAND SyslogBulkUploaderTests)
|
||||||
add_test(NAME SyslogMessageTests COMMAND SyslogMessageTests)
|
add_test(NAME SyslogMessageTests COMMAND SyslogMessageTests)
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
*
|
|
||||||
!.gitignore
|
|
||||||
+33
-19
@@ -1,11 +1,16 @@
|
|||||||
find_package(Boost COMPONENTS date_time filesystem system thread program_options REQUIRED)
|
set(BOOST_LIBS date_time filesystem system thread program_options)
|
||||||
|
if(WIN32)
|
||||||
|
list(APPEND BOOST_LIBS regex chrono)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_package(Boost COMPONENTS ${BOOST_LIBS} REQUIRED)
|
||||||
find_package(Threads)
|
find_package(Threads)
|
||||||
|
|
||||||
configure_file("config.h.in" "config.h")
|
configure_file("config.h.in" "config.h")
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${PROJECT_BINARY_DIR}
|
${PROJECT_BINARY_DIR}
|
||||||
${Boost_INLUDE_DIRS}
|
${Boost_INCLUDE_DIRS}
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(slbu-lib
|
add_library(slbu-lib
|
||||||
@@ -29,6 +34,13 @@ target_link_libraries(syslog-bulk-uploader
|
|||||||
slbu-lib
|
slbu-lib
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
target_link_libraries(syslog-bulk-uploader
|
||||||
|
${Boost_REGEX_LIBRARY}
|
||||||
|
${Boost_CHRONO_LIBRARY}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
install(TARGETS syslog-bulk-uploader DESTINATION bin)
|
install(TARGETS syslog-bulk-uploader DESTINATION bin)
|
||||||
|
|
||||||
##
|
##
|
||||||
@@ -54,22 +66,24 @@ include(CPack)
|
|||||||
##
|
##
|
||||||
## Generate documentation
|
## Generate documentation
|
||||||
##
|
##
|
||||||
find_program(A2X_EXECUTABLE NAMES a2x)
|
if(UNIX)
|
||||||
set(A2X_OPTS --doctype manpage --format manpage -D ${CMAKE_CURRENT_BINARY_DIR})
|
find_program(A2X_EXECUTABLE NAMES a2x)
|
||||||
|
set(A2X_OPTS --doctype manpage --format manpage -D ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|
||||||
set(MAN_NAMES syslog-bulk-uploader.1)
|
set(MAN_NAMES syslog-bulk-uploader.1)
|
||||||
set(MAN_FILES)
|
set(MAN_FILES)
|
||||||
foreach(m IN LISTS MAN_NAMES)
|
foreach(m IN LISTS MAN_NAMES)
|
||||||
set(mf ${CMAKE_CURRENT_BINARY_DIR}/${m})
|
set(mf ${CMAKE_CURRENT_BINARY_DIR}/${m})
|
||||||
set(ms ${CMAKE_CURRENT_SOURCE_DIR}/${m}.txt)
|
set(ms ${CMAKE_CURRENT_SOURCE_DIR}/${m}.txt)
|
||||||
add_custom_command(OUTPUT ${mf}
|
add_custom_command(OUTPUT ${mf}
|
||||||
COMMAND ${A2X_EXECUTABLE} ${A2X_OPTS} ${ms}
|
COMMAND ${A2X_EXECUTABLE} ${A2X_OPTS} ${ms}
|
||||||
DEPENDS ${ms}
|
DEPENDS ${ms}
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
COMMENT "Building manpage ${mf}"
|
COMMENT "Building manpage ${mf}"
|
||||||
VERBATIM)
|
VERBATIM)
|
||||||
list(APPEND MAN_FILES ${mf})
|
list(APPEND MAN_FILES ${mf})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
add_custom_target(man ALL DEPENDS ${MAN_FILES})
|
add_custom_target(man ALL DEPENDS ${MAN_FILES})
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/syslog-bulk-uploader.1 DESTINATION man/man1/)
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/syslog-bulk-uploader.1 DESTINATION man/man1/)
|
||||||
|
endif()
|
||||||
+40
-11
@@ -1,42 +1,71 @@
|
|||||||
find_package(Boost COMPONENTS unit_test_framework date_time filesystem system thread REQUIRED)
|
set(BOOST_LIBS unit_test_framework date_time filesystem system thread)
|
||||||
|
if(WIN32)
|
||||||
|
list(APPEND BOOST_LIBS regex chrono)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_package(Boost COMPONENTS ${BOOST_LIBS} REQUIRED)
|
||||||
find_package(Threads)
|
find_package(Threads)
|
||||||
include_directories(
|
include_directories(
|
||||||
${TEST_SOURCE_DIR/src}
|
${TEST_SOURCE_DIR/src}
|
||||||
${Boost_INLUDE_DIRS}
|
${Boost_INCLUDE_DIRS}
|
||||||
)
|
)
|
||||||
add_definitions(-DBOOST_TEST_DYN_LINK)
|
#add_definitions(-DBOOST_TEST_DYN_LINK)
|
||||||
|
|
||||||
add_executable(SyslogBulkUploaderTests SyslogBulkUploaderTests.cpp)
|
add_executable(SyslogBulkUploaderTests SyslogBulkUploaderTests.cpp)
|
||||||
target_link_libraries(SyslogBulkUploaderTests
|
target_link_libraries(SyslogBulkUploaderTests
|
||||||
slbu-lib
|
slbu-lib
|
||||||
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
||||||
${Boost_DATE_TIME_LIBRARY}
|
${Boost_DATE_TIME_LIBRARY}
|
||||||
${Boost_FILESYSTEM_LIBRARY}
|
${Boost_FILESYSTEM_LIBRARY}
|
||||||
${Boost_SYSTEM_LIBRARY}
|
${Boost_SYSTEM_LIBRARY}
|
||||||
${CMAKE_THREAD_LIBS_INIT}
|
${CMAKE_THREAD_LIBS_INIT}
|
||||||
${Boost_THREAD_LIBRARY}
|
${Boost_THREAD_LIBRARY}
|
||||||
)
|
)
|
||||||
|
if(WIN32)
|
||||||
|
target_link_libraries(SyslogBulkUploaderTests
|
||||||
|
${Boost_REGEX_LIBRARY}
|
||||||
|
${Boost_CHRONO_LIBRARY}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_executable(SyslogMessageTests SyslogMessageTests.cpp)
|
add_executable(SyslogMessageTests SyslogMessageTests.cpp)
|
||||||
target_link_libraries(SyslogMessageTests
|
target_link_libraries(SyslogMessageTests
|
||||||
slbu-lib
|
slbu-lib
|
||||||
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
||||||
${Boost_DATE_TIME_LIBRARY}
|
${Boost_DATE_TIME_LIBRARY}
|
||||||
)
|
)
|
||||||
|
if(WIN32)
|
||||||
|
target_link_libraries(SyslogMessageTests
|
||||||
|
${Boost_REGEX_LIBRARY}
|
||||||
|
${Boost_CHRONO_LIBRARY}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_executable(RFC3164FormattedSyslogMessageTests RFC3164FormattedSyslogMessageTests.cpp)
|
add_executable(RFC3164FormattedSyslogMessageTests RFC3164FormattedSyslogMessageTests.cpp)
|
||||||
target_link_libraries(RFC3164FormattedSyslogMessageTests
|
target_link_libraries(RFC3164FormattedSyslogMessageTests
|
||||||
slbu-lib
|
slbu-lib
|
||||||
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
||||||
${Boost_DATE_TIME_LIBRARY}
|
${Boost_DATE_TIME_LIBRARY}
|
||||||
)
|
)
|
||||||
|
if(WIN32)
|
||||||
|
target_link_libraries(RFC3164FormattedSyslogMessageTests
|
||||||
|
${Boost_REGEX_LIBRARY}
|
||||||
|
${Boost_CHRONO_LIBRARY}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_executable(FrequencyLimitTests FrequencyLimitTests.cpp)
|
add_executable(FrequencyLimitTests FrequencyLimitTests.cpp)
|
||||||
target_link_libraries(FrequencyLimitTests
|
target_link_libraries(FrequencyLimitTests
|
||||||
slbu-lib
|
slbu-lib
|
||||||
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
|
||||||
${Boost_DATE_TIME_LIBRARY}
|
${Boost_DATE_TIME_LIBRARY}
|
||||||
${Boost_THREAD_LIBRARY}
|
${Boost_THREAD_LIBRARY}
|
||||||
${Boost_SYSTEM_LIBRARY}
|
${Boost_SYSTEM_LIBRARY}
|
||||||
)
|
)
|
||||||
|
if(WIN32)
|
||||||
|
target_link_libraries(FrequencyLimitTests
|
||||||
|
${Boost_REGEX_LIBRARY}
|
||||||
|
${Boost_CHRONO_LIBRARY}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|||||||
@@ -42,10 +42,10 @@ size_t countInLoop(size_t freq, time_duration duration) {
|
|||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(test_slow) {
|
BOOST_AUTO_TEST_CASE(test_slow) {
|
||||||
size_t c = countInLoop(5, seconds(5));
|
size_t c = countInLoop(5, seconds(5));
|
||||||
BOOST_WARN_CLOSE((float) c, 25, 10);
|
BOOST_WARN_CLOSE((float) c, 25., 10.);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(test_fast) {
|
BOOST_AUTO_TEST_CASE(test_fast) {
|
||||||
size_t c = countInLoop(100, seconds(5));
|
size_t c = countInLoop(100, seconds(5));
|
||||||
BOOST_WARN_CLOSE((float) c, 500, 10);
|
BOOST_WARN_CLOSE((float) c, 500., 10.);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define BOOST_TEST_MODULE SyslogBulkUploaderTests
|
||||||
|
#include <boost/test/unit_test.hpp>
|
||||||
|
#include <memory>
|
||||||
|
#define BOOST_FILESYSTEM_NO_DEPRECATED
|
||||||
|
#include <boost/filesystem.hpp>
|
||||||
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
|
|
||||||
#include "../src/SyslogBulkUploader.h"
|
#include "../src/SyslogBulkUploader.h"
|
||||||
#include "../src/Reader.h"
|
#include "../src/Reader.h"
|
||||||
#include "../src/Writer.h"
|
#include "../src/Writer.h"
|
||||||
@@ -29,12 +36,6 @@ SOFTWARE.
|
|||||||
#include "../src/UDPWriter.h"
|
#include "../src/UDPWriter.h"
|
||||||
#include "UdpSyslogServer.h"
|
#include "UdpSyslogServer.h"
|
||||||
#include "../src/RFC3164FormattedSyslogMessage.h"
|
#include "../src/RFC3164FormattedSyslogMessage.h"
|
||||||
#define BOOST_TEST_MODULE SyslogBulkUploaderTests
|
|
||||||
#include <boost/test/unit_test.hpp>
|
|
||||||
#include <memory>
|
|
||||||
#define BOOST_FILESYSTEM_NO_DEPRECATED
|
|
||||||
#include <boost/filesystem.hpp>
|
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
|
||||||
|
|
||||||
class MockReader : public Reader {
|
class MockReader : public Reader {
|
||||||
public:
|
public:
|
||||||
|
|||||||
Reference in New Issue
Block a user