On 13.09.2017 14:31, Alain Miniussi wrote:


On 13/09/2017 12:49, Nils Gladitz wrote:
 [...]
Do you have a minimal reproducible example for that behaviour?


e.g. given:

   cmake_minimum_required(VERSION 2.8.0)

    project(Foo NONE)

    file(WRITE foo/CMakeLists.txt "add_executable()")

    add_subdirectory(foo)


I get:

    CMake Error at foo/CMakeLists.txt:1 (add_executable):
      add_executable called with incorrect number of arguments


Even with the oldest CMake version currently available to me (2.8.0).
That test case works for me too. But my real case does not.
I think it would be tricky to minimized, what is failling is the second run of cmake, after a modification in the build system or in a configure_file source.

--------------------------------
CMake Error at CMakeLists.txt:14 (add_executable):
Target "cmTC_60ee6" links to item " -Xlinker --enable-new-dtags -Xlinker
  -rpath -Xlinker
/opt/software/common/intel/impi/2017.0.098/intel64/lib/release_mt -Xlinker
  -rpath -Xlinker /opt/software/common/intel/impi/2017.0.098/intel64/lib
-Xlinker -rpath -Xlinker /opt/intel/mpi-rt/2017.0.0/intel64/lib/release_mt
  -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/2017.0.0/intel64/lib
/opt/software/occigen/libraries/boost/1_63_0/intel/17.0/intelmpi/2017.0.098/lib/libboost_serialization.a" which has leading or trailing whitespace. This is now an error according
  to policy CMP0004.


CMake Error: Internal CMake error, TryCompile generation of cmake failed
INFO   Boost MPI not available or too old:
--------------------------------

Now, maybe the problem is with a CMakeLists.tx generated by a try_compile.
Indicating that I would actually need the location of the try_compile.

Thanks

Alain

Ok, I assume that means you are actually looking at CMakeError.log and not the output you get from CMake concerning your own project's configuration run. try_compile() runs aren't necessarily meant to succeed but rather their outcome is used in conditionals which may or may not have fatal outcomes for your actual project.

If a fatal diagnostic is produced based on such a conditional it would be visible in CMake's direct output (with file and line information) not CMakeError.log. You only need to look at CMakeError.log to understand why a try_compile() did not succeed even though you would have expected it to.

The CMakeLists.txt where the error comes from in your failing try_compile() is generated and temporary so you will not find it in your own sources.

Nils
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to