Ticket #7284 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

Various changes for compiling Framework with clang

Reported by: Stuart Campbell Owned by: Stuart Campbell
Priority: trivial Milestone: Release 3.2
Component: Framework Keywords:
Cc: Blocked By:
Blocking: Tester: Michael Reuter

Description


Change History

comment:1 Changed 7 years ago by Nick Draper

  • Component changed from Mantid to Framework

comment:2 Changed 7 years ago by Nick Draper

  • Milestone changed from Release 2.6 to Backlog

Moved to the Backlog after the code freeze for R2.6

comment:3 Changed 7 years ago by Stuart Campbell

  • Status changed from new to assigned
  • Milestone changed from Backlog to Release 3.2

comment:4 Changed 7 years ago by Stuart Campbell

  • Summary changed from Various changes for compiling with clang to Various changes for compiling Framework with clang

comment:5 Changed 7 years ago by Stuart Campbell

  • Status changed from assigned to inprogress

comment:6 Changed 7 years ago by Stuart Campbell

Added <string> header.

refs #7284

Changeset: 59a9f8c0d12f315a68d66b0bc7f0af762a70756b

comment:7 Changed 7 years ago by Stuart Campbell

Added <string> header

refs #7284

Changeset: 519b4a8824fd0d3565d91a3284c6f1bec7d3d6c5

comment:8 Changed 7 years ago by Stuart Campbell

Added <string> header.

refs #7284

Changeset: 797b423fa0910bc66972f85d8701da8c4bfd4446

comment:9 Changed 7 years ago by Stuart Campbell

Find the G3d and GeomBase libraries. refs #7284

Changeset: 4d2a235c9f33122fd511f1debe2ecfe3889728fa

comment:10 Changed 7 years ago by Stuart Campbell

Removed space to stop cmake complaining. refs #7284

Changeset: 5a147b990a36ddd76593d77143da0bb440981ac9

comment:11 Changed 7 years ago by Stuart Campbell

Don't use Third_Party HDF on OS X Mavericks (10.9)

refs #7284

Changeset: 3768cb57247527ccc821a332b8cebac4ccbfcd4a

comment:12 Changed 7 years ago by Stuart Campbell

Updating version of gmock 1.6.0 --> 1.7.0

refs #7284

Changeset: 14391c58c9f871ecfe63a75b462c154b922f9b1b

comment:13 Changed 7 years ago by Stuart Campbell

Modified pre-commit hook for executable file checking.

Changed to allow a space between the hash-bang and the slash. refs #7284

Changeset: 583c0ce66279fd1e8c2cb4a48931895cb6c8473a

comment:14 Changed 7 years ago by Stuart Campbell

Made the OS X version variables global.

This means we can remove the extra code to determine the OS X version with DataHandling to determine if we are going to use the HDF5 config file (which points at 3rd party) or not.

refs #7284

Changeset: 9af104421382735fdbf492627ccd71b87b032322

comment:15 Changed 7 years ago by Stuart Campbell

Revert "Updating version of gmock 1.6.0 --> 1.7.0"

This reverts commit 14391c58c9f871ecfe63a75b462c154b922f9b1b. refs #7284

Changeset: 74a431b71eed479be0695ff965d41fd29bbfd54f

comment:16 Changed 7 years ago by Stuart Campbell

Merge branch 'feature/7284_framework_clang' into develop refs #7284

Changeset: 68d8228bd1049ff99ef421d0986e1ef475976599

comment:17 Changed 7 years ago by Stuart Campbell

Adding gmock 1.7.0. refs #7284

Changeset: 470c2815c7a9829380e8b116570ff7ea20c32150

comment:18 Changed 7 years ago by Stuart Campbell

Added check for gmock version.

This also means that I have exported the GCC version and the GMOCK version to the global namespace. refs #7284

Changeset: 9d6d6aee4d8fc43c59520cb955dd2382332d7cf2

comment:19 Changed 7 years ago by Stuart Campbell

Change the version comparison to be the correct way round!

refs #7284

Changeset: 5a97d443bb40d0bc859e751953f96259c68947d5

comment:20 Changed 7 years ago by Stuart Campbell

Also use gmock 1.6.0 for intel compiler

refs #7284

Changeset: 7ac110f3057c49f25629a65be1abb8b2ccee287b

comment:21 Changed 7 years ago by Stuart Campbell

Use gmock 1.6 on Windows. Trying to fix builds. refs #7284

Changeset: d629e202dee961ebee0017d2fee11d7336d7e9d8

comment:22 Changed 7 years ago by Stuart Campbell

Tidy up logic to determine which gmock version to use.

Now use 1.6.0 for everything except for Clang and gcc newer than 4.7

refs #7284

Changeset: 725c27655cf3421fd9d000f7c59815885be03f07

comment:23 Changed 7 years ago by Stuart Campbell

Commented out in order to compile with clang/libc++ on OS X.

refs #7284 There is a ticket to try and fix this (refs #9217)

Changeset: 7c15227ca4291d0fc0ddc971733ae7224c273957

comment:24 Changed 7 years ago by Stuart Campbell

Fixed include guards

The guards at the top of the file didn't actually match each other. refs #7284

Changeset: cfdfc8ce296bdf8889aa878ab3f9d4f143c85e17

comment:25 Changed 7 years ago by Stuart Campbell

Removed some un-needed (hopefully) headers.

refs #7284

Changeset: 446cd6fdb7170449cedfc8f95233d043315b1e1c

comment:26 Changed 7 years ago by Stuart Campbell

Add guard to prevent Qt moc including boost headers.

This is required as Qt4 is not completely C++11 compliant. I think that these will no longer be needed when we move to Qt5. Should only be required for files up to and including API. Refs #7284

Changeset: 620530af6d456196e22e3dae08efb12634412e1e

comment:27 Changed 7 years ago by Stuart Campbell

Also look in /usr/local/include for headers.

refs #7284

Changeset: 7733e306fb05a7a46975d0360a19b5cdf14d01a4

comment:28 Changed 7 years ago by Stuart Campbell

Explicitly create QtAlignment object.

refs #7284

Changeset: 010ac71f354d0a27afb4944bba210fe21073db6f

comment:29 Changed 7 years ago by Stuart Campbell

Added back #include for shared_ptr for linux to build.

Refs #7284

Changeset: 60c69ebdd71046c678697ca9208e5cc51d38f147

comment:30 Changed 7 years ago by Stuart Campbell

Updated FindQwtPlot3d.cmake for Mavericks (OS X 10.9)

-Added /usr/local/include to the search path for headers as

this is where Homebrew puts them.

-Added include directory /opt/X11/include for OS X >= 10.9

refs #7284

Changeset: 37f7696361c441aa1c2854ff05aa30f6b2b5bccf

comment:31 Changed 7 years ago by Stuart Campbell

Updated library output location for python modules.

refs #7284

Changeset: 0e8755d39444904ea7f2443fc17c706f8829340d

comment:32 Changed 7 years ago by Stuart Campbell

Routine to copy python files into correct directory when using Xcode.

This is a 'fix' similar to the one for MS Visual Studio. It is required because of the extra Debug|Release|etc directories that are created. In theory CMake should handle this - but doesn't seem to!

refs #7284

Changeset: ae12ec6c10b2d987d2fbd440aaa3e2715b2987f2

comment:33 Changed 7 years ago by Stuart Campbell

Ugly hack to make sure we find sip on Mavericks

refs #7284

Changeset: 2a3248fc808ec8f8c1a3a10106c23a4bf34e0dc2

comment:34 Changed 7 years ago by Stuart Campbell

Make developers set their own PYTHONPATH. refs #7284

Changeset: 4607188e1444e00b7cdca5cf5fec527c5aa2cbc2

comment:35 Changed 6 years ago by Stuart Campbell

Merge branch 'master' into feature/7284_framework_clang

refs #7284

Conflicts:

Code/Mantid/Build/CMake/DarwinSetup.cmake Code/Mantid/Framework/API/inc/MantidAPI/BoxController.h Code/Mantid/Framework/API/inc/MantidAPI/MatrixWorkspace.h Code/Mantid/Framework/API/inc/MantidAPI/WorkspaceHistory.h Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/InstrumentDefinitionParser.h Code/Mantid/Framework/Geometry/inc/MantidGeometry/Rendering/CacheGeometryGenerator.h Code/Mantid/Framework/Geometry/inc/MantidGeometry/Rendering/OCGeometryGenerator.h Code/Mantid/Framework/Kernel/inc/MantidKernel/IValidator.h Code/Mantid/MantidQt/API/src/PythonRunner.cpp

Changeset: 4f0e4e1e1782f7ba4c0485eadeef7ac3cecf980c

comment:36 Changed 6 years ago by Stuart Campbell

Comment out (for now) logger statements that cause a problem.

refs #7284

Changeset: 979b6c3505ff5331d59fca557e4c95771c2f3cb5

comment:37 Changed 6 years ago by Stuart Campbell

comment:38 Changed 6 years ago by Stuart Campbell

Only set cmake output dir for Xcode

Surround the setting of CMAKE_LIBRARY_OUTPUT_DIRECTORY with a check for Xcode

refs #7284

Changeset: 9c2b8ea03bba72544df6769bd39418702ffb1e21

comment:39 Changed 6 years ago by Stuart Campbell

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

This will need to be tested with someone with access to a Mac running OS X 10.9.x (Mavericks). There are some tests that fail when using the clang compiler. It is not the aim of this ticket to fix those, just ensure that we can build using Xcode and clang without breaking too many other things! :-)

comment:40 Changed 6 years ago by Michael Reuter

  • Status changed from verify to verifying
  • Tester set to Michael Reuter

comment:41 Changed 6 years ago by Martyn Gigg

comment:42 Changed 6 years ago by Stuart Campbell

Commented out unused variable. refs #7284

This will be fixed properly in ticket #9217

Changeset: cf9a493a2310432be550a0f39a0cfb8d3c645fef

comment:43 Changed 6 years ago by Michael Reuter

  • Status changed from verifying to closed

Automatic closure failed.

Merge remote-tracking branch 'origin/feature/7284_framework_clang'

Full changeset: c326a7fbcdbb045a6a459db17d26f7e1d098111b

comment:44 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 8130

Note: See TracTickets for help on using tickets.