I have just started using some externally supplied cmake projects in my cmake project. To do this I added these lines to my top level CMakeLists.txt file:<br><br><span style="font-family: courier new,monospace;">include(ExternalProject)</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">ExternalProject_Add(external_proj</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> PREFIX ${CMAKE_BINARY_DIR}/external_proj</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> SOURCE_DIR ${CMAKE_SOURCE_DIR}/external/proj/dir</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> CMAKE_ARGS -DCMAKE_BUILD_TYPE:STRING=Release</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> -DMETAGS_DIR=${CMAKE_BINARY_DIR}/meta_install</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> INSTALL_COMMAND ""</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"></span><br>And that worked very well. Inside Visual Studio when I build my project it automatically runs the cmake configure step for the external projects and builds them as well. The problem I have just discovered is when using a build configuration other than the default ones. I can build Debug and Release configurations fine. My project also has a DebugOptimised configuration but the external projects don't. When I try to build my project it fails to build the external projects. I used build_command() to see what commands would be used to build each configuration and I can see the cause of the problem:<br>
<br><span style="font-family: courier new,monospace;">Debug: VCExpress.exe myProj.sln /build Debug /project external_proj</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
DebugOptimised: VCExpress.exe myProj.sln /build DebugOptimised /project external_proj</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">
</span><br>Is there a way to tell cmake how to map my build configurations onto those that an external project has ? In this case I would like to build the external project as Debug when I am building my project as DebugOptimised. <br>
<br>--<br>Glenn<br><br>