Skip to content
Snippets Groups Projects
Commit 70fa8799 authored by Sergey Yakubov's avatar Sergey Yakubov
Browse files

start adapting for windows

parent 1efabb61
No related branches found
No related tags found
No related merge requests found
Showing
with 87 additions and 14 deletions
cmake_minimum_required(VERSION 2.8)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_FLAGS_DEBUG "/MTd")
project(HIDRA2)
......
......@@ -4,13 +4,23 @@ if (BUILD_TESTS)
find_package(Threads)
find_program(MEMORYCHECK_COMMAND valgrind)
set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full --error-exitcode=1")
set (gtest_SOURCE_DIR "C:/googletest")
endif ()
function(gtest target test_source_files test_libraries)
if (BUILD_TESTS)
include_directories(${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR})
link_directories(${gtest_SOURCE_DIR}/lib)
add_executable(test-${target} ${test_source_files})
target_link_libraries(test-${target} gtest gmock gtest_main ${CMAKE_THREAD_LIBS_INIT})
IF(WIN32 AND ${CMAKE_BUILD_TYPE} STREQUAL "Debug")
set(GTEST_LIBS gtestd gtest_maind gmockd)
ELSE()
set(GTEST_LIBS gtest gmock gtest_main)
ENDIF(WIN32 AND ${CMAKE_BUILD_TYPE} STREQUAL "Debug")
target_link_libraries(test-${target} ${GTEST_LIBS} ${CMAKE_THREAD_LIBS_INIT})
# set_target_properties(test-${target} PROPERTIES COMPILE_FLAGS "-DGTEST_LINKED_AS_SHARED_LIBRARY=1")
if (NOT ${test_libraries} STREQUAL "")
target_link_libraries(test-${target} ${test_libraries})
endif ()
......
......@@ -6,7 +6,7 @@ set(SOURCE_FILES
include/system_wrappers/system_io.h
src/system_io.cpp)
IF(WIN32)
# Do windows specific includes
set(SOURCE_FILES ${SOURCE_FILES} src/system_io_windows.cpp)
ELSEIF(UNIX)
set(SOURCE_FILES ${SOURCE_FILES} src/system_io_linux.cpp)
ENDIF(WIN32)
......@@ -15,7 +15,7 @@ ENDIF(WIN32)
################################
# Library
################################
#add_library(${TARGET_NAME} SHARED STATIC ${SOURCE_FILES})
add_library(${TARGET_NAME} SHARED ${SOURCE_FILES})
add_library(${TARGET_NAME} STATIC ${SOURCE_FILES})
#add_library(${TARGET_NAME} SHARED ${SOURCE_FILES})
target_include_directories(${TARGET_NAME} PUBLIC include)
set_target_properties(${TARGET_NAME} PROPERTIES LINKER_LANGUAGE CXX)
......@@ -9,6 +9,14 @@
#include "common/file_info.h"
#ifdef __linux__
#include <unistd.h>
#elif defined(_MSC_VER)
#include <BaseTsd.h>
typedef SSIZE_T ssize_t;
#endif
namespace hidra2 {
......
#include <fcntl.h>
#include <unistd.h>
#include <iostream>
#ifdef __linux__
#include <unistd.h>
#elif defined(_MSC_VER)
#include <BaseTsd.h>
typedef SSIZE_T ssize_t;
#endif
#include <io.h>
#include <system_wrappers/system_io.h>
namespace hidra2 {
......
#include "system_wrappers/system_io.h"
#include <cstring>
//#include <dirent.h>
#include <sys/stat.h>
#include <algorithm>
#include <cerrno>
using std::string;
using std::vector;
using std::chrono::system_clock;
namespace hidra2 {
IOErrors IOErrorFromErrno() {
IOErrors err;
switch (errno) {
case 0:
err = IOErrors::NO_ERROR;
break;
case ENOENT:
case ENOTDIR:
err = IOErrors::FILE_NOT_FOUND;
break;
case EACCES:
err = IOErrors::PERMISSIONS_DENIED;
break;
default:
err = IOErrors::UNKWOWN_ERROR;
break;
}
return err;
}
std::vector<FileInfo> SystemIO::FilesInFolder(const string& folder, IOErrors* err) {
std::vector<FileInfo> files{};
return files;
}
}
find_package(Threads)
add_subdirectory(process_folder)
......@@ -9,7 +9,7 @@ set(SOURCE_FILES process_folder.cpp)
#set(CMAKE_FIND_STATIC FIRST)
#endif()
add_executable(${TARGET_NAME} ${SOURCE_FILES})
target_link_libraries(${TARGET_NAME} common worker-api pthread)
target_link_libraries(${TARGET_NAME} common worker-api ${CMAKE_THREAD_LIBS_INIT})
set_target_properties(${TARGET_NAME} PROPERTIES LINKER_LANGUAGE CXX)
#set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS "-static-libstdc++")
......
......@@ -5,7 +5,7 @@ set(SOURCE_FILES src/producer/producer.cpp include/producer/producer.h)
################################
# Library
################################
add_library(${TARGET_NAME} SHARED ${SOURCE_FILES})
add_library(${TARGET_NAME} STATIC ${SOURCE_FILES})
target_include_directories(${TARGET_NAME} PUBLIC include)
target_link_libraries(${TARGET_NAME} common)
set_target_properties(${TARGET_NAME} PROPERTIES LINKER_LANGUAGE CXX)
......
CMAKE_MINIMUM_REQUIRED(VERSION 3.7) # needed for fixtures
find_package(Threads)
add_subdirectory(common/cpp)
add_subdirectory(system_io)
......
......@@ -5,6 +5,6 @@ set(SOURCE_FILES
################################
# Library
################################
add_library(${TARGET_NAME} SHARED ${SOURCE_FILES})
add_library(${TARGET_NAME} STATIC ${SOURCE_FILES})
target_include_directories(${TARGET_NAME} PUBLIC include)
set_target_properties(${TARGET_NAME} PROPERTIES LINKER_LANGUAGE CXX)
......@@ -6,7 +6,7 @@ set(SOURCE_FILES content_multithread.cpp)
# Executable and link
################################
add_executable(${TARGET_NAME} ${SOURCE_FILES})
target_link_libraries(${TARGET_NAME} test_common common worker-api pthread)
target_link_libraries(${TARGET_NAME} test_common common worker-api ${CMAKE_THREAD_LIBS_INIT})
set_target_properties(${TARGET_NAME} PROPERTIES LINKER_LANGUAGE CXX)
################################
......
......@@ -6,7 +6,7 @@ set(SOURCE_FILES next_multithread.cpp)
# Executable and link
################################
add_executable(${TARGET_NAME} ${SOURCE_FILES})
target_link_libraries(${TARGET_NAME} test_common common worker-api pthread)
target_link_libraries(${TARGET_NAME} test_common common worker-api ${CMAKE_THREAD_LIBS_INIT})
set_target_properties(${TARGET_NAME} PROPERTIES LINKER_LANGUAGE CXX)
################################
......
......@@ -6,8 +6,8 @@ set(SOURCE_FILES include/worker/data_broker.h src/data_broker.cpp src/folder_dat
################################
# Library
################################
add_library(${TARGET_NAME} SHARED ${SOURCE_FILES})
#add_library(${TARGET_NAME} SHARED STATIC ${SOURCE_FILES})
#add_library(${TARGET_NAME} SHARED ${SOURCE_FILES})
add_library(${TARGET_NAME} STATIC ${SOURCE_FILES})
target_include_directories(${TARGET_NAME} PUBLIC include)
target_link_libraries(${TARGET_NAME} common)
......
......@@ -58,7 +58,7 @@ WorkerErrorCode FolderDataBroker::CanGetData(FileInfo* info, FileData* data, int
return WorkerErrorCode::WRONG_INPUT;
}
if (nfile >= filelist_.size()) {
if (nfile >= (int) filelist_.size()) {
return WorkerErrorCode::NO_DATA;
}
return WorkerErrorCode::OK;
......
......@@ -20,7 +20,7 @@ class FolderDataBroker final : public hidra2::DataBroker {
private:
bool is_connected_;
int64_t current_file_;
int current_file_;
std::string base_path_;
std::vector<FileInfo> filelist_;
WorkerErrorCode CanGetData(FileInfo* info, FileData* data, int nfile) const;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment