View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0009971 | CMake | CMake | public | 2009-11-25 14:07 | 2016-06-06 13:37 | ||||
Reporter | Shane Dixon | ||||||||
Assigned To | David Cole | ||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||
Status | closed | Resolution | duplicate | ||||||
Platform | OS | OS Version | |||||||
Product Version | CMake-2-8 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0009971: Parameters pass to command-line entirely wrong | ||||||||
Description | Trying to call doxygen using a doxyfile configuration file located in ${PROJECT_BINARY_DIR}/Doxyfile. See additional information for exact code. When passing the command to the command-line, it sends "doxygen C:" instead of "doxygen C:/temp/deploy2/Doxyfile" which is what the verbose output of nmake says it should be outputting. If I copy the command generated by nmake "C:\Program Files\doxygen\bin\doxygen.exe" C:/temp/deploy2/Doxyfile It runs just fine. Here is the output when it fails: C:\temp\deploy2>nmake verbose=1 build_api_docs Microsoft (R) Program Maintenance Utility Version 9.00.30729.01 Copyright (C) Microsoft Corporation. All rights reserved. "C:\Program Files\CMake 2.8\bin\cmake.exe" -HC:\workspace\MyProj -BC:\temp\deploy2 --check-build-system CMakeFiles\Makefile.cmake 0 "C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe" -f CMakeFiles\Makefile2 /nologo - build_api_docs "C:\Program Files\CMake 2.8\bin\cmake.exe" -HC:\workspace\MyProj -BC:\temp\deploy2 --check-build-system CMakeFiles\Makefile.cmake 0 "C:\Program Files\CMake 2.8\bin\cmake.exe" -E cmake_progress_start C:\temp\deploy2\CMakeFiles 1 "C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe" -f CMakeFiles\Makefile2 /nologo -L CMakeFiles\build_api_docs.dir\all "C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe" -f CMakeFiles\build_api_docs.dir\build.make /nologo -L CMakeFiles\build_api_docs.dir\depend "C:\Program Files\CMake 2.8\bin\cmake.exe" -E cmake_depends "NMake Makefiles" C:\workspace\MyProj C:\workspace\MyProj C:\temp\deploy2 C:\temp\deploy2 C:\temp\deploy2\CMakeFiles\build_api_docs.dir\DependInfo.cmake --color= "C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe" -f CMakeFiles\build_api_docs.dir\build.make /nologo -L CMakeFiles\build_api_docs.dir\build "C:\Program Files\CMake 2.8\bin\cmake.exe" -E cmake_progress_report C:\temp\deploy2\CMakeFiles [ 0%] Generate the doxygen documentation into C:/temp/deploy2/docs/api. cd C:\workspace\MyProj "C:\Program Files\doxygen\bin\doxygen.exe" C:/temp/deploy2/Doxyfile Error: file `C:' not found Searching for include files... | ||||||||
Additional Information | Here is the code in the top-level CMakeLists.txt: IF( DOXYGEN_FOUND ) MESSAGE( STATUS "${PROJECT_SOURCE_DIR}/Doxyfile.in --> ${PROJECT_BINARY_DIR}/Doxyfile" ) CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/Doxyfile.in" "${PROJECT_BINARY_DIR}/Doxyfile" IMMEDIATE @ONLY) MESSAGE( STATUS "${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/Doxyfile" ) ADD_CUSTOM_TARGET(build_api_docs ${DOXYGEN_EXECUTABLE} "${PROJECT_BINARY_DIR}/Doxyfile" WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMENT "Generate the doxygen documentation into ${PROJECT_BINARY_DIR}/docs/api.") ENDIF( DOXYGEN_FOUND ) | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Relationships | ||||||
|
Relationships |
Notes | |
(0018590) Shane Dixon (reporter) 2009-11-25 14:08 |
Might be related to this other but I reported. It looks similar: http://public.kitware.com/Bug/view.php?id=9963 [^] |
(0018592) Shane Dixon (reporter) 2009-11-25 14:12 |
I uninstalled and reinstalled CMake 2.8 from the version I downloaded from the web to make sure I had everything up to date, but no success. I also created a new build directory but that also failed. |
(0018593) Shane Dixon (reporter) 2009-11-25 14:26 |
If I hardcode the value, it works: ADD_CUSTOM_TARGET(build_api_docs ${DOXYGEN_EXECUTABLE} C:\\temp\\deploy2\\Doxyfile WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMENT "Generate the doxygen documentation into ${PROJECT_SOURCE_DIR}/docs/api.") If I hardcode the value with forward slashes, it fails: ADD_CUSTOM_TARGET(build_api_docs ${DOXYGEN_EXECUTABLE} C:/temp/deploy2/Doxyfile WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMENT "Generate the doxygen documentation into ${PROJECT_SOURCE_DIR}/docs/api.") If I copy and paste this from the verbose output of the nmake output, it works: "C:\Program Files\doxygen\bin\doxygen.exe" C:/temp/deploy2/Doxyfile It strikes me as odd that running manually works exactly as it's shown in nmake, but when nmake actually runs it, it fails. |
(0018594) Shane Dixon (reporter) 2009-11-25 14:34 |
This is what ends up in the makefile that actually runs the command: CMakeFiles\build_api_docs: $(CMAKE_COMMAND) -E cmake_progress_report C:\temp\deploy2\CMakeFiles $(CMAKE_PROGRESS_1) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generate the doxygen documentation into C:/workspace/SIS/docs/api." cd C:\workspace\SIS "C:\Program Files\doxygen\bin\doxygen.exe" C:/temp/deploy2/Doxyfile cd C:\temp\deploy2 Again if I copy and paste just the one doxygen line and run it, it works. When I run "nmake build_api_docs", it fails. Could it be an environment issue? |
(0018623) Shane Dixon (reporter) 2009-12-01 13:29 |
I was able to work around it with this code: IF( DOXYGEN_FOUND ) SET( DOXY_CONFIG "\"${CMAKE_CURRENT_BINARY_DIR}/Doxyfile\"" ) MESSAGE( STATUS "Configured ${PROJECT_SOURCE_DIR}/Doxyfile.in --> ${DOXY_CONFIG}" ) CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/Doxyfile.in" "${PROJECT_BINARY_DIR}/Doxyfile" @ONLY) MESSAGE( STATUS "${DOXYGEN_EXECUTABLE} ${DOXY_CONFIG}" ) ADD_CUSTOM_TARGET(build_api_docs ${DOXYGEN_EXECUTABLE} "${DOXY_CONFIG}" #WORKING_DIRECTORY ${PROJECT_BINARY_DIR} COMMENT "Generate the doxygen documentation into ${PROJECT_SOURCE_DIR}/docs/api.") ENDIF( DOXYGEN_FOUND ) Basically, I had to double-escape the DOXY_CONFIG variable so that it gets quoted when passed to the command-line. Oddly this isn't required when I copy and paste the command on the command-line...not quotes are necessary, but escaping a few quotes in CMake fixes the issue in CMake. |
(0022143) David Cole (manager) 2010-09-08 17:45 |
dup of 9963 -- when that one is fixed, this one will be also... |
(0022185) David Cole (manager) 2010-09-10 19:00 |
Related issue 0009963 is now resolved; fixed in CMake 'next'; this one should be too... |
(0024604) David Cole (manager) 2011-01-11 18:05 |
Closing resolved issues that have not been updated in more than 3 months. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2009-11-25 14:07 | Shane Dixon | New Issue | |
2009-11-25 14:08 | Shane Dixon | Note Added: 0018590 | |
2009-11-25 14:12 | Shane Dixon | Note Added: 0018592 | |
2009-11-25 14:26 | Shane Dixon | Note Added: 0018593 | |
2009-11-25 14:34 | Shane Dixon | Note Added: 0018594 | |
2009-12-01 13:29 | Shane Dixon | Note Added: 0018623 | |
2010-09-08 17:44 | David Cole | Relationship added | duplicate of 0009963 |
2010-09-08 17:44 | David Cole | Status | new => assigned |
2010-09-08 17:44 | David Cole | Assigned To | => David Cole |
2010-09-08 17:45 | David Cole | Note Added: 0022143 | |
2010-09-08 17:45 | David Cole | Status | assigned => resolved |
2010-09-08 17:45 | David Cole | Resolution | open => duplicate |
2010-09-10 19:00 | David Cole | Note Added: 0022185 | |
2011-01-11 18:05 | David Cole | Note Added: 0024604 | |
2011-01-11 18:05 | David Cole | Status | resolved => closed |
2016-06-06 13:37 | Brad King | View Status | private => public |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |