[CMake] Files always install

J Decker d3ck0r at gmail.com
Mon Sep 8 17:56:41 EDT 2014


This is sort of a place holder...

I have defined
set( CMAKE_INSTALL_MESSAGE "LAZY" )

I have a CMakeLists.txt that may be added multiple times that does

SET( BASE_IMAGES
${CMAKE_CURRENT_SOURCE_DIR}/frame_border.png
${CMAKE_CURRENT_SOURCE_DIR}/sky.jpg
${CMAKE_CURRENT_SOURCE_DIR}/dial2a.png
${CMAKE_CURRENT_SOURCE_DIR}/dial2.png
${CMAKE_CURRENT_SOURCE_DIR}/dial1a.png
${CMAKE_CURRENT_SOURCE_DIR}/dial1.png
)

if( INSTALL_FRAME_BORDER )
  INSTALL(
    FILES
      ${BASE_IMAGES}
    DESTINATION
      ${INSTALL_FRAME_BORDER}
  )
endif( INSTALL_FRAME_BORDER )

-----
which is included in one place
set( INSTALL_FRAME_BORDER ${INTERFACE_OUTPUT_DIR}/images )
add_subdirectory( data )




This command doesn't work, it says 'no directory INSTALL' when the
directory is actually '.'  (after --build)... I'd like to know what's
triggering the copy.  The file is up-to-date and, is the only one in the
set that does this.

C:\tools\unix\cmake\bin\cmake.exe --trace --build . --config Debug --target
INSTALL

This command usually has "-- /m:4 /v:m" appended to it, and --trace also
doesn't respect -- as end of command line options
------------


My output's last 3 lines are
------------------
  -- Install configuration: "Debug"
  -- Installing: C:/General/Build/sack/debug_out/core/bin/images/sky.jpg
  -- Installing: C:/General/Build/sack/debug_out/core/bin/images/sky.jpg
----------



cmake_install.cmake has these lines referencing sky.jpg

/* installs to .../bin/images */
/*${CMAKE_BINARY_DIR}/data/cmake_installl.cmake */
if(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL
"Unspecified")
  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin/images" TYPE FILE
MESSAGE_LAZY FILES
    "c:/General/Work/sack/data/frame_border.png"
    "c:/General/Work/sack/data/sky.jpg"
    "c:/General/Work/sack/data/dial2a.png"
    "c:/General/Work/sack/data/dial2.png"
    "c:/General/Work/sack/data/dial1a.png"
    "c:/General/Work/sack/data/dial1.png"
    )
endif()


/* installs to .../resources/images */
/* ${CMAKE_BINARY_DIR}/src/msgsvr/testdisplay/cmake_install.cmake */
if(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL
"Unspecified")
  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/resources/images" TYPE
FILE MESSAGE_LAZY FILES
    "c:/General/Work/sack/src/msgsvr/testdisplay/background.jpg"
    "c:/General/Work/sack/src/msgsvr/testdisplay/daub.png"
    "c:/General/Work/sack/src/msgsvr/testdisplay/playagain.jpg"
    "c:/General/Work/sack/src/msgsvr/testdisplay/playing.jpg"
    "c:/General/Work/sack/src/msgsvr/testdisplay/sky.jpg"
    "c:/General/Work/sack/src/msgsvr/testdisplay/slot_strip.2.jpg"
    "c:/General/Work/sack/src/msgsvr/testdisplay/slot_strip.jpg"
    )
endif()

-------------------------

There's only the 2 references and the image is only reported as installed
twice into bin/images ...   but it is 'installed' every time... whereas all
of the other files that are referenced with it are not.

Any idea how I can figure out why?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20140908/a5a04cf4/attachment-0001.html>


More information about the CMake mailing list