Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge 1 -> main #79

Merged
merged 41 commits into from
Mar 15, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
746eb85
fix cmake warning and error mesage types (#41)
mabelzhang Feb 25, 2021
027ae35
Master branch updates (#42)
chapulina Mar 15, 2021
8b7352c
Clean up ignition-tools.pc file (#40)
scpeters Mar 22, 2021
d5fe8f2
Use ; as IGN_CONFIG_PATH delimiter on windows (#45)
scpeters Mar 22, 2021
8a26c3c
🎈 1.1.0~pre1 (#46)
chapulina Mar 23, 2021
d32853a
🎈 1.1.0 (#47)
chapulina Mar 30, 2021
1925384
Relax version verification (#44)
caioaamaral Apr 9, 2021
1f14c73
🎈 1.2.0 (#49)
chapulina Apr 27, 2021
2cca470
Sort versions correctly. (#50)
caguero May 6, 2021
c8e8c93
Remove all cmake code related to compilations (#55)
j-rivero Jun 22, 2021
48cad79
Remove ruby find_program and ronn. Not really used (#53)
j-rivero Jun 23, 2021
f6d14f7
Remove all cmake code related to tests since it is not used (#54)
j-rivero Jun 23, 2021
6741c4f
Install ign command (#56)
chapulina Jun 28, 2021
26b0caa
Add Windows support (#57)
ahcorde Jul 12, 2021
ca6e4cd
Remove Marya from CODEOWNERS (#58)
mjcarroll Aug 2, 2021
3a9812c
👩‍🌾 Remove bitbucket-pipelines.yml (#59)
chapulina Aug 24, 2021
83d5de7
🎈 1.3.0~pre1 (#60)
chapulina Sep 10, 2021
793bf18
🎈 1.3.0 (#62)
chapulina Sep 28, 2021
fd3e828
Improve backtrace generation using Backward (#63)
azeey Oct 15, 2021
aaf3100
🎈 1.4.0 (#64)
chapulina Oct 15, 2021
6cf3e35
Fix windows colcon build (#65)
scpeters Oct 16, 2021
b6272d8
Fix use of Backward on macOS
azeey Oct 18, 2021
967c891
Add test
azeey Oct 18, 2021
99f23c0
Codecheck
azeey Oct 19, 2021
77e0f98
Add option to disable test
azeey Oct 19, 2021
cb9c102
Add ctest
azeey Oct 19, 2021
311d588
Improve test reliability, output test results consumable by Jenkins
azeey Oct 22, 2021
4d59184
Fix style
azeey Oct 22, 2021
abb4da5
Change to CMAKE_INSTALL_FULL_LIBDIR
azeey Oct 22, 2021
500b760
Merge pull request #67 from azeey/fix_backward_macos
azeey Oct 25, 2021
ddfb152
Support colcon in windows CI (#66)
scpeters Oct 25, 2021
b764a7c
Add flag to get standard-compliant exception handling (#68)
azeey Oct 26, 2021
fefc79e
Prepare 1.4.1 releae (#69)
j-rivero Oct 27, 2021
af7fc85
Permit to invoke ign command in Windows (#73)
traversaro Nov 29, 2021
b60542a
Add Ubuntu Jammy CI (#75)
chapulina Dec 9, 2021
4c9a285
Back to add configure.bat file (#76)
j-rivero Dec 11, 2021
f87f7b9
Fix .dll installation directory on Windows (#74)
traversaro Dec 20, 2021
4df357f
Add bash-completion helper for command names (#77)
scpeters Jan 15, 2022
38fe309
Merge branch 'ign-tools1' into merge12
scpeters Mar 15, 2022
2638a40
Don't install ruby-runn in CI (#80)
scpeters Mar 15, 2022
0670372
Merge branch 'ign-tools1' into merge12
scpeters Mar 15, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/ci/packages.apt
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
ruby-ronn
rubocop
11 changes: 10 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
uses: actions/checkout@v2
- name: Compile and test
id: ci
uses: ignition-tooling/action-ignition-ci@master
uses: ignition-tooling/action-ignition-ci@bionic
focal-ci:
runs-on: ubuntu-latest
name: Ubuntu Focal CI
Expand All @@ -21,3 +21,12 @@ jobs:
- name: Compile and test
id: ci
uses: ignition-tooling/action-ignition-ci@focal
jammy-ci:
runs-on: ubuntu-latest
name: Ubuntu Jammy CI
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Compile and test
id: ci
uses: ignition-tooling/action-ignition-ci@jammy
114 changes: 26 additions & 88 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -131,86 +131,28 @@ include (${project_cmake_dir}/DissectVersion.cmake)

message (STATUS "\n\n====== Finding 3rd Party Packages ======")
include (${project_cmake_dir}/SearchForStuff.cmake)
message (STATUS "----------------------------------------\n")

#####################################
MESSAGE(STATUS "Checking ignition build type")
# Set the default build type
if (NOT CMAKE_BUILD_TYPE)
set (CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
"Choose the type of build, options are: Debug Release RelWithDebInfo Profile Check" FORCE)
endif (NOT CMAKE_BUILD_TYPE)
# TODO: still convert to uppercase to keep backwards compatibility with
# uppercase old supported and deprecated modes
string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPERCASE)

set (BUILD_TYPE_PROFILE FALSE)
set (BUILD_TYPE_RELEASE FALSE)
set (BUILD_TYPE_RELWITHDEBINFO FALSE)
set (BUILD_TYPE_DEBUG FALSE)

if ("${CMAKE_BUILD_TYPE_UPPERCASE}" STREQUAL "PROFILE")
set (BUILD_TYPE_PROFILE TRUE)
elseif ("${CMAKE_BUILD_TYPE_UPPERCASE}" STREQUAL "RELEASE")
set (BUILD_TYPE_RELEASE TRUE)
elseif ("${CMAKE_BUILD_TYPE_UPPERCASE}" STREQUAL "RELWITHDEBINFO")
set (BUILD_TYPE_RELWITHDEBINFO TRUE)
elseif ("${CMAKE_BUILD_TYPE_UPPERCASE}" STREQUAL "DEBUG")
set (BUILD_TYPE_DEBUG TRUE)
elseif ("${CMAKE_BUILD_TYPE_UPPERCASE}" STREQUAL "COVERAGE")
include (${project_cmake_dir}/CodeCoverage.cmake)
set (BUILD_TYPE_DEBUG TRUE)
SETUP_TARGET_FOR_COVERAGE(coverage ctest coverage)
else()
build_error("CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} unknown. Valid options are: Debug Release RelWithDebInfo Profile Check")
endif()

#####################################
# Handle CFlags
unset (CMAKE_C_FLAGS_ALL CACHE)
unset (CMAKE_CXX_FLAGS CACHE)

# USE_HOST_CFLAGS (default TRUE)
# Will check building host machine for proper cflags
if(NOT DEFINED USE_HOST_CFLAGS OR USE_HOST_CFLAGS)
message(STATUS "Enable host CFlags")
include (${project_cmake_dir}/HostCFlags.cmake)
endif()
# Backtrace
# There appears to be a bug that causes pretty printing backtrace to fail in
# some instances when using BFD, so we disable it here.

# USE_UPSTREAM_CFLAGS (default TRUE)
# Will use predefined ignition developers cflags
if(NOT DEFINED USE_UPSTREAM_CFLAGS OR USE_UPSTREAM_CFLAGS)
message(STATUS "Enable upstream CFlags")
include(${project_cmake_dir}/DefaultCFlags.cmake)
endif()

# Check if warning options are avaliable for the compiler and return WARNING_CXX_FLAGS variable
filter_valid_compiler_warnings(-Wall -Wextra -Wno-long-long
-Wno-unused-value -Wno-unused-value -Wno-unused-value -Wno-unused-value
-Wfloat-equal -Wshadow -Winit-self -Wswitch-default
-Wmissing-include-dirs -pedantic)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${WARNING_CXX_FLAGS}")

#################################################
# OS Specific initialization
if (UNIX)
ign_setup_unix()
else (WIN32)
ign_setup_windows()
option(USE_SYSTEM_BACKWARDCPP "Use system installed backward-cpp, otherwise use vendored version" FALSE)
if (NOT USE_SYSTEM_BACKWARDCPP)
list(APPEND CMAKE_PREFIX_PATH ${PROJECT_SOURCE_DIR}/src/Backward)
set(STACK_DETAILS_AUTO_DETECT FALSE CACHE BOOL "Auto detect backward's stack details dependencies")
endif()
find_package(Backward)

if(APPLE)
ign_setup_apple()
endif()
message (STATUS "----------------------------------------\n")

#################################################
# Print warnings and errors
if ( build_warnings )
message(STATUS "BUILD WARNINGS")
message(WARNING "BUILD WARNINGS")
foreach (msg ${build_warnings})
message(STATUS ${msg})
message(WARNING ${msg})
endforeach ()
message(STATUS "END BUILD WARNINGS\n")
message(WARNING "END BUILD WARNINGS\n")
endif (build_warnings)

########### Add uninstall target ###############
Expand All @@ -223,38 +165,30 @@ add_custom_target(uninstall
"${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake_uninstall.cmake")

if (build_errors)
message(STATUS "BUILD ERRORS: These must be resolved before compiling.")
message(SEND_ERROR "BUILD ERRORS: These must be resolved before compiling.")
foreach (msg ${build_errors})
message(STATUS ${msg})
message(SEND_ERROR ${msg})
endforeach ()
message(STATUS "END BUILD ERRORS\n")
message(SEND_ERROR "END BUILD ERRORS\n")
message (FATAL_ERROR "Errors encountered in build. "
"Please see the BUILD ERRORS above.")
else (build_errors)

link_directories(${PROJECT_BINARY_DIR}/src)

if (DEFINED CMAKE_CXX_FLAGS)
message (STATUS "Custom CFlags:${CMAKE_CXX_FLAGS}")
else()
message (STATUS "Use default CFlags")
endif()
message (STATUS "Build Type: ${CMAKE_BUILD_TYPE}")
message (STATUS "Install path: ${CMAKE_INSTALL_PREFIX}")

if (BUILD_IGNITION)
set(TEST_TYPE "UNIT")
add_subdirectory(src)
#add_subdirectory(test)
endif (BUILD_IGNITION)

########################################
# Make the package config files
set(PC_CONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/pkgconfig)
file(RELATIVE_PATH
PC_CONFIG_RELATIVE_PATH_TO_PREFIX
"${CMAKE_INSTALL_PREFIX}/${PC_CONFIG_INSTALL_DIR}"
"${CMAKE_INSTALL_PREFIX}"
)
configure_file(
${CMAKE_SOURCE_DIR}/cmake/pkgconfig/ignition.in
${CMAKE_CURRENT_BINARY_DIR}/cmake/pkgconfig/${PROJECT_NAME_LOWER}.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/pkgconfig/${PROJECT_NAME_LOWER}.pc
DESTINATION ${LIB_INSTALL_DIR}/pkgconfig
DESTINATION ${PC_CONFIG_INSTALL_DIR}
COMPONENT pkgconfig)

########################################
Expand Down Expand Up @@ -285,3 +219,7 @@ else (build_errors)
message(STATUS "Configuration successful. Type make to compile
${PROJECT_NAME_LOWER}")
endif(build_errors)

include(CTest)

add_subdirectory(src)
85 changes: 85 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,91 @@

### Ignition Tools 1.X.X (20XX-XX-XX)

### Ignition Tools 1.4.1 (2021-10-27)

1. Fix Windows colcon build
* [Pull request #65](https://github.com/ignitionrobotics/ign-tools/pull/65)

1. Add flag to get standard-compliant exception handling
* [Pull request #68](https://github.com/ignitionrobotics/ign-tools/pull/68)

1. Fix use of Backward on macOS
* [Pull request #67](https://github.com/ignitionrobotics/ign-tools/pull/67)

## Ignition Tools 1.4.0 (2021-10-15)

1. Improve backtrace generation using Backward
* [Pull request #63](https://github.com/ignitionrobotics/ign-tools/pull/63)

## Ignition Tools 1.3.0 (2021-09-27)

1. Remove all death CMake code related to test.
* [Pull request #54](https://github.com/ignitionrobotics/ign-tools/pull/54)

1. Remove build dependency on ruby (not needed)
* [Pull request #53](https://github.com/ignitionrobotics/ign-tools/pull/53)

1. Remove unused cmake code related to compilations (CFlags, BUILD_TYPE, etc.)
* [Pull request #55](https://github.com/ignitionrobotics/ign-tools/pull/55)
* [Pull request #56](https://github.com/ignitionrobotics/ign-tools/pull/56)

1. Add Windows support
* [Pull request #57](https://github.com/ignitionrobotics/ign-tools/pull/57)

1. Sort versions correctly.
* [Pull request #50](https://github.com/ignitionrobotics/ign-tools/pull/50)

1. Infrastructure
* [Pull request #59](https://github.com/ignitionrobotics/ign-tools/pull/59)
* [Pull request #58](https://github.com/ignitionrobotics/ign-tools/pull/58)

### Ignition Tools 1.2.0 (2021-04-26)

1. Relax version verification
* [Pull request #44](https://github.com/ignitionrobotics/ign-tools/pull/44)

### Ignition Tools 1.1.0 (2021-03-30)

1. Use ; as IGN_CONFIG_PATH delimiter on windows
* [Pull request #45](https://github.com/ignitionrobotics/ign-tools/pull/45)

1. Clean up ignition-tools.pc file
* [Pull request #40](https://github.com/ignitionrobotics/ign-tools/pull/40)

1. Fix cmake warning and error mesage types
* [Pull request #41](https://github.com/ignitionrobotics/ign-tools/pull/41)

1. Infrastructure updates
* [Pull request #42](https://github.com/ignitionrobotics/ign-tools/pull/42)
* [Pull request #38](https://github.com/ignitionrobotics/ign-tools/pull/38)
* [Pull request #37](https://github.com/ignitionrobotics/ign-tools/pull/37)
* [Pull request #29](https://github.com/ignitionrobotics/ign-tools/pull/29)
* [Pull request #22](https://github.com/ignitionrobotics/ign-tools/pull/22)
* [Pull request #17](https://github.com/ignitionrobotics/ign-tools/pull/17)
* [Pull request #11](https://github.com/ignitionrobotics/ign-tools/pull/11)
* [Pull request #13](https://github.com/ignitionrobotics/ign-tools/pull/13)

1. Do not overwrite default linker flags so that LDFLAGS environment variable is considered
* [Pull request #35](https://github.com/ignitionrobotics/ign-tools/pull/35)

1. Add Windows installation
* [Pull request #34](https://github.com/ignitionrobotics/ign-tools/pull/34)

1. Fix: Use PACKAGE_PREFIX_DIR to ensure relocatable CMake install for conan
* [Pull request #30](https://github.com/ignitionrobotics/ign-tools/pull/30)

1. Add ruby style checker
* [Pull request #25](https://github.com/ignitionrobotics/ign-tools/pull/25)

1. When using help, append --help to specific command
* [Pull request #15](https://github.com/ignitionrobotics/ign-tools/pull/15)

1. Added --commands
* [BitBucket pull request 23](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-tools/pull-requests/23)

1. Set the process title to something nice
* [BitBucket pull request 22](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-tools/pull-requests/22)

### Ignition Tools 1.0.0 (2019-12-09)

### Ignition Tools 0.2.0
Expand Down
42 changes: 38 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
# Ignition tools
# Ignition tools: Ignition entry point for using all the suite of ignition tools

**Ignition entry point for using all the suite of ignition tools.**
**Maintainer:** caguero AT openrobotics DOT org

[![GitHub open issues](https://img.shields.io/github/issues-raw/ignitionrobotics/ign-tools.svg)](https://github.com/ignitionrobotics/ign-tools/issues)
[![GitHub open pull requests](https://img.shields.io/github/issues-pr-raw/ignitionrobotics/ign-tools.svg)](https://github.com/ignitionrobotics/ign-tools/pulls)
[![Discourse topics](https://img.shields.io/discourse/https/community.gazebosim.org/topics.svg)](https://community.gazebosim.org)
[![Hex.pm](https://img.shields.io/hexpm/l/plug.svg)](https://www.apache.org/licenses/LICENSE-2.0)

Build | Status
-- | --
Test coverage | [![codecov](https://codecov.io/gh/ignitionrobotics/ign-tools/branch/ign-tools1/graph/badge.svg)](https://codecov.io/gh/ignitionrobotics/ign-tools)
Ubuntu Bionic | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=ignition_tools-ci-ign-tools1-bionic-amd64)](https://build.osrfoundation.org/job/ignition_tools-ci-ign-tools1-bionic-amd64)
Homebrew | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=ignition_tools-ci-ign-tools1-homebrew-amd64)](https://build.osrfoundation.org/job/ignition_tools-ci-ign-tools1-homebrew-amd64)
Windows | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=ign_tools-ign-1-win)](https://build.osrfoundation.org/job/ign_tools-ign-1-win)

Ignition tools provide the `ign` command line tool that accepts multiple
subcommands. Each subcommand is implemented in a plugin that belongs to a
Expand Down Expand Up @@ -64,8 +76,6 @@ source:

- cmake
- git
- ruby-ronn
- ruby-dev

### Build from Source

Expand All @@ -78,6 +88,13 @@ cmake .. -DCMAKE_INSTALL_PREFIX=/usr
sudo make install
```

### Bash auto-completion

Source the [etc/ign.bash_completion.sh](etc/ign.bash_completion.sh) script in your bash terminal window to enable auto-complete:
~~~
. etc/ign.bash_completion.sh
~~~

### Uninstallation

To uninstall the software installed with the previous steps:
Expand Down Expand Up @@ -120,3 +137,20 @@ This assumes you have created and activated a Conda environment while installing
```
cmake --install . --config Release
```

# Contributing

Please see the [contribution guide](https://ignitionrobotics.org/docs/all/contributing).

# Code of Conduct

Please see
[CODE_OF_CONDUCT.md](https://github.com/ignitionrobotics/ign-gazebo/blob/main/CODE_OF_CONDUCT.md).

# Versioning

This library uses [Semantic Versioning](https://semver.org/). Additionally, this library is part of the [Ignition Robotics project](https://ignitionrobotics.org) which periodically releases a versioned set of compatible and complimentary libraries. See the [Ignition Robotics website](https://ignitionrobotics.org) for version and release information.

# License

This library is licensed under [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0). See also the [LICENSE](https://github.com/ignitionrobotics/ign-gazebo/blob/main/LICENSE) file.
18 changes: 0 additions & 18 deletions bitbucket-pipelines.yml

This file was deleted.

Loading