Regression in old build system using CMake 3.12?

BBerco <[email protected]> Tue, 22 Jan 2019 15:15:56 -0700 (MST)
Newsgroups gmane.comp.lib.vtk.user
Message-ID <[email protected]>
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
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
https://vtk.org/mailman/listinfo/vtkusers