Unverified Commit 06c0ebfd authored by Tommaso Tocci's avatar Tommaso Tocci
Browse files

CMake: enable target installation

parent c994c7b7
Loading
Loading
Loading
Loading
+14 −11
Original line number Diff line number Diff line
@@ -9,8 +9,10 @@ variables:
  DEPS_INSTALL_PATH: "${CI_PROJECT_DIR}/deps/build"
  DEPS_COMMIT:       "${CI_PROJECT_DIR}/deps/build/gkfs_deps_commit"
  BUILD_PATH:        "${CI_PROJECT_DIR}/build"
  INSTALL_PATH:      "${CI_PROJECT_DIR}/install"
  TESTS_BUILD_PATH:  "${CI_PROJECT_DIR}/test/build"
  LOG_PATH:          "${CI_PROJECT_DIR}/logs"
  LD_LIBRARY_PATH:   "${CI_PROJECT_DIR}/deps/install/lib;${CI_PROJECT_DIR}/deps/install/lib64"
  # Configuration variables
  GKFS_LOG_LEVEL:   "100"
  GKFS_DAEMON_LOG_PATH:  "${CI_PROJECT_DIR}/logs/daemon.log"
@@ -48,11 +50,12 @@ compile GekkoFS:
      -Wdeprecate
      -DCMAKE_BUILD_TYPE=Debug
      -DCMAKE_PREFIX_PATH=${DEPS_INSTALL_PATH}
      ..
    - make -j$(nproc)
      -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH}
      ${CI_PROJECT_DIR}
    - make -j$(nproc) install
  artifacts:
    paths:
     - ${BUILD_PATH}
     - ${INSTALL_PATH}

compile tests:
  stage: build
@@ -70,9 +73,9 @@ test wr:
  stage: test
  script:
    - mkdir -p "${LOG_PATH}"
    - ${BUILD_PATH}/bin/gkfs_daemon --mount /tmp/mountdir --root /tmp/root &
    - ${INSTALL_PATH}/bin/gkfs_daemon --mount /tmp/mountdir --root /tmp/root &
    - sleep 4
    - LD_PRELOAD=${BUILD_PATH}/lib/libgkfs_intercept.so ${TESTS_BUILD_PATH}/gkfs_test_wr
    - LD_PRELOAD=${INSTALL_PATH}/lib/libgkfs_intercept.so ${TESTS_BUILD_PATH}/gkfs_test_wr
  artifacts:
    paths:
     - "${LOG_PATH}"
@@ -81,9 +84,9 @@ test directories:
  stage: test
  script:
    - mkdir -p "${LOG_PATH}"
    - ${BUILD_PATH}/bin/gkfs_daemon --mount /tmp/mountdir --root /tmp/root &
    - ${INSTALL_PATH}/bin/gkfs_daemon --mount /tmp/mountdir --root /tmp/root &
    - sleep 4
    - LD_PRELOAD=${BUILD_PATH}/lib/libgkfs_intercept.so ${TESTS_BUILD_PATH}/gkfs_test_dir
    - LD_PRELOAD=${INSTALL_PATH}/lib/libgkfs_intercept.so ${TESTS_BUILD_PATH}/gkfs_test_dir
  artifacts:
    paths:
     - "${LOG_PATH}"
@@ -92,9 +95,9 @@ test truncate:
  stage: test
  script:
    - mkdir -p "${LOG_PATH}"
    - ${BUILD_PATH}/bin/gkfs_daemon --mount /tmp/mountdir --root /tmp/root &
    - ${INSTALL_PATH}/bin/gkfs_daemon --mount /tmp/mountdir --root /tmp/root &
    - sleep 4
    - LD_PRELOAD=${BUILD_PATH}/lib/libgkfs_intercept.so ${TESTS_BUILD_PATH}/gkfs_test_truncate
    - LD_PRELOAD=${INSTALL_PATH}/lib/libgkfs_intercept.so ${TESTS_BUILD_PATH}/gkfs_test_truncate
  artifacts:
    paths:
     - "${LOG_PATH}"
@@ -103,9 +106,9 @@ test path resolution:
  stage: test
  script:
    - mkdir -p "${LOG_PATH}"
    - ${BUILD_PATH}/bin/gkfs_daemon --mount /tmp/mountdir --root /tmp/root &
    - ${INSTALL_PATH}/bin/gkfs_daemon --mount /tmp/mountdir --root /tmp/root &
    - sleep 4
    - LD_PRELOAD=${BUILD_PATH}/lib/libgkfs_intercept.so ${TESTS_BUILD_PATH}/gkfs_test_path_resolution
    - LD_PRELOAD=${INSTALL_PATH}/lib/libgkfs_intercept.so ${TESTS_BUILD_PATH}/gkfs_test_path_resolution
  artifacts:
    paths:
     - "${LOG_PATH}"
+4 −2
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@ endif()
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)

if (NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE Release
            CACHE STRING "Choose the type of build: Debug Release Memcheck" FORCE)
@@ -68,8 +70,6 @@ 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)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

# Rocksdb dependencies
find_package(LZ4 REQUIRED)
@@ -157,6 +157,8 @@ include_directories(
    ${CMAKE_BINARY_DIR}/include
)

include(GNUInstallDirs)

# Global components
add_subdirectory(src/global)
# Daemon
+7 −0
Original line number Diff line number Diff line
@@ -58,3 +58,10 @@ target_include_directories(gkfs_intercept
    ${ABT_INCLUDE_DIRS}
    ${MARGO_INCLUDE_DIRS}
    )

install(TARGETS gkfs_intercept
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
    PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gkfs
)
+4 −0
Original line number Diff line number Diff line
@@ -52,3 +52,7 @@ target_include_directories(gkfs_daemon
    ${ABT_INCLUDE_DIRS}
    ${MARGO_INCLUDE_DIRS}
    )

install(TARGETS gkfs_daemon
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)