Hi Michele,
On 07/10/16 10:18, Michele Dolfi wrote:
Thanks, this looks actually better than the CXXFLAGS.
But is it doing exactly? Just setting the option in the flags?
toolchainopts impact the compiler options that are included in
$CXXFLAGS, which are then picked up by the CMakeMake easyblock as passed
to -DCMAKE_CXX_FLAGS.
So, basically, the same thing you are doing, but... differently. ;-)
regards,
Kenneth
--
ETH Zurich
Michele Dolfi
Institute for Theoretical Physics
HIT G 32.4
Wolfgang-Pauli-Str. 27
8093 Zurich
Switzerland
[email protected] <mailto:[email protected]>
www.itp.phys.ethz.ch <http://www.itp.phys.ethz.ch>
+41 44 633 78 56 phone
+41 44 633 11 15 fax
On Oct 7, 2016, at 9:46 AM, Kenneth Hoste <[email protected]
<mailto:[email protected]>> wrote:
Hi Michele,
A 'cleaner' way is through 'toolchainopts', i.e. by adding this line
to your easyconfig file:
toolchainopts = {'cstd': 'c++11'}
See also
https://github.com/hpcugent/easybuild-easyconfigs/blob/68176cd383d3bc3569894bced5a3fda001d0e4fb/easybuild/easyconfigs/m/MRtrix/MRtrix-0.3.14-intel-2016a-Python-2.7.11.eb#L10
The only difference here is that you don't need to worry which flag
to use exactly (-std, or maybe another flag when a different compiler
is used).
regards,
Kenneth
PS: an overview of supported toolchain options per toolchain is
available at
http://easybuild.readthedocs.io/en/latest/version-specific/toolchain_opts.html;
to evaluate the effect of setting a particular toolchain option you
can use -x, cfr.
http://easybuild.readthedocs.io/en/latest/Extended_dry_run.html
On 05/10/16 19:23, Michele Dolfi wrote:
Thanks.
configopts actually seems to work.
I think before I actually overlooked the verbose cmake command, and
didn’t see that the CMAKE_CXX_FLAGS was actually repeated.
On Oct 5, 2016, at 7:11 PM, Jack Perdue <[email protected]
<mailto:[email protected]>> wrote:
On 10/05/2016 11:40 AM, Michele Dolfi wrote:
Dear EasyBuild experts,
I would like to enable C++11 inside some EB config file.
Usually, in a CMake project, I was doing
-DCMAKE_CXX_FLAGS=“-std=c++11”. However EB overrides it if I put
it in `configopts`.
If I read the log correctly, EB is setting the optimization
options in the CMAKE_CXX_FLAGS. Personally I think this is a wrong
behavior, because optimization flags in CMake are delivered by the
BuildMode (Debug, Release, …), and those CXXFLAGS should be
overridden in CMAKE_CXX_FLAGS_RELEASE.
preconfigopts most definitely won't work given
the CMakeMake.py easyblock.
I usually add to configopts something like:
-DCMAKE_CXX_FLAGS=“$CXXFLAGS -std=c++11"
which usually works since it appears later on the command
line and seems to override EB's setting,
YMMV (not sure why it isn't working for you)
jack