From: <ai...@us...> - 2013-08-09 23:38:31
|
Revision: 12479 http://sourceforge.net/p/plplot/code/12479 Author: airwin Date: 2013-08-09 23:38:29 +0000 (Fri, 09 Aug 2013) Log Message: ----------- Remove \$ENV{DESTDIR} references from install(CODE...) commands and also reformat those commands to make them more human-readable. Note, these are all examples of where file(INSTALL...) is used inside install(CODE...). According to the documentation file(INSTALL...) is the workhorse signature normall used for install commands so it is reasonable to infer that file(INSTALL...) already does its own \$ENV{DESTDIR} handling. Anyhow, it turns out our own use of \$ENV{DESTDIR} is redundant and causes an error (double use of DESTDIR for the docbook documentation) found by Orion Poplawski and which I have confirmed. Note, for all other uses of install(CODE...) that does not have a call to file(INSTALL...) inside the code fragment (e.g., doc/CMakeLists.txt) it is necessary to use \$ENV{DESTDIR}. Tested by Alan W. Irwin <ai...@us...> using the cmake options -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_DOC=ON -DBUILD_DOX_DOC=ON and "make -j4 DESTDIR=tmp install >& install.out". The resulting files (including both doxgen-generated ones and docbook-generated ones) were all installed to tmp/usr/... in the build_tree with no double use of DESTDIR and no attempt to install files to /usr. Modified Paths: -------------- trunk/doc/docbook/src/CMakeLists.txt Modified: trunk/doc/docbook/src/CMakeLists.txt =================================================================== --- trunk/doc/docbook/src/CMakeLists.txt 2013-08-09 22:40:34 UTC (rev 12478) +++ trunk/doc/docbook/src/CMakeLists.txt 2013-08-09 23:38:29 UTC (rev 12479) @@ -492,8 +492,14 @@ # command. This makes for slightly ugly looking code. if(BUILD_HTML OR PREBUILT_DOC) - install(CODE "file(GLOB HTML_FILES ${CMAKE_CURRENT_BINARY_DIR}/*.${HTML_EXT})\n foreach(file \${HTML_FILES}) \n file(INSTALL DESTINATION \$ENV{DESTDIR}${DOC_DIR}/html TYPE FILE FILES \"\${file}\") \n endforeach (file \"\${HTML_FILES}\")") install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${HTML_MANIFEST} stylesheet.css DESTINATION ${DOC_DIR}/html ) + install(CODE " +file(GLOB HTML_FILES ${CMAKE_CURRENT_BINARY_DIR}/*.${HTML_EXT}) +foreach(file \${HTML_FILES}) + file(INSTALL DESTINATION ${DOC_DIR}/html TYPE FILE FILES \"\${file}\") +endforeach (file \"\${HTML_FILES}\") +" + ) endif(BUILD_HTML OR PREBUILT_DOC) if(BUILD_PRINT OR PREBUILT_DOC) @@ -501,13 +507,25 @@ endif(BUILD_PRINT OR PREBUILT_DOC) if(BUILD_MAN OR PREBUILT_DOC) - install(CODE "file(GLOB MAN_FILES ${CMAKE_CURRENT_BINARY_DIR}/*.${MANVOL})\n foreach(file \${MAN_FILES}) \n file(INSTALL DESTINATION \$ENV{DESTDIR}${MAN_DIR}/man3 TYPE FILE FILES \"\${file}\") \n endforeach (file \"\${MAN_FILES}\")") -# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${MAN_MANIFEST} DESTINATION ${MAN_DIR}/man3 ) + #install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${MAN_MANIFEST} DESTINATION ${MAN_DIR}/man3 ) + install(CODE " +file(GLOB MAN_FILES ${CMAKE_CURRENT_BINARY_DIR}/*.${MANVOL}) +foreach(file \${MAN_FILES}) + file(INSTALL DESTINATION ${MAN_DIR}/man3 TYPE FILE FILES \"\${file}\") +endforeach(file \"\${MAN_FILES}\") +" + ) endif(BUILD_MAN OR PREBUILT_DOC) if(BUILD_INFO OR PREBUILT_DOC) - install(CODE "file(GLOB INFO_FILES ${CMAKE_CURRENT_BINARY_DIR}/*.info*)\n foreach(file \${INFO_FILES}) \n file(INSTALL DESTINATION \$ENV{DESTDIR}${INFO_DIR} TYPE FILE FILES \"\${file}\") \n endforeach (file \"\${INFO_FILES}\")") -# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${INFO_MANIFEST} DESTINATION ${INFO_DIR} ) + #install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${INFO_MANIFEST} DESTINATION ${INFO_DIR} ) + install(CODE " +file(GLOB INFO_FILES ${CMAKE_CURRENT_BINARY_DIR}/*.info*) +foreach(file \${INFO_FILES}) + file(INSTALL DESTINATION ${INFO_DIR} TYPE FILE FILES \"\${file}\") +endforeach (file \"\${INFO_FILES}\") +" + ) endif(BUILD_INFO OR PREBUILT_DOC) # Everything below here has to do with the custom target www-install This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |