<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi all,<div><br></div><div>now I got it:</div><div><br></div><div>There are 3 different problems:</div><div>1.) never use an absolute DESTINATION path with INSTALL commands!</div><div><div>&nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>###XXX### INSTALL( FILES cmake/FindLibSmi.cmake DESTINATION ${CMAKE_ROOT}/Modules )</div><div><br></div></div><div>2.) never use an absolute source Path!</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>###XXX### INSTALL( FILES ${CMAKE_BINARY_DIR}/libsmi.pc DESTINATION lib/pkgconfig )</div><div><div><br></div></div><div>3) never use a Windows drive letter in one of this paths as "C:/usr"</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>with&nbsp;CMAKE_INSTALL_PREFIX=C:/usr</div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>###XXX### INSTALL( FILES smi.conf-example DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_SYSTEMCONFIG} )</div><div><br></div></div><div>If not, you will get problems in some cases like crosscompile:</div><div><div><br></div><div>test -d build/CMakeFiles &amp;&amp; rm -rf build/*</div><div>cd build &amp;&amp; cmake -DCMAKE_C_COMPILER=i386-mingw32-gcc -DCMAKE_CXX_COMPILER=i386-mingw32-g++ -DCMAKE_SYSTEM_NAME=Windows .. \</div></div><div><div>&nbsp;&nbsp; &nbsp;&amp;&amp; make 2&gt;&amp;1 | tee ../crosscompile.log</div><div><br></div><div>. . . .</div><div><br></div></div><div><div>+ make DESTDIR=/tmp/libsmi install/local</div><div>+ tee ../temp-install.log</div><div>[ &nbsp;1%] Built target generate_dump_svg_script_h</div><div>[ &nbsp;3%] Built target backend_smi_bison</div><div>[ &nbsp;5%] Built target backend_sming_bison</div><div>[ &nbsp;6%] Built target backend_smi_flex</div><div>[ &nbsp;8%] Built target backend_sming_flex</div><div>[ &nbsp;8%] Built target generated</div><div>[ 34%] Built target smi</div><div>[ 37%] Built target smidiff</div><div>[ 87%] Built target smidump</div><div>[ 91%] Built target smilint</div><div>[ 94%] Built target smiquery</div><div>[100%] Built target smixlate</div><div>Installing only the local directory...</div><div>-- Install configuration: "Release"</div><div>CMake Error at cmake_install.cmake:31 (FILE):</div><div>&nbsp;&nbsp;file cannot create directory:</div><div>&nbsp;&nbsp;/tmp/libsmi/Users/clausklein/Workspace/c/libsmi/libsmi-latejuly09-cmake/build/C:/usr/lib/pkgconfig.</div><div>&nbsp;&nbsp;Maybe need administrative privileges.</div><div><br></div><div><br></div><div><div><div><div>make: *** [install/local] Error 1</div><div>+ cmake -DCMAKE_INSTALL_PREFIX=C:/usr -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake</div><div>+ tee ../temp-install.log</div><div>-- Install configuration: "Release"</div><div>-- Installing: /Users/clausklein/Workspace/c/libsmi/libsmi-latejuly09-cmake/build/C:/usr/lib/pkgconfig/libsmi.pc</div><div>-- Installing: /Users/clausklein/Workspace/c/libsmi/libsmi-latejuly09-cmake/build/C:/usr/lib/pkgconfig/libsmi.pc</div><div>-- Installing: /Users/clausklein/Workspace/c/libsmi/libsmi-latejuly09-cmake/build/C:/usr/etc/smi/smi.conf/smi.conf-example</div><div>-- Installing: /Users/clausklein/Workspace/c/libsmi/libsmi-latejuly09-cmake/build/C:/usr/C:/usr/etc/smi/smi.conf/smi.conf-example &lt;&lt;&lt;&lt; really bad!</div><div>-- Installing: /Users/clausklein/Workspace/c/libsmi/libsmi-latejuly09-cmake/build/C:/usr/share/cmake/Modules/FindLibSmi.cmake</div><div>-- Installing: /opt/local/share/cmake-2.8/Modules/FindLibSmi.cmake</div><div>CMake Error at cmake_install.cmake:51 (FILE):</div><div>&nbsp;&nbsp;file INSTALL cannot copy file</div><div>&nbsp;&nbsp;"/Users/clausklein/Workspace/c/libsmi/libsmi-latejuly09-cmake/cmake/FindLibSmi.cmake"</div><div>&nbsp;&nbsp;to "/opt/local/share/cmake-2.8/Modules/FindLibSmi.cmake".</div><div><br></div><div><br></div><div>+ cmake -DCMAKE_INSTALL_PREFIX=/tmp/libsmi/usr -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake</div><div>+ tee ../temp-install.log</div><div>-- Install configuration: "Release"</div><div>-- Up-to-date: /tmp/libsmi/usr/lib/pkgconfig/libsmi.pc</div><div>-- Installing: /tmp/libsmi/usr/lib/pkgconfig/libsmi.pc</div><div>-- Up-to-date: /tmp/libsmi/usr/etc/smi/smi.conf/smi.conf-example</div><div>-- Installing: /tmp/libsmi/usr/C:/usr/etc/smi/smi.conf/smi.conf-example</div><div>-- Up-to-date: /tmp/libsmi/usr/share/cmake/Modules/FindLibSmi.cmake</div><div>-- Installing: /opt/local/share/cmake-2.8/Modules/FindLibSmi.cmake</div><div>CMake Error at cmake_install.cmake:51 (FILE):</div><div>&nbsp;&nbsp;file INSTALL cannot copy file</div><div>&nbsp;&nbsp;"/Users/clausklein/Workspace/c/libsmi/libsmi-latejuly09-cmake/cmake/FindLibSmi.cmake"</div><div>&nbsp;&nbsp;to "/opt/local/share/cmake-2.8/Modules/FindLibSmi.cmake".</div><div><br></div><div><br></div><div>+ exit</div><div>claus-kleins-macbook-pro:libsmi-latejuly09-cmake clausklein$&nbsp;</div><div><br></div><div>I hope you see that something should changed with make install.</div><div><br></div><div>//regards</div><div><br></div><div>Claus</div><div><br></div></div></div></div><div><br></div><div><div>On 08.01.2010, at 22:26, Claus Klein wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi David,</div><div><br></div>Yes, this works fine when I change the CMAKE_INSTALL_PREFIX at CMakeCache.txt, sure.<div><br></div><div>There is only one fault: the config files will be rebuild with the wrong path before install :-((</div><div><br></div><div><br></div><div>At least, I know 2 packages, NetSnmp and LibSmi, they has to&nbsp;be compiled with fix absolute paths,</div><div>including the device name on Windows, that is not my idea! It would be better to use a ConfigFile and&nbsp;</div><div>the program can be install at any place. But they is a history and they needs there MIB's.</div><div>(What is the current drive to find this config file when I start c:/usr/bin/smilint from d:/workdir?)</div><div><div><br><div>When I add the string replace command to the cmake_install.cmake file, it works as a quick hack.</div><div><div>This should only remove the drive string in the middle, not the beginning of the PREFIX path:</div><div><br></div><div>STRING(REGEX REPLACE "/[A-Za-z]:/" "/" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")<br></div><div><br></div></div><div>But I know that this can't be the general solution.</div><div><br></div><div><br></div><div>I did not see any DESTDIR in this file, so I think it will be set as parameter or in environment?</div><div>Only if DESTDIR is given, this drive name has to be replace.</div><div><br></div><div>Where is the DESTDIR prepended to the PREFIX?</div><div>Is there a template for this generated&nbsp;cmake_install.cmake?</div><div><br></div><div>Claus</div><div><br><div><div>On 08.01.2010, at 17:49, David Cole wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div class="gmail_quote">On Fri, Jan 8, 2010 at 12:37 AM, Claus Klein <span dir="ltr">&lt;<a href="mailto:claus.klein@arcormail.de">claus.klein@arcormail.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> <br> On 08.01.2010, at 02:25, Alexander Neundorf wrote:<br> <br> <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"> On Thursday 07 January 2010, Claus Klein wrote:<br> <blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; "> Hi<br> <br> i want to install a cross compiled (build host is a MAC OS X) project<br> to a temporary state dir to get an archive to distribute the binaries.<br> The target is win32 (mingw), compiled to be installed at c:/usr as<br> CMAKE_INSTALL_PREFIX.<br> This prefix is used while compile the binaries, so I can't change it.<br> <br> I think, that when I use DESTDIR while "make DESTDIR=/tmp/cmake<br> install", the device (C:) should be removed before to use it as part<br> of a path like this:<br> <br> STRING(REGEX REPLACE "[A-Za-z:/]" "" CMAKE_INSTALL_PREFIX "$<br> {CMAKE_INSTALL_PREFIX}")<br> <br> head cmake_install.cmake<br> # Install script for directory: /Users/clausklein/Workspace/c/libsmi/<br> trunk<br> #<br> # Set the install prefix<br> IF(NOT DEFINED CMAKE_INSTALL_PREFIX)<br> &nbsp;SET(CMAKE_INSTALL_PREFIX "C:/usr")<br> ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX)<br> STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "$<br> {CMAKE_INSTALL_PREFIX}")<br> . . . .<br> <br> As you can see, &nbsp;PREFIX is appended to DESDIR without modification.<br> which is wrong in this special case.<br> </blockquote> <br></div> Yes. So you would suggest to remove the drive letter from CMAKE_INSTALL_PREFIX<br> when installing with DESTDIR set ?<br> <br> Alex<br> </blockquote> <br> Yes<br> <br> I think it is never a valid path in this case to on Windows itself:<br> <br> i.e. C:/tmp/cmake/C:/usr/lib/pkgconfig<br> <br> I want to create a zip archive at /tmp/cmake to install it on Windows under C:/<br><font color="#888888"> <br> Claus</font><div><div></div><div class="h5"><br> <br> _______________________________________________<br> Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br> <br> Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br> <br> Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br> <br> Follow this link to subscribe/unsubscribe:<br> <a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br> </div></div></blockquote></div><br><div><br></div><div>Can you try setting CMAKE_INSTALL_PREFIX to just "/usr" instead of "C:/usr" to see if you can get what you want in that manner...?</div><div><br> </div></blockquote></div><br></div></div></div></div>_______________________________________________<br>Powered by <a href="http://www.kitware.com">www.kitware.com</a><br><br>Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a><br><br>Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ">http://www.cmake.org/Wiki/CMake_FAQ</a><br><br>Follow this link to subscribe/unsubscribe:<br><a href="http://www.cmake.org/mailman/listinfo/cmake">http://www.cmake.org/mailman/listinfo/cmake</a></blockquote></div><br></div></body></html>