Ticket #7284 (closed: fixed)
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: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: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
Draft instructions for building with Xcode can be found at https://github.com/mantidproject/mantid/wiki/Building-Mantid-on-OS-X-10.9-using-clang-and-Xcode
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
There is a cppcheck error related to InterfaceFactory: http://download.mantidproject.org/jenkins/view/Static%20Analysis/job/is_cppcheck_develop/543/cppcheckResult/
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