Windows build configuration

This commit is contained in:
Marko Zivanovic
2015-09-13 22:18:18 +02:00
parent b1a19e5d91
commit fb01910bac
6 changed files with 97 additions and 42 deletions
+13
View File
@@ -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")
if(UNIX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror")
add_definitions(-std=c++11) 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)
-2
View File
@@ -1,2 +0,0 @@
*
!.gitignore
+16 -2
View File
@@ -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,6 +66,7 @@ include(CPack)
## ##
## Generate documentation ## Generate documentation
## ##
if(UNIX)
find_program(A2X_EXECUTABLE NAMES a2x) find_program(A2X_EXECUTABLE NAMES a2x)
set(A2X_OPTS --doctype manpage --format manpage -D ${CMAKE_CURRENT_BINARY_DIR}) set(A2X_OPTS --doctype manpage --format manpage -D ${CMAKE_CURRENT_BINARY_DIR})
@@ -73,3 +86,4 @@ 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()
+32 -3
View File
@@ -1,10 +1,15 @@
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
@@ -16,6 +21,12 @@ target_link_libraries(SyslogBulkUploaderTests
${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
@@ -23,6 +34,12 @@ target_link_libraries(SyslogMessageTests
${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
@@ -30,6 +47,12 @@ target_link_libraries(RFC3164FormattedSyslogMessageTests
${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
@@ -39,4 +62,10 @@ target_link_libraries(FrequencyLimitTests
${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()
+2 -2
View File
@@ -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.);
} }
+7 -6
View File
@@ -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: