Loading CMakeLists.txt +42 −1 Original line number Diff line number Diff line cmake_minimum_required(VERSION 3.6) project(GekkoFS) project( GekkoFS VERSION 0.3.1 ) if(NOT CMAKE_COMPILER_IS_GNUCC) message(FATAL_ERROR "The choosen C compiler is not gcc and is not supported") Loading @@ -25,6 +30,41 @@ set(CMAKE_CXX_FLAGS_MEMCHECK "${WARNINGS_FLAGS} -g -O0 -fsanitize=address -fno-o set(CMAKE_CXX_FLAGS_MAINTAINER "${WARNINGS_FLAGS} -g -O0 -pg -no-pie") mark_as_advanced(CMAKE_CXX_FLAGS_MAINTAINER) # Project version set(GIT_VERSION_FOUND FALSE) if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git) find_package(Git) if(Git_FOUND) execute_process(COMMAND /bin/bash -c "${GIT_EXECUTABLE} describe --tags --match='v*.*.*' --long --dirty" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} RESULT_VARIABLE GIT_RET OUTPUT_VARIABLE GIT_VERSION ERROR_VARIABLE GIT_ERR OUTPUT_STRIP_TRAILING_WHITESPACE ) if("${GIT_RET}" STREQUAL "0") string(REGEX MATCH "^v([0-9]+)\.([0-9]+)\.([0-9]+)-([0-9]+)-(.*)$" DROP ${GIT_VERSION}) set(PROJECT_VERSION_MAJOR ${CMAKE_MATCH_1}) set(PROJECT_VERSION_MINOR ${CMAKE_MATCH_2}) set(PROJECT_VERSION_PATCH ${CMAKE_MATCH_3}) set(GKFS_COMMIT_GAP ${CMAKE_MATCH_4}) set(GKFS_COMMIT_HASH ${CMAKE_MATCH_5}) set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}-snapshot+${GKFS_COMMIT_GAP}-${GKFS_COMMIT_HASH}") set(GIT_VERSION_FOUND TRUE) else() message(WARNING "Failed to run `git describe`: [${GIT_RET}] '${GIT_ERR}'") endif() endif() endif() message(STATUS "Project version: ${PROJECT_VERSION}") set(GKFS_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) set(GKFS_VERSION_MINOR ${PROJECT_VERSION_MINOR}) set(GKFS_VERSION_PATCH ${PROJECT_VERSION_PATCH}) set(GKFS_VERSION_STRING ${PROJECT_VERSION}) configure_file(include/version.hpp.in include/version.hpp) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH}) set(CMAKE_EXPORT_COMPILE_COMMANDS 0) Loading Loading @@ -114,6 +154,7 @@ set(INCLUDE_DIR "${CMAKE_SOURCE_DIR}/include") # define include directories that are relevant for all targets include_directories( ${INCLUDE_DIR} ${CMAKE_BINARY_DIR}/include ) # Global components Loading include/version.hpp.in 0 → 100644 +9 −0 Original line number Diff line number Diff line #ifndef __GKFS_VERSION_HPP #define __GKFS_VERSION_HPP #define GKFS_VERSION_MAJOR @GKFS_VERSION_MAJOR@ #define GKFS_VERSION_MINOR @GKFS_VERSION_MINOR@ #define GKFS_VERSION_PATCH @GKFS_VERSION_PATCH@ #define GKFS_VERSION_STRING "@GKFS_VERSION_STRING@" #endif /* __GKFS_VERSION_HPP */ src/daemon/CMakeLists.txt +1 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ set(DAEMON_SRC handler/h_preload.cpp ) set(DAEMON_HEADERS ../../include/version.hpp ../../include/global/configure.hpp ../../include/global/global_defs.hpp ../../include/global/global_func.hpp Loading src/daemon/main.cpp +14 −1 Original line number Diff line number Diff line #include <daemon/main.hpp> #include "version.hpp" #include <global/log_util.hpp> #include <global/rpc/rpc_types.hpp> #include <global/rpc/rpc_utils.hpp> Loading Loading @@ -345,7 +346,8 @@ int main(int argc, const char* argv[]) { ("hostfile", po::value<string>(), "Path to the hosts_file for all fs participants") ("hosts,h", po::value<string>(), "Comma separated list of hosts_ for all fs participants") ("hostname-suffix,s", po::value<string>()->default_value(""), "Suffix that is added to each given host. Consult /etc/hosts for allowed suffixes") ("lookup-file,k", po::value<string>(), "Shared file used by deamons to register their enpoints. (Needs to be on a shared filesystem)"); ("lookup-file,k", po::value<string>(), "Shared file used by deamons to register their enpoints. (Needs to be on a shared filesystem)") ("version,h", "print version and exit"); po::variables_map vm; po::store(po::parse_command_line(argc, argv, desc), vm); Loading @@ -354,6 +356,17 @@ int main(int argc, const char* argv[]) { return 1; } if (vm.count("version")) { cout << GKFS_VERSION_STRING << endl; #ifndef NDEBUG cout << "Debug: ON" << endl; #else cout << "Debug: OFF" << endl; #endif cout << "RPC protocol: " << RPC_PROTOCOL << endl; return 0; } try { po::notify(vm); } catch (po::required_option& e) { Loading Loading
CMakeLists.txt +42 −1 Original line number Diff line number Diff line cmake_minimum_required(VERSION 3.6) project(GekkoFS) project( GekkoFS VERSION 0.3.1 ) if(NOT CMAKE_COMPILER_IS_GNUCC) message(FATAL_ERROR "The choosen C compiler is not gcc and is not supported") Loading @@ -25,6 +30,41 @@ set(CMAKE_CXX_FLAGS_MEMCHECK "${WARNINGS_FLAGS} -g -O0 -fsanitize=address -fno-o set(CMAKE_CXX_FLAGS_MAINTAINER "${WARNINGS_FLAGS} -g -O0 -pg -no-pie") mark_as_advanced(CMAKE_CXX_FLAGS_MAINTAINER) # Project version set(GIT_VERSION_FOUND FALSE) if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git) find_package(Git) if(Git_FOUND) execute_process(COMMAND /bin/bash -c "${GIT_EXECUTABLE} describe --tags --match='v*.*.*' --long --dirty" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} RESULT_VARIABLE GIT_RET OUTPUT_VARIABLE GIT_VERSION ERROR_VARIABLE GIT_ERR OUTPUT_STRIP_TRAILING_WHITESPACE ) if("${GIT_RET}" STREQUAL "0") string(REGEX MATCH "^v([0-9]+)\.([0-9]+)\.([0-9]+)-([0-9]+)-(.*)$" DROP ${GIT_VERSION}) set(PROJECT_VERSION_MAJOR ${CMAKE_MATCH_1}) set(PROJECT_VERSION_MINOR ${CMAKE_MATCH_2}) set(PROJECT_VERSION_PATCH ${CMAKE_MATCH_3}) set(GKFS_COMMIT_GAP ${CMAKE_MATCH_4}) set(GKFS_COMMIT_HASH ${CMAKE_MATCH_5}) set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}-snapshot+${GKFS_COMMIT_GAP}-${GKFS_COMMIT_HASH}") set(GIT_VERSION_FOUND TRUE) else() message(WARNING "Failed to run `git describe`: [${GIT_RET}] '${GIT_ERR}'") endif() endif() endif() message(STATUS "Project version: ${PROJECT_VERSION}") set(GKFS_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) set(GKFS_VERSION_MINOR ${PROJECT_VERSION_MINOR}) set(GKFS_VERSION_PATCH ${PROJECT_VERSION_PATCH}) set(GKFS_VERSION_STRING ${PROJECT_VERSION}) configure_file(include/version.hpp.in include/version.hpp) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH}) set(CMAKE_EXPORT_COMPILE_COMMANDS 0) Loading Loading @@ -114,6 +154,7 @@ set(INCLUDE_DIR "${CMAKE_SOURCE_DIR}/include") # define include directories that are relevant for all targets include_directories( ${INCLUDE_DIR} ${CMAKE_BINARY_DIR}/include ) # Global components Loading
include/version.hpp.in 0 → 100644 +9 −0 Original line number Diff line number Diff line #ifndef __GKFS_VERSION_HPP #define __GKFS_VERSION_HPP #define GKFS_VERSION_MAJOR @GKFS_VERSION_MAJOR@ #define GKFS_VERSION_MINOR @GKFS_VERSION_MINOR@ #define GKFS_VERSION_PATCH @GKFS_VERSION_PATCH@ #define GKFS_VERSION_STRING "@GKFS_VERSION_STRING@" #endif /* __GKFS_VERSION_HPP */
src/daemon/CMakeLists.txt +1 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ set(DAEMON_SRC handler/h_preload.cpp ) set(DAEMON_HEADERS ../../include/version.hpp ../../include/global/configure.hpp ../../include/global/global_defs.hpp ../../include/global/global_func.hpp Loading
src/daemon/main.cpp +14 −1 Original line number Diff line number Diff line #include <daemon/main.hpp> #include "version.hpp" #include <global/log_util.hpp> #include <global/rpc/rpc_types.hpp> #include <global/rpc/rpc_utils.hpp> Loading Loading @@ -345,7 +346,8 @@ int main(int argc, const char* argv[]) { ("hostfile", po::value<string>(), "Path to the hosts_file for all fs participants") ("hosts,h", po::value<string>(), "Comma separated list of hosts_ for all fs participants") ("hostname-suffix,s", po::value<string>()->default_value(""), "Suffix that is added to each given host. Consult /etc/hosts for allowed suffixes") ("lookup-file,k", po::value<string>(), "Shared file used by deamons to register their enpoints. (Needs to be on a shared filesystem)"); ("lookup-file,k", po::value<string>(), "Shared file used by deamons to register their enpoints. (Needs to be on a shared filesystem)") ("version,h", "print version and exit"); po::variables_map vm; po::store(po::parse_command_line(argc, argv, desc), vm); Loading @@ -354,6 +356,17 @@ int main(int argc, const char* argv[]) { return 1; } if (vm.count("version")) { cout << GKFS_VERSION_STRING << endl; #ifndef NDEBUG cout << "Debug: ON" << endl; #else cout << "Debug: OFF" << endl; #endif cout << "RPC protocol: " << RPC_PROTOCOL << endl; return 0; } try { po::notify(vm); } catch (po::required_option& e) { Loading