[Cmake] CMakeCommand feature in CMake

Bill Hoffman bill.hoffman at kitware.com
Mon Mar 18 10:38:14 EST 2002


Actually, the ELSE is not required either.

This is all that is required:

   ADD_CUSTOM_COMMAND(
        SOURCE vtkXY
        COMMAND ${CCOMMAND_COMMAND}
        ARGS copy
        ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/${MY_LIB_NAME}
        ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/vtkXY.pvm
        TARGET vtkXY )

CMAKE_CFG_INTDIR is either $(IntDir) which is expanded by msdev, or . 
for non-msdev build environments.  

So in cmake if you ever need to reference an executable or binary file
generated by the build process of cmake, you can use ${CMAKE_CFG_INTDIR} to
get the correct file.

-Bill

At 08:56 AM 3/18/2002 -0500, Andy Cedilnik wrote:


>>  IF(CMAKE_BUILD_TOOL MATCHES msdev)
>>    FOREACH(WINDOWS_BUILD_TYPE Debug Release RelWithDeb MinSizeRel)
>>      ADD_CUSTOM_COMMAND(
>>        SOURCE vtkXY
>>        COMMAND ${CCOMMAND_COMMAND}
>>        ARGS copy
>>        ${EXECUTABLE_OUTPUT_PATH}/${WINDOWS_BUILD_TYPE}/${MY_LIB_NAME}
>>        ${EXECUTABLE_OUTPUT_PATH}/${WINDOWS_BUILD_TYPE}/vtkXY.pvm
>>        TARGET vtkXY )
>>    ENDFOREACH(WINDOWS_BUILD_TYPE Debug Release RelWithDeb MinSizeRel)
>>  ELSE(CMAKE_BUILD_TOOL MATCHES msdev)
>>    ADD_CUSTOM_COMMAND(
>>      SOURCE vtkXY
>>      COMMAND ${CCOMMAND_COMMAND}
>>      ARGS copy
>>      ${EXECUTABLE_OUTPUT_PATH}/${MY_LIB_NAME}
>>      ${EXECUTABLE_OUTPUT_PATH}/vtkXY.pvm
>>      TARGET vtkXY )
>>  ENDIF(CMAKE_BUILD_TOOL MATCHES msdev)
>
>I got informed that there is a better way of doing this:
>
>>  IF(CMAKE_BUILD_TOOL MATCHES msdev)
>>      ADD_CUSTOM_COMMAND(
>>        SOURCE vtkXY
>>        COMMAND ${CCOMMAND_COMMAND}
>>        ARGS copy
>>        ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/${MY_LIB_NAME}
>>        ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/vtkXY.pvm
>>        TARGET vtkXY )
>>  ELSE(CMAKE_BUILD_TOOL MATCHES msdev)
>>    ADD_CUSTOM_COMMAND(
>>      SOURCE vtkXY
>>      COMMAND ${CCOMMAND_COMMAND}
>>      ARGS copy
>>      ${EXECUTABLE_OUTPUT_PATH}/${MY_LIB_NAME}
>>      ${EXECUTABLE_OUTPUT_PATH}/vtkXY.pvm
>>      TARGET vtkXY )
>>  ENDIF(CMAKE_BUILD_TOOL MATCHES msdev)
>
>No for each and still works.
>
>                        Andy
>
>_______________________________________________
>Cmake mailing list
>Cmake at public.kitware.com
>http://public.kitware.com/mailman/listinfo/cmake




More information about the CMake mailing list