I've got a Debug build of current 'master' on Windows, and the problem is also evident with my build:
C:\dev\dcole\tmp\variable_watch_problem\b1> "C:\dev\repos\My Tests\cmake Win32-ninja-cl12-Debug\bin\ cmake.exe" -G Ninja .. -- The CXX compiler identification is MSVC 18.0.31101.0 -- Check for working CXX compiler using: Ninja -- Check for working CXX compiler using: Ninja -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Error at N:/repos/cmake/Modules/FindPythonInterp.cmake:161 (include): include could not find load file: ▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌÷░♣A/Fin dPackageHandleStandardArgs.cmake Call Stack (most recent call first): CMakeLists.txt:11 (find_package) CMake Error at N:/repos/cmake/Modules/FindPythonInterp.cmake:162 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) : Unknown CMake command "FIND_PACKAGE_HANDLE_STANDARD_ARGS". Call Stack (most recent call first): CMakeLists.txt:11 (find_package) -- Configuring incomplete, errors occurred! See also "C:/dev/dcole/tmp/variable_watch_problem/b1/CMakeFiles/CMakeOutput.log". On Thu, Dec 10, 2015 at 7:26 AM, Yves Frederix < yves.frederix+cm...@gmail.com> wrote: > After commenting out the call there is no error output: > > -- The CXX compiler identification is MSVC 17.0.61030.0 > -- Check for working CXX compiler using: Visual Studio 11 2012 Win64 > -- Check for working CXX compiler using: Visual Studio 11 2012 Win64 -- > works > -- Detecting CXX compiler ABI info > -- Detecting CXX compiler ABI info - done > -- Detecting CXX compile features > -- Detecting CXX compile features - done > -- Found PythonInterp: C:/Python27/python.exe (found version "2.7.10") > -- Configuring done > -- Generating done > > > Yves > > On Thu, Dec 10, 2015 at 12:58 PM, David Cole <dlrd...@aol.com> wrote: > >> Out of curiosity, what output do you get (with 3.4.1) when you comment >> out your call to variable_watch? Do you still get error output, but without >> strange symbols in it? Or is there no error output in that case? >> >> >> On Thursday, December 10, 2015, Yves Frederix < >> yves.frederix+cm...@gmail.com> wrote: >> >>> Hi all, >>> >>> I am experiencing problems during the CMake configure step when using >>> the function variable_watch. Consider the following minimal CMakeLists >>> file: >>> >>> cmake_minimum_required(VERSION 3.4) >>> project(test CXX) >>> >>> function(myhook _variable _access _value _current_list_file _stack) >>> if("${_value}" STREQUAL "") >>> # Do nothing >>> endif() >>> endfunction() >>> >>> variable_watch(CMAKE_CURRENT_LIST_DIR myhook) >>> find_package(PythonInterp REQUIRED) >>> >>> >>> When configuring on Windows using CMake 3.4.1 with the Visual Studio >>> generator (I tried both VS2012 and VS2015), the process fails with an >>> error message (notice the strange symbols at the beginning of the line >>> mentioning FindPackageMessage.cmake): >>> >>> -- Detecting CXX compile features - done >>> CMake Error at >>> C:/Tools/CMake_3.4.1/share/cmake-3.4/Modules/FindPackageHandleStandardArgs.cmake:142 >>> (include): >>> include could not find load file: >>> >>> L☺ >>> /Tools/CMake_3.4.1/share/cmake-3.4/Modules/FindPackageMessage.cmake >>> Call Stack (most recent call first): >>> C:/Tools/CMake_3.4.1/share/cmake-3.4/Modules/FindPythonInterp.cmake:161 >>> (include) >>> CMakeLists.txt:12 (find_package) >>> >>> >>> CMake Error at >>> >>> C:/Tools/CMake_3.4.1/share/cmake-3.4/Modules/FindPackageHandleStandardArgs.cmake:379 >>> (FIND_PACKAGE_MESSAGE): >>> Unknown CMake command "FIND_PACKAGE_MESSAGE". >>> Call Stack (most recent call first): >>> >>> C:/Tools/CMake_3.4.1/share/cmake-3.4/Modules/FindPythonInterp.cmake:162 >>> (FIND_PACKAGE_HANDLE_STANDARD_ARGS) >>> CMakeLists.txt:12 (find_package) >>> >>> >>> I did some more testing, and the configuration step is successful when: >>> - using CMake 2.8.12 or 3.4.0 >>> - using 3.4.1 (or older versions) on osx (I did not try linux) >>> - removing the 'CXX' in the project call or removing the project call >>> entirely >>> - removing the check for _value inside the function >>> >>> It seems that for some reason adding the watch (which actually only >>> does read-only access), the contents of the CMAKE_CURRENT_LIST_DIR >>> variable is messed up somehow. Could I have run into some corner case >>> behavior here? >>> >>> Maybe it is also useful to mention how I ended up in this situation. >>> My requirement was to run some custom code as the very last step of >>> the configure process. The solution I found was based on using >>> variable_watch (see >>> >>> http://stackoverflow.com/questions/15760580/execute-command-or-macro-in-cmake-as-last-step-before-configure-step-finishes#15824843 >>> ), >>> but apparently this is not a very robust solution. Are there possibly >>> better ways of accomplishing the same thing? >>> >>> Thanks! >>> >>> Regards, >>> Yves >>> -- >>> >>> 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 >> >> >
-- 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