[CMake] CMake and Visual Studio

Brandon Olivares programmer2188 at gmail.com
Sat May 9 22:05:38 EDT 2009


On 2009-05-09, Michael Jackson wrote:
> take a look at the following location:
> 
> <http://www.bluequartz.net/cgi-
> bin/gitweb/gitweb.cgi?p=MXADataModel.git;a=tree
>> 
> 

Thank you very much! I will take a look at that.

Just another quick question (sorry if this is already covered in that code).
My code will be depending on at least two libraries, so I will need to
package them with the application. What is the best way to do this?

Thanks,
Brandon

> My project is laid out in the following way:
> 
> Project
>     Resources
>        CMake
>     Source
>       MXA
>         Common
> 
> So Basically all my cmake type of support files go in Project/
> Resources/CMake and all the source code is in "Source". All the code is
> organized by folder structures. Inside each folder there is a "*.cmake"
> file that lists the source codes (source and headers) for that folder.
> In the top level cmake file I optionally include each of those *.cmake
> files to build up a source list. Inside the *.cmake file I call a macro
> which uses the "Source_group" command to help VS replicate the folder
> structure. This also works for Xcode also BTW.
> This particular project only builds 1 library and a bunch of unit test
> executables plus one small utility.
>    If you look elsewhere in the git repository there is another project
> called "MXATools" which is a collection of Qt based programs and command
> line programs. They are laid out the same way as the first project.
> 
>   MXADataModel (the first project) is dependent on Boost and you can
> see the basic code that is used to find boost (built into CMake 2.6.3
> and greater). As far as external libraries I ended up writing my own
> "Find*.cmake' files since I was writing CMake build scripts for those
> libraries any ways (Tif, Expat and HDF5).
> 
>   Take a look at the code and ask questions if you need. You are
> welcome to any of the CMake code for your own use. I also welcome
> feedback on the code from a "new users" perspective. ;-)
> 
> _________________________________________________________
> Mike Jackson                  mike.jackson at bluequartz.net
> BlueQuartz Software                    www.bluequartz.net
> Principal Software Engineer                  Dayton, Ohio
> 
> 
> 
> On May 9, 2009, at 3:00 PM, Brandon Olivares wrote:
> 
>> Hi,
>> 
>> I'm trying to use Cmake for a cross-platform application. I'm trying
>> to configure it for Visual Studio on Windows, since that's what I use
>> to develop in.
>> 
>> Is there a better way of adding files, though? I can't really add
>> files from within Visual Studio, it appears, because it'd go in the
>> build directory.
>> 
>> Also, is there any better way to actually replicate the folder
>> structure of the source code?
>> 
>> I might just move to using vim because using Visual Studio is quite a
>> pain at this point, but in case someone else wants to build it or
>> contribute to the code, developing in Visual Studio, I'd like to make
>> it as easy as possible.
>> 
>> I'm just starting out with this, but here's my current CMakeLists.txt
>> in the src directory.
>> 
>> set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
>> set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
>> 
>> set(FC_SRCS main.cpp)
>> 
>> include_directories(${PROJECT_SOURCE_DIR}/include)
>> 
>> if(MSVC_IDE)
>>  file(GLOB_RECURSE FC_HEADERS ${PROJECT_SOURCE_DIR}/include/*.hpp)
>>  source_group("Header Files" FILES ${FC_HEADERS})  list(APPEND
> FC_SRCS
>> ${FC_HEADERS})
>> endif()
>> 
>> add_executable(fight-controller ${FC_SRCS})
>> 
>> include(CPack)
>> 
>> Thanks,
>> Brandon
>> 
>> --
>> www.perpetualseeker.com
>> Blog about college, programming, and other random things.
>> Follow me on Twitter: http://twitter.com/devbanana
>> 
>> 
>> _______________________________________________
>> 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
> 
> _______________________________________________
> 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



--
Brandon
www.perpetualseeker.com
Blog about college, programming, and other random things.
Follow me on Twitter: http://twitter.com/devbanana





More information about the CMake mailing list