[vtkusers] Regression in old build system using CMake 3.12?

BBerco bebe0705 at colorado.edu
Tue Jan 22 17:15:56 EST 2019


I have stumbled upon a weird behavior after upgrading vtk to 8.1.2 this
morning via Homebrew.

Basically, since this morning, adding VTK to a CMakeLists.txt without
specifying the necessary components will cause a number of compilation
errors to pop out (see error trace below). This syntax was fine until now in
the "old" build system.

I have been able to replicate the problem with a random example I pulled
from Bill Lorensen's example website. Note that for both the CMakeLists.txt
below, cmake will run just fine. It is only upon calling make that hell
breaks loose.

I've also noted that earlier versions of CMake (3.3 is the one I tested)
seem to not be affected.

- CMakeLists.txt, will compile with errors 
cmake_minimum_required(VERSION 3.12)
project(BugDemo)
find_package(VTK)
include(${VTK_USE_FILE})
add_executable(LightActor LightActor.cxx )
target_link_libraries(LightActor PRIVATE ${VTK_LIBRARIES})


- CMakeLists.txt, will compile fine
cmake_minimum_required(VERSION 3.12)
project(BugDemo)
find_package(VTK REQUIRED vtkCommonCore)
include(${VTK_USE_FILE})
add_executable(LightActor LightActor.cxx )
target_link_libraries(LightActor PRIVATE ${VTK_LIBRARIES})

Any ideas?

ps: here's the compiler error trace provided below

Scanning dependencies of target main
[ 50%] Building CXX object CMakeFiles/main.dir/main.cpp.o
In file included from /Users/bbercovici/Desktop/testOmp/main.cpp:3:
In file included from /usr/local/include/armadillo:26:
/Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:313:9: error:
no member named 'signbit' in the global namespace
using ::signbit;
      ~~^
/Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:314:9: error:
no member named 'fpclassify' in the global namespace
using ::fpclassify;
      ~~^
/Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:315:9: error:
no member named 'isfinite' in the global namespace; did you mean 'finite'?
using ::isfinite;
      ~~^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:749:12:
note: 'finite' declared here
extern int finite(double)
           ^
In file included from /Users/bbercovici/Desktop/testOmp/main.cpp:3:
In file included from /usr/local/include/armadillo:26:
/Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:316:9: error:
no member named 'isinf' in the global namespace
using ::isinf;
      ~~^
/Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:317:9: error:
no member named 'isnan' in the global namespace
using ::isnan;
      ~~^
/Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:318:9: error:
no member named 'isnormal' in the global namespace
using ::isnormal;
      ~~^
/Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:319:7: error:
no member named 'isgreater' in the global namespace; did you mean
'::std::greater'?
using ::isgreater;
      ^~
/Library/Developer/CommandLineTools/usr/include/c++/v1/functional:720:29:
note: '::std::greater' declared here
struct _LIBCPP_TEMPLATE_VIS greater : binary_function<_Tp, _Tp, bool>
                            ^
In file included from /Users/bbercovici/Desktop/testOmp/main.cpp:3:
In file included from /usr/local/include/armadillo:26:
/Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:320:7: error:
no member named 'isgreaterequal' in the global namespace; did you mean
'::std::greater_equal'?
using ::isgreaterequal;
      ^~
/Library/Developer/CommandLineTools/usr/include/c++/v1/functional:749:29:
note: '::std::greater_equal' declared here
struct _LIBCPP_TEMPLATE_VIS greater_equal : binary_function<_Tp, _Tp, bool>
                            ^
In file included from /Users/bbercovici/Desktop/testOmp/main.cpp:3:
In file included from /usr/local/include/armadillo:26:
/Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:321:9: error:
no member named 'isless' in the global namespace
using ::isless;
      ~~^
/Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:322:9: error:
no member named 'islessequal' in the global namespace
using ::islessequal;
      ~~^
/Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:323:9: error:
no member named 'islessgreater' in the global namespace
using ::islessgreater;
      ~~^
/Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:324:9: error:
no member named 'isunordered' in the global namespace
using ::isunordered;
      ~~^
/Library/Developer/CommandLineTools/usr/include/c++/v1/cmath:325:9: error:
no member named 'isunordered' in the global namespace
using ::isunordered;
      ~~^
13 errors generated.
make[2]: *** [CMakeFiles/main.dir/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/main.dir/all] Error 2
make: *** [all] Error 2









--
Sent from: http://vtk.1045678.n5.nabble.com/VTK-Users-f1224199.html


More information about the vtkusers mailing list