Ticket #5444 (closed: fixed)
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: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: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