[CMake] Add Custom COmmand and CMAKE_CFG_INTDIR

Michael Jackson mike.jackson at bluequartz.net
Wed Jan 4 16:03:22 EST 2012


I robbed this from the HDF5 project which does something very similar to what I am doing:

SET (CMD ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${CFG_INIT}/H5detect${EXE_EXT})

That "seems" to at least point to the proper location. Now to get Visual Studio to actually execute the executable.
--
Mike Jackson <www.bluequartz.net>

On Jan 4, 2012, at 3:54 PM, clinton at elemtech.com wrote:

> Have you tried excluding the ".exe" thing?  I thought cmake did the right thing for targets used in custom commands.
> 
> Clint
> 
> ----- Reply message -----
> From: "Michael Jackson" <mike.jackson at bluequartz.net>
> Date: Wed, Jan 4, 2012 1:28 pm
> Subject: [CMake] Add Custom COmmand and CMAKE_CFG_INTDIR
> To: "cmake at cmake.org List" <cmake at cmake.org>
> 
> I am having trouble getting add_custom_Command and CMAKE_CFG_INTDIR to work correctly together. This is what I have so far.
> 
> # ---------- Setup output Directories -------------------------
> SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY
>  ${PROJECT_BINARY_DIR}/Bin
>  CACHE PATH
>  "Single Directory for all Libraries"
>  )
> 
> # Create our custom executable that will generate most of our QFilterWidget
> # classes from information stored in the Filters themselves.           
> configure_file( ${FilterWidgets_SOURCE_DIR}/CodeGen.cpp.in
>                ${FilterWidgets_BINARY_DIR}/FilterWidgetCodeGen.cpp)
> add_executable(FilterWidgetCodeGen ${FilterWidgets_BINARY_DIR}/FilterWidgetCodeGen.cpp)
> target_link_libraries(FilterWidgetCodeGen MXA EbsdLib DREAM3DLib)
> set(EXE_EXTENSION "")
> if (WIN32)
>  set (EXE_EXTENSION ".exe")
> endif()
> # Now run the code to generate the header files which will over write the place
> # holder files that were generated from above              
> add_custom_command(TARGET FilterWidgetCodeGen POST_BUILD 
>            COMMAND FilterWidgetCodeGen${EXE_EXTENSION} 
>            WORKING_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
> 
> 
> I know this is going to fail on visual studio, which it did. The issue is, what combination of CMAKE_CFG_INTDIR and anything else do I use to get this to work?
> 
> Thanks
> ___________________________________________________________
> Mike Jackson                    Principal Software Engineer
> BlueQuartz Software                            Dayton, Ohio
> mike.jackson at bluequartz.net              www.bluequartz.net
> 
> --
> 
> 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
> 
> 



More information about the CMake mailing list