Skip to content

Commit

Permalink
Merge pull request #133 from norlab-ulaval/develop
Browse files Browse the repository at this point in the history
Version 1.1 Release preparation
  • Loading branch information
boxanm committed Jan 31, 2024
2 parents ab1ebec + d938049 commit 9ad7815
Show file tree
Hide file tree
Showing 82 changed files with 3,670 additions and 75 deletions.
23 changes: 23 additions & 0 deletions .dockerignore
@@ -0,0 +1,23 @@

# Note:
# - libnabo cmake install require that the README.md file exist in the docker image
# - libnaboer-CI doc related step require that .svg, .png and .md be copied in the docker image

# Graphic/image related
*.svg
*.svgz
*.png
*.drawio

# Text related
*.pdf

# Files


# Directories
drawio/*
visual/*

# IDE
.run/*
35 changes: 35 additions & 0 deletions .env.libnabo
@@ -0,0 +1,35 @@
# =================================================================================================
#
# Set project related environment variables. Those are available for convenience
# and are also required by 'norlab-shell-script-tools' library.
#
# Usage:
#
# Important! Source this file from 'libnabo' repository root
# $ cd <path/to/libnabo/>
# $ set -o allexport && source .env.libnabo && set +o allexport
#
# =================================================================================================

PROJECT_PROMPT_NAME='NABO'

# ....Programaticaly fetch source code information.................................................
PROJECT_GIT_REMOTE_URL="https://github.com/norlab-ulaval/libnabo"
PROJECT_GIT_NAME=$( basename "${PROJECT_GIT_REMOTE_URL}" .git )
PROJECT_PATH=$( git rev-parse --show-toplevel )
PROJECT_SRC_NAME="$( basename ${PROJECT_PATH} )"

# ....Set NABO related environment variable with their own prefix..................................
# Note: Those with "PROJECT_" prefix will get eventualy overiden in the case where N2ST is used
# as a library. Using generic testing logic require that environment variables with
# "PROJECT_" prefix be available.
NABO_PROMPT_NAME="${PROJECT_PROMPT_NAME}"
NABO_GIT_REMOTE_URL="${PROJECT_GIT_REMOTE_URL}"
NABO_GIT_NAME="${PROJECT_GIT_NAME}"
NABO_PATH="${PROJECT_PATH}"
NABO_SRC_NAME="${PROJECT_SRC_NAME}"

# ....Set dependencies path........................................................................
NABO_BUILD_SYSTEM_PATH="${PROJECT_PATH}/build_system"
N2ST_PATH="${PROJECT_PATH}/build_system/utilities/norlab-shell-script-tools"
NBS_PATH="${PROJECT_PATH}/build_system/utilities/norlab-build-system"
37 changes: 37 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
@@ -0,0 +1,37 @@
# =================================================================================================
# Files or directories with designated code owner.
#
# Note:
# - Each line is a file pattern followed by one or more owners.
# - Branch with branch protection rule "Require review from Code Owners"
# will automaticaly trigger a request to a designated code owner
# =================================================================================================

# ....Repository wide code owner...................................................................
# These owners will be the default owners for everything in the repo.
#* @pomerlef


# ....High level files.............................................................................
/README.md @pomerlef
/LICENSE @pomerlef

# ....Core directories and files...................................................................
/examples @boxanm @simonpierredeschenes
/nabo @boxanm @simonpierredeschenes
/python @boxanm @simonpierredeschenes
/tests @boxanm @simonpierredeschenes
/contributing @RedLeader962

# ....User install tools...........................................................................
/.env.libnabo @RedLeader962
/libnabo_dependencies_installer.bash @RedLeader962
/libnabo_installer.bash @RedLeader962

# ....DevOps related...............................................................................
/.github/ @RedLeader962
/build_system/ @RedLeader962
/.gitmodules @RedLeader962
/.gitignore @RedLeader962
/.dockerignore @RedLeader962

39 changes: 39 additions & 0 deletions .github/pull_request_template.md
@@ -0,0 +1,39 @@
# Description

### Summary:

### Changes and type of changes (quick overview):

-
-
-

---

# Checklist:

### Code related

- [ ] I have made corresponding changes to the documentation
(i.e.: function, class, script header, README.md)
- [ ] I have commented hard-to-understand code
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] All tests pass locally with my changes
(Check [contributing/contributing_instructions.md](/contributing/contributing_instructions.md) for local testing procedure using _libnabo-build-system_)


### PR creation related

- [ ] My pull request `base ref` branch is set to the `develop` branch
(the _build-system_ won't be triggered otherwise)
- [ ] My pull request branch is up-to-date with the `develop` branch
(the _build-system_ will reject it otherwise)

### PR description related

- [ ] I have included a quick summary of the changes
- [ ] I have indicated the related issue's id with `# <issue-id>` if changes are of type `fix`
- [ ] I have included a high-level list of changes and their corresponding types
(See [contributing/commit_msg_reference.md](/contributing/commit_msg_reference.md) for details)

---
6 changes: 6 additions & 0 deletions .gitmodules
@@ -0,0 +1,6 @@
[submodule "build_system/utilities/norlab-build-system"]
path = build_system/utilities/norlab-build-system
url = https://github.com/norlab-ulaval/norlab-build-system.git
[submodule "utilities/norlab-shell-script-tools"]
path = build_system/utilities/norlab-shell-script-tools
url = https://github.com/norlab-ulaval/norlab-shell-script-tools.git
34 changes: 19 additions & 15 deletions CMakeLists.txt
@@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.8)
cmake_minimum_required(VERSION 3.10.2)

include(CMakePackageConfigHelpers)

if (NOT CMAKE_VERSION VERSION_LESS "3.1")
cmake_policy(SET CMP0054 NEW)
Expand Down Expand Up @@ -84,6 +86,8 @@ else ()
set (CMAKE_CXX_STANDARD 11)
endif ()

#======================== External Dependencies ===============================

include(GNUInstallDirs)

# eigen 2 or 3
Expand Down Expand Up @@ -243,35 +247,35 @@ export(


# Create variable with the library location
set(libnabo_library $<TARGET_FILE:${LIB_NAME}>)
set(libnabo_library $<TARGET_FILE:${PROJECT_NAME}::${LIB_NAME}>)

# Create variable for the local build tree
get_property(libnabo_include_dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
# Configure & generate config file for local build tree
configure_file(libnaboConfig.cmake.in
"${PROJECT_BINARY_DIR}/libnaboConfig.cmake.conf" @ONLY)
file(GENERATE
OUTPUT "${PROJECT_BINARY_DIR}/libnaboConfig.cmake"
INPUT "${PROJECT_BINARY_DIR}/libnaboConfig.cmake.conf")
configure_package_config_file(libnaboConfig.cmake.in
"${PROJECT_BINARY_DIR}/libnaboConfig.cmake"
INSTALL_DESTINATION share/libnabo/cmake
PATH_VARS PROJECT_NAME
)

# 2- installation build #

# Change the library location for an install location
set(libnabo_library ${CMAKE_INSTALL_PREFIX}/lib/$<TARGET_FILE_NAME:${LIB_NAME}>)
set(libnabo_library $<TARGET_FILE:${PROJECT_NAME}::${LIB_NAME}>)

# Change the include location for the case of an install location
set(libnabo_include_dirs ${CMAKE_INSTALL_PREFIX}/include)

# We put the generated file for installation in a different repository (i.e., ./CMakeFiles/)
configure_file(libnaboConfig.cmake.in
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/libnaboConfig.cmake.conf" @ONLY)
file(GENERATE
OUTPUT "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/libnaboConfig.cmake"
INPUT "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/libnaboConfig.cmake.conf")
configure_package_config_file(libnaboConfig.cmake.in
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/libnaboConfig.cmake"
INSTALL_DESTINATION share/libnabo/cmake
PATH_VARS PROJECT_NAME
)

# The same versioning file can be used for both cases
configure_file(libnaboConfigVersion.cmake.in
"${PROJECT_BINARY_DIR}/libnaboConfigVersion.cmake" @ONLY)
write_basic_package_version_file(libnaboConfigVersion.cmake
COMPATIBILITY AnyNewerVersion)

install(FILES
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/libnaboConfig.cmake"
Expand Down

0 comments on commit 9ad7815

Please sign in to comment.