I posted this question a few weeks ago but didn't get any replies. I've notice 
that most questions get answered 

so I'll post it again. If it's badly written please give some feedback. Thanks 
/Anders

 
Hi,

 

I am using CMake 2.6-patch 0 on Windows XP and I am generating build files for 
"Visual Studio 9 2008".
I have some questions regarding the Install command:
 
1) Is there a way to create a build target equal to the install/fast target 
that is available for the "Unix Makefiles"
generator which does not depend on all the other targets?
 
2) I am using the "Optional" argument when calling the Install command. 
However, in the case of shared libraries, the 
"Visual Studio 9 2008" install scripts exit when a file to install is not 
present. I have tested this using the "Unix Makefiles" 
generator and there it seems to work as expected. For example I have:
 
ADD_LIBRARY(my_target SHARED source1.cpp source2.cpp)
INSTALL(TARGETS my_target DESTINATION lib LIBRARY OPTIONAL)
 
This generates an install script. A part of this looks like:
 
IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" MATCHES 
"^(Unspecified)$")
  IF("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Dd][Ee][Bb][Uu][Gg])$")
    FILE(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY 
OPTIONAL FILES "path/my_target.lib")
  ENDIF("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Dd][Ee][Bb][Uu][Gg])$")
ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" MATCHES 
"^(Unspecified)$")
 
IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" MATCHES 
"^(Unspecified)$")
  IF("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Dd][Ee][Bb][Uu][Gg])$")
    FILE(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE SHARED_LIBRARY 
FILES "path/my_target.dll")
  ENDIF("${CMAKE_INSTALL_CONFIG_NAME}" MATCHES "^([Dd][Ee][Bb][Uu][Gg])$")
 ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" MATCHES 
"^(Unspecified)$")
 
When the dll has not been build the install script exits. As i see it the 
second FILE command for the dll file is the problem, 
it does not contain the OPTIONAL command and therefore makes the script exit. 
Is this correct or did I misunderstand 
something here? If this is the problem, is there a workaround?
 
Thanks
/Anders







Dela foton på ett smidigt sätt med Windows LiveT Photos. Dra och släpp

_________________________________________________________________
Med Windows Live kan du ordna, redigera och dela med dig av dina foton.
http://www.microsoft.com/sverige/windows/windowslive/products/photo-gallery-edit.aspx
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to