Re: [CMake] CMakeLists.txt location
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
Re: [CMake] CMakeLists.txt location
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 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
Re: [CMake] CMakeLists.txt location
On 13 September 2017 at 12:49, Nils Gladitzwrote: > On 13.09.2017 12:22, Alain Miniussi wrote: >> On 13/09/2017 11:16, Nils Gladitz wrote: >>> On 13.09.2017 10:52, Alain Miniussi wrote: Is there a way, when printing CMake error, to get the exact location of the CMakeLists.txt ? For example, right now, when I have: CMake Error at CMakeLists.txt:14 (add_executable): I need to scan all my CMakeLists.txt (~200) to check which one has add_executable at line 14. >>> >>> >>> CMake includes the (relative to the root source directory) path for me >>> e.g.: >>> CMake Error at Source/CMakeLists.txt:4 (add_executable): >> >> Well, it never did for me: >> $grep add_executable CMakeLists.txt >> $ > > 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 I can confirm this works with cmake version 3.9.0 on Windows 10 D:\tmp\cmake-location\build>cmake .. -- Building for: Visual Studio 15 2017 CMake Error at foo/CMakeLists.txt:1 (add_executable): add_executable called with incorrect number of arguments -- Configuring incomplete, errors occurred! See also "D:/tmp/cmake-location/build/CMakeFiles/CMakeOutput.log". Best regards, -- Mateusz Loskot, http://mateusz.loskot.net -- 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
Re: [CMake] CMakeLists.txt location
On 13.09.2017 12:22, Alain Miniussi wrote: On 13/09/2017 11:16, Nils Gladitz wrote: On 13.09.2017 10:52, Alain Miniussi wrote: Hi, Is there a way, when printing CMake error, to get the exact location of the CMakeLists.txt ? For example, right now, when I have: CMake Error at CMakeLists.txt:14 (add_executable): I need to scan all my CMakeLists.txt (~200) to check which one has add_executable at line 14. CMake includes the (relative to the root source directory) path for me e.g.: CMake Error at Source/CMakeLists.txt:4 (add_executable): Well, it never did for me: $grep add_executable CMakeLists.txt $ Alain 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). 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
Re: [CMake] CMakeLists.txt location
On 13/09/2017 11:16, Nils Gladitz wrote: On 13.09.2017 10:52, Alain Miniussi wrote: Hi, Is there a way, when printing CMake error, to get the exact location of the CMakeLists.txt ? For example, right now, when I have: CMake Error at CMakeLists.txt:14 (add_executable): I need to scan all my CMakeLists.txt (~200) to check which one has add_executable at line 14. CMake includes the (relative to the root source directory) path for me e.g.: CMake Error at Source/CMakeLists.txt:4 (add_executable): Well, it never did for me: $grep add_executable CMakeLists.txt $ Alain -- 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
Re: [CMake] CMakeLists.txt location
On 13.09.2017 10:52, Alain Miniussi wrote: Hi, Is there a way, when printing CMake error, to get the exact location of the CMakeLists.txt ? For example, right now, when I have: CMake Error at CMakeLists.txt:14 (add_executable): I need to scan all my CMakeLists.txt (~200) to check which one has add_executable at line 14. CMake includes the (relative to the root source directory) path for me e.g.: CMake Error at Source/CMakeLists.txt:4 (add_executable): 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
[CMake] CMakeLists.txt location
Hi, Is there a way, when printing CMake error, to get the exact location of the CMakeLists.txt ? For example, right now, when I have: CMake Error at CMakeLists.txt:14 (add_executable): I need to scan all my CMakeLists.txt (~200) to check which one has add_executable at line 14. Thanks Alain -- 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