Ticket #5444 (closed: fixed)

Opened 8 years ago

Last modified 5 years ago

Framework-only build not working since change to locally-build GMock

Reported by: Russell Taylor Owned by: Russell Taylor
Priority: major Milestone: Release 2.2
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Martyn Gigg

Description

This affects an mpi-enabled build of Mantid. Basically, the TestingTools include needs to move into the Framework/CMakelists.txt

Change History

comment:1 Changed 8 years ago by Russell Taylor

  • Status changed from new to accepted

comment:2 Changed 8 years ago by Russell Taylor

Re #5444. Add TestingTools (gmock/gtest) from Framework CMakeLists

...rather than top-level one so that framework-only (e.g. mpi) build can successfully build unit tests. Also excluded gmock & gtest from the 'all' target.

Changeset: bffb2086c957799f2d86d8e689f26956ec96f586

comment:3 Changed 8 years ago by Russell Taylor

Re #5444. Add TestingTools (gmock/gtest) from Framework CMakeLists

...rather than top-level one so that framework-only (e.g. mpi) build can successfully build unit tests. Also excluded gmock & gtest from the 'all' target.

Changeset: bffb2086c957799f2d86d8e689f26956ec96f586

comment:4 Changed 8 years ago by Russell Taylor

Re #5444. Add TestingTools (gmock/gtest) from Framework CMakeLists

...rather than top-level one so that framework-only (e.g. mpi) build can successfully build unit tests. Also excluded gmock & gtest from the 'all' target.

Changeset: bffb2086c957799f2d86d8e689f26956ec96f586

comment:5 Changed 8 years ago by Russell Taylor

Re #5444. Set up MPI compiler options correctly.

Within CMake, we should not use the mpi 'wrapper' compilers, but rather extract the relevant flags and apply them to our usual compiler. This is because setting CMAKE_CXX_COMPILER within your CMakeLists is a no-no.

Changeset: f09321f56fceef5a857d5572062246bf707be484

comment:6 Changed 8 years ago by Russell Taylor

  • Status changed from accepted to verify
  • Resolution set to fixed

To test, try a Framework-only build (incl. the tests) by pointing cmake at Code/Mantid/Framework or just check that the mantid-mpi Jenkins jobs is passing.

comment:7 Changed 8 years ago by Russell Taylor

  • Status changed from verify to reopened
  • Resolution fixed deleted

It's not fixed - the path to the gmock headers is not set correctly and it was only working because gmock/gtest were still installed in the system paths.

comment:8 Changed 8 years ago by Russell Taylor

Re #5444. Set up MPI compiler options correctly.

Within CMake, we should not use the mpi 'wrapper' compilers, but rather extract the relevant flags and apply them to our usual compiler. This is because setting CMAKE_CXX_COMPILER within your CMakeLists is a no-no.

Changeset: f09321f56fceef5a857d5572062246bf707be484

comment:9 Changed 8 years ago by Russell Taylor

Re #5444. Make GMock/GTest header finding more general.

Necessary for framework-only build.

Changeset: 203a0dd2a4ca8a6445580480c5207c02370faa10

comment:10 Changed 8 years ago by Russell Taylor

Re #5444. Exclude system paths from search for gmock/gtest headers.

In case it's installed there as well.

Changeset: dec79103113d45ecd905ace8db60d5a7332d14c0

comment:11 Changed 8 years ago by Russell Taylor

Re #5444. Add TestingTools (gmock/gtest) from Framework CMakeLists

...rather than top-level one so that framework-only (e.g. mpi) build can successfully build unit tests. Also excluded gmock & gtest from the 'all' target.

Changeset: bffb2086c957799f2d86d8e689f26956ec96f586

comment:12 Changed 8 years ago by Russell Taylor

Re #5444. Set up MPI compiler options correctly.

Within CMake, we should not use the mpi 'wrapper' compilers, but rather extract the relevant flags and apply them to our usual compiler. This is because setting CMAKE_CXX_COMPILER within your CMakeLists is a no-no.

Changeset: f09321f56fceef5a857d5572062246bf707be484

comment:13 Changed 8 years ago by Russell Taylor

Re #5444. Be more restrictive on selecting header path.

Changeset: d5d06d557f953d3605b815e6c669cbffeb92a4cb

comment:14 Changed 8 years ago by Russell Taylor

Re #5444. Same for GTest header finding.

Changeset: 92df116fd5b2c38d0dd683bc1996ccea314558b4

comment:15 Changed 8 years ago by Russell Taylor

Re #5444. Remove gmock/gtest libraries from Third_Party.

They are now built as part of a Mantid build under TestingTools.

Changeset: 72cd90a06cd01357858e81952d33f850c6b3071c

comment:16 Changed 8 years ago by Russell Taylor

Re #5444. Make GMock/GTest header finding more general.

Necessary for framework-only build.

Changeset: 203a0dd2a4ca8a6445580480c5207c02370faa10

comment:17 Changed 8 years ago by Russell Taylor

Re #5444. Exclude system paths from search for gmock/gtest headers.

In case it's installed there as well.

Changeset: dec79103113d45ecd905ace8db60d5a7332d14c0

comment:18 Changed 8 years ago by Russell Taylor

Re #5444. Be more restrictive on selecting header path.

Changeset: d5d06d557f953d3605b815e6c669cbffeb92a4cb

comment:19 Changed 8 years ago by Russell Taylor

Re #5444. Same for GTest header finding.

Changeset: 92df116fd5b2c38d0dd683bc1996ccea314558b4

comment:20 Changed 8 years ago by Russell Taylor

  • Status changed from reopened to accepted

comment:21 Changed 8 years ago by Russell Taylor

  • Status changed from accepted to verify
  • Resolution set to fixed

See comment:6 for how to test. Preferably test on a non-linux platform.

comment:22 Changed 8 years ago by Russell Taylor

Re #5444. Set up MPI compiler options correctly.

Within CMake, we should not use the mpi 'wrapper' compilers, but rather extract the relevant flags and apply them to our usual compiler. This is because setting CMAKE_CXX_COMPILER within your CMakeLists is a no-no.

Changeset: f09321f56fceef5a857d5572062246bf707be484

comment:23 Changed 8 years ago by Russell Taylor

Re #5444. Make GMock/GTest header finding more general.

Necessary for framework-only build.

Changeset: 203a0dd2a4ca8a6445580480c5207c02370faa10

comment:24 Changed 8 years ago by Russell Taylor

Re #5444. Exclude system paths from search for gmock/gtest headers.

In case it's installed there as well.

Changeset: dec79103113d45ecd905ace8db60d5a7332d14c0

comment:25 Changed 8 years ago by Russell Taylor

Re #5444. Be more restrictive on selecting header path.

Changeset: d5d06d557f953d3605b815e6c669cbffeb92a4cb

comment:26 Changed 8 years ago by Russell Taylor

Re #5444. Same for GTest header finding.

Changeset: 92df116fd5b2c38d0dd683bc1996ccea314558b4

comment:27 Changed 8 years ago by Martyn Gigg

  • Status changed from verify to verifying
  • Tester set to Martyn Gigg

comment:28 Changed 8 years ago by Martyn Gigg

  • Status changed from verifying to closed

Confirmed that the MPI build passed on the last incremental build this morning.

comment:29 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 6290

Note: See TracTickets for help on using tickets.