From 5320ac64c23e379562f9abfccf5eea69456cb5c1 Mon Sep 17 00:00:00 2001 From: "Michael X. Grey" Date: Mon, 11 Nov 2019 13:33:01 +0800 Subject: [PATCH 1/5] Backporting bad INCLUDE_DIRS cache confusion --- cmake/IgnPkgConfig.cmake | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/cmake/IgnPkgConfig.cmake b/cmake/IgnPkgConfig.cmake index 07b3e232..1fb7fe51 100644 --- a/cmake/IgnPkgConfig.cmake +++ b/cmake/IgnPkgConfig.cmake @@ -78,6 +78,26 @@ macro(ign_pkg_check_modules_quiet package) # here. if(${package}_FOUND AND NOT TARGET ${package}::${package}) + # Because of some idiosyncrasies of pkg-config, pkg_check_modules does not + # put /usr/include in the _INCLUDE_DIRS variable. E.g. try running + # $ pkg-config --cflags-only-I tinyxml2 + # and you'll find that it comes out blank. This blank value gets cached + # into the _INCLUDE_DIRS variable even though it's a bad value. If + # other packages then try to call find_path(_INCLUDE_DIRS ...) in + # their own find-module or config-files, the find_path will quit early + # because a CACHE entry exists for _INCLUDE_DIRS. However, that + # CACHE entry is blank, and so it will typically be interpreted as a + # failed attempt to find the path. So if this _INCLUDE_DIRS + # variable is blank, then we'll unset it from the CACHE to avoid + # conflicts and confusion. + # + # TODO(MXG): Consider giving a different prefix (e.g. IGN_PC_${package}) + # to pkg_check_modules(~) so that the cached variables don't collide. That + # would also help with the next TODO below. + if(NOT ${package}_INCLUDE_DIRS) + unset(${package}_INCLUDE_DIRS CACHE) + endif() + # pkg_check_modules will put ${package}_FOUND into the CACHE, which would # prevent our FindXXX.cmake script from being entered the next time cmake # is run by a dependent project. This is a problem for us because we @@ -88,7 +108,7 @@ macro(ign_pkg_check_modules_quiet package) # problem. Perhaps the cmake-3.6 version of pkg_check_modules has a # better solution. unset(${package}_FOUND CACHE) - set(${package}_FOUND true) + set(${package}_FOUND TRUE) # For some reason, pkg_check_modules does not provide complete paths to the # libraries it returns, even though find_package is conventionally supposed From 265a5f8ec61c59de15f7e29cf9ded13df58b75c5 Mon Sep 17 00:00:00 2001 From: Louise Poubel Date: Tue, 12 Nov 2019 02:05:03 +0000 Subject: [PATCH 2/5] Close branch fix_bad_cache_entry From 827c40db592631a0e83b626132a77ccaf05adeae Mon Sep 17 00:00:00 2001 From: Grey Date: Tue, 28 Apr 2020 12:56:52 +0800 Subject: [PATCH 3/5] Add codeowner (#85) Signed-off-by: Michael X. Grey --- .github/CODEOWNERS | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..ee6e8a64 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,4 @@ +# More info: +# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners + +* @mxgrey From 361b7622f4afea9898aa0b7b2bdb67b3ed401e73 Mon Sep 17 00:00:00 2001 From: Sean Yen Date: Mon, 13 Jul 2020 16:19:55 -0700 Subject: [PATCH 4/5] make the OGRE plugin path discovery portable (#101) Signed-off-by: seanyen --- cmake/FindOGRE.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/FindOGRE.cmake b/cmake/FindOGRE.cmake index 376337c3..77133d44 100644 --- a/cmake/FindOGRE.cmake +++ b/cmake/FindOGRE.cmake @@ -79,7 +79,7 @@ if (OGRE_FOUND) # `plugindir` variable. We have to call pkg-config manually to get it. # On Windows, we assume that all the OGRE* defines are passed in manually # to CMake. - if (NOT WIN32) + if (PKG_CONFIG_FOUND) execute_process(COMMAND pkg-config --variable=plugindir OGRE OUTPUT_VARIABLE _pkgconfig_invoke_result RESULT_VARIABLE _pkgconfig_failed) From b47db7fd0dd6aa890435aaf2d0b8b064efbeefa2 Mon Sep 17 00:00:00 2001 From: Steve Peters Date: Mon, 23 Aug 2021 18:37:42 -0700 Subject: [PATCH 5/5] Remove bitbucket-pipelines.yml (#181) * Part of ignition-tooling/release-tools#203 * Disable long-running buildsystem tests by default (#97) (#100) * backport triage and labeler Signed-off-by: Steve Peters Signed-off-by: Michael Carroll Signed-off-by: Louise Poubel Co-authored-by: Louise Poubel Co-authored-by: Steve Peters Co-authored-by: Michael Carroll --- .github/workflows/pr-collection-labeler.yml | 13 +++++++++++++ .github/workflows/triage.yml | 19 +++++++++++++++++++ CMakeLists.txt | 6 ++++++ bitbucket-pipelines.yml | 19 ------------------- 4 files changed, 38 insertions(+), 19 deletions(-) create mode 100644 .github/workflows/pr-collection-labeler.yml create mode 100644 .github/workflows/triage.yml delete mode 100644 bitbucket-pipelines.yml diff --git a/.github/workflows/pr-collection-labeler.yml b/.github/workflows/pr-collection-labeler.yml new file mode 100644 index 00000000..7d7b4e17 --- /dev/null +++ b/.github/workflows/pr-collection-labeler.yml @@ -0,0 +1,13 @@ +name: PR Collection Labeler + +on: pull_request_target + +jobs: + pr_collection_labeler: + runs-on: ubuntu-latest + steps: + - name: Add collection labels + if: github.event.action == 'opened' + uses: ignition-tooling/pr-collection-labeler@v1 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml new file mode 100644 index 00000000..736670e0 --- /dev/null +++ b/.github/workflows/triage.yml @@ -0,0 +1,19 @@ +on: + issues: + types: [opened] + pull_request_target: + types: [opened] +name: Ticket opened +jobs: + assign: + name: Add ticket to inbox + runs-on: ubuntu-latest + steps: + - name: Add ticket to inbox + uses: technote-space/create-project-card-action@v1 + with: + PROJECT: Core development + COLUMN: Inbox + GITHUB_TOKEN: ${{ secrets.TRIAGE_TOKEN }} + CHECK_ORG_PROJECT: true + diff --git a/CMakeLists.txt b/CMakeLists.txt index 12d334b9..068885d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,6 +22,10 @@ include(IgnCMake) # Set up the project ign_configure_project() +#-------------------------------------- +# Set project-specific options +option(BUILDSYSTEM_TESTING "Enable extended buildsystem testing" FALSE) + #============================================================================ # Configure the package to be installed #============================================================================ @@ -81,7 +85,9 @@ message(STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}") include(CTest) if (BUILD_TESTING) add_subdirectory(test) +endif() +if (BUILD_TESTING AND BUILDSYSTEM_TESTING) #============================================================================ # Build examples #============================================================================ diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml deleted file mode 100644 index 7189dcbf..00000000 --- a/bitbucket-pipelines.yml +++ /dev/null @@ -1,19 +0,0 @@ -# This is a sample build configuration for C++. -# Check our guides at https://confluence.atlassian.com/x/VYk8Lw for more examples. -# Only use spaces to indent your .yml configuration. -# ----- -# You can specify a custom docker image from Docker Hub as your build environment. -image: ubuntu:xenial - -pipelines: - default: - - step: - script: # Modify the commands below to build your repository. - - apt-get update - - apt-get -y install cmake build-essential lcov - - mkdir build - - cd build - - cmake .. - - make - - make test - - make install