View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0013080 | CMake | CTest | public | 2012-03-30 12:00 | 2012-09-03 16:00 | ||||
Reporter | Jean-Christophe Fillion-Robin | ||||||||
Assigned To | David Cole | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | no change required | ||||||
Platform | OS | OS Version | |||||||
Product Version | CMake 2.8.7 | ||||||||
Target Version | Fixed in Version | CMake 2.8.8 | |||||||
Summary | 0013080: CTEST_CMAKE_COMMAND ignored by "ctest_*" command. | ||||||||
Description | If CTEST_CMAKE_COMMAND is set within a ctest script, its value isn't used. If not explicitly set, should CTEST_CMAKE_COMMAND default to the value of cmake corresponding to the ctest program used to run the script ? | ||||||||
Steps To Reproduce | The attached archive bundle a very simple example illustrating the issue. I reproduced the problem using the following version of CMake/CTest: Test case1: ~/Dashboards/Support/cmake-2.8.7-Linux-i386/bin/ctest -S drive_build.ctest -VV Within drive_build.ctest: CTEST_CMAKE_COMMAND: /home/jchris/Dashboards/Support/cmake-2.8.8-rc1-Linux-i386/bin/cmake Within CMakeLists.txt: cmake_minimum_required(VERSION 2.8.8) Test case2 ~/Dashboards/Support/cmake-2.8.6-Linux-i386/bin/ctest -S drive_build.ctest -VV Within drive_build.ctest: CTEST_CMAKE_COMMAND: /home/jchris/Dashboards/Support/cmake-2.8.7-Linux-i386/bin/cmake Within CMakeLists.txt: cmake_minimum_required(VERSION 2.8.7) | ||||||||
Additional Information | Example of output (Test case2) * Extra verbosity turned on Reading Script: /home/jchris/Projects/sandbox/ctest-cmake-command-ignored/drive_build.ctest Before explicity setting CTEST_CMAKE_COMMAND: After explicity setting CTEST_CMAKE_COMMAND:/home/jchris/Dashboards/Support/cmake-2.8.7-Linux-i386/bin/cmake CTEST_SOURCE_DIRECTORY:/home/jchris/Projects/sandbox/ctest-cmake-command-ignored CTEST_BINARY_DIRECTORY:/home/jchris/Projects/sandbox/ctest-cmake-command-ignored/build SetCTestConfiguration:SourceDirectory:/home/jchris/Projects/sandbox/ctest-cmake-command-ignored SetCTestConfiguration:BuildDirectory:/home/jchris/Projects/sandbox/ctest-cmake-command-ignored/build Run dashboard with model Continuous Source directory: /home/jchris/Projects/sandbox/ctest-cmake-command-ignored Build directory: /home/jchris/Projects/sandbox/ctest-cmake-command-ignored/build Reading ctest configuration file: /home/jchris/Projects/sandbox/ctest-cmake-command-ignored/CTestConfig.cmake SetCTestConfigurationFromCMakeVariable:NightlyStartTime:CTEST_NIGHTLY_START_TIMESetCTestConfiguration:NightlyStartTime:23:00:00 EDT Site: Build name: Use Continuous tag: 20120330-1557 SetCTestConfiguration:BuildDirectory:/home/jchris/Projects/sandbox/ctest-cmake-command-ignored/build SetCTestConfiguration:SourceDirectory:/home/jchris/Projects/sandbox/ctest-cmake-command-ignored SetCTestConfiguration:ConfigureCommand:"/home/jchris/Dashboards/Support/cmake-2.8.6-Linux-i386/bin/cmake" "-GUnix Makefiles" "/home/jchris/Projects/sandbox/ctest-cmake-command-ignored" SetCTestConfiguration:BuildDirectory:/home/jchris/Projects/sandbox/ctest-cmake-command-ignored/build SetCTestConfiguration:SourceDirectory:/home/jchris/Projects/sandbox/ctest-cmake-command-ignored Configure project Configure with command: "/home/jchris/Dashboards/Support/cmake-2.8.6-Linux-i386/bin/cmake" "-GUnix Makefiles" "/home/jchris/Projects/sandbox/ctest-cmake-command-ignored" Run command: "/home/jchris/Dashboards/Support/cmake-2.8.6-Linux-i386/bin/cmake" "-GUnix Makefiles" "/home/jchris/Projects/sandbox/ctest-cmake-command-ignored" Each . represents 1024 bytes of output .-- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/local/bin/gcc -- Check for working C compiler: /usr/local/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/local/bin/c++ -- Check for working CXX compiler: /usr/local/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done CMake Error at CMakeLists.txt:8 (cmake_minimum_required): CMake 2.8.7 or higher is required. You are running version 2.8.6 | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | ctest-cmake-command-ignored.tgz [^] (898 bytes) 2012-03-30 12:00 | ||||||||
Relationships | |
Relationships |
Notes | |
(0029011) David Cole (manager) 2012-03-30 12:08 |
CTEST_CMAKE_COMMAND is intended to be a read-only variable. You should not set it within a ctest script. By default, the ctest_configure command will use the cmake corresponding to the ctest being used to drive the script. If you want to override it to use a different cmake explicitly for the configure step, you should set CTEST_CONFIGURE_COMMAND to customize the full command line of the configure step. See the code in Source/CTest/cmCTestConfigureCommand.cxx for details. |
(0029012) Jean-Christophe Fillion-Robin (reporter) 2012-03-30 12:52 |
Thanks for clarification. It's just that I initially based my understanding of this variable looking at existing scripts ... It probably mean that the example reported here [1] should be updated. Additionally, all our script within the "DashboardScripts" CVS repo all set this variable without using it directly in the script. Probably the evil "copy/paste" effect ... [1] http://www.cmake.org/Wiki/CMake_Scripting_Of_CTest#CTest_Scripting [^] |
(0029013) David Cole (manager) 2012-03-30 13:09 edited on: 2012-03-30 15:25 |
Ah.... those things you point to are "old style" (pre-ctest_configure(), pre-ctest_build()) ctest scripts. So we probably do support setting that var for old-style scripts. But if you are using ctest_configure and ctest_build commands, you are by definition using a new-style script (2.4+) and should avoid setting CTEST_CMAKE_COMMAND. It's not used in new-style scripts. (I forgot about those old style scripts already...) |
(0029014) Jean-Christophe Fillion-Robin (reporter) 2012-03-30 13:34 |
Very true .. also forgot about that. Before closing that issue, one last question: Would it make sens to have CTEST_CMAKE_COMMAND available within a ctest script if it's invoked using "ctest -S </path/to/script>" ? Or say differently is that variable expected to be valid when invoking a script that way ? |
(0029015) David Cole (manager) 2012-03-30 15:24 edited on: 2012-03-30 16:36 |
Try CMAKE_COMMAND : that should give you the full path to the corresponding CMake. Even better, run this code in any CMake script/CMakeLists context to see what variables are defined and what their values are: get_cmake_property(vs VARIABLES) foreach(v ${vs}) message("${v}='${${v}}'") endforeach() |
(0029017) Jean-Christophe Fillion-Robin (reporter) 2012-03-30 16:17 |
Extra - thanks for the hint :) I believe the issue can now be closed. FYI - Assuming -VV is used, within a ctest script message(STATUS "Hello") won't output anything whereas message("Hello") will output text. |
(0030841) David Cole (manager) 2012-09-03 16:00 |
Closing resolved issues that have not been updated in more than 4 months. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2012-03-30 12:00 | Jean-Christophe Fillion-Robin | New Issue | |
2012-03-30 12:00 | Jean-Christophe Fillion-Robin | File Added: ctest-cmake-command-ignored.tgz | |
2012-03-30 12:08 | David Cole | Note Added: 0029011 | |
2012-03-30 12:52 | Jean-Christophe Fillion-Robin | Note Added: 0029012 | |
2012-03-30 13:09 | David Cole | Note Added: 0029013 | |
2012-03-30 13:34 | Jean-Christophe Fillion-Robin | Note Added: 0029014 | |
2012-03-30 15:24 | David Cole | Note Added: 0029015 | |
2012-03-30 15:25 | David Cole | Note Edited: 0029013 | |
2012-03-30 16:17 | Jean-Christophe Fillion-Robin | Note Added: 0029017 | |
2012-03-30 16:35 | David Cole | Assigned To | => David Cole |
2012-03-30 16:35 | David Cole | Status | new => assigned |
2012-03-30 16:36 | David Cole | Note Edited: 0029015 | |
2012-03-30 16:36 | David Cole | Status | assigned => resolved |
2012-03-30 16:36 | David Cole | Fixed in Version | => CMake 2.8.8 |
2012-03-30 16:36 | David Cole | Resolution | open => no change required |
2012-09-03 16:00 | David Cole | Note Added: 0030841 | |
2012-09-03 16:00 | David Cole | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |