[cmake-developers] PLplot contract test

Brad King brad.king at kitware.com
Fri Oct 27 07:02:13 EDT 2017


On 10/26/2017 09:58 PM, Alan W. Irwin wrote:
> While trying to set up a clean Experimental dashboard, I have noticed
> a minor spelling issue (furhter ==> further in
> a comment in cmake_common.cmake).

Fixed, thanks.

> unset(ENV{CXXFLAGS})
> unset(ENV{CFLAGS})
> unset(ENV{FFLAGS})
> set(CTEST_BUILD_CONFIGURATION Release)

This is the intended way for dashboard scripts.

> That gave a completely clean result (see the second Experimental
> "raven" results on 2017-10-26 for commit fc3668). I also followed up
> with a Nightly raven result (generated by crontab).  That also gave a
> perfectly clean result (see the first Nightly "raven" results on
> 2017-10-26 for commit da363e).  So it looks like I am basically in
> business (except for the PLplot build part of the test that you
> plan to work on as time permits).

Great!

> However, one of the deficiencies of this third method is the
> bootstrap script only pays attention to CXXFLAGS and CFLAGS when
> setting compile flags for building the preliminary version of CMake so
> that build is unoptimized in this case which will significantly add to
> the time taken to configure the build of the full version of CMake

I doubt it would make much difference.  Most of the configuration
time is spent waiting for try_compile to complete and such, though
I've never timed it.

You could do this to apply flags to bootstrap and configuration
steps but not to the tests:

```
set(ENV{CXXFLAGS} "-O3 -DNDEBUG")
set(ENV{CFLAGS} "-O3 -DNDEBUG")
set(CTEST_BUILD_CONFIGURATION "")
macro(dashboard_hook_build)
  unset(ENV{CXXFLAGS})
  unset(ENV{CFLAGS})
endmacro()
```

> debug whatever is wrong on the CMake end for those 4 test failures.

That would be nice if anyone has time.  However, I think at least some
of them may be testing per-config behavior, so by adding `-DNDEBUG`
to the all-config flags they get confused.

-Brad


More information about the cmake-developers mailing list