• Create Account

## CMake assets

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

3 replies to this topic

106
Like
0Likes
Like

Posted 24 July 2012 - 12:09 PM

I'm working on a game using the SDL library and I'm trying to load an image to display on the screen. Since I started using cmake to build my project, I can't get the image to load. I think this is a problem with the assets folder/images not being included with the project when it gets built. How should my CMake look if I wanted to include an assets folder with a game project so it can be loaded locally, ex: load_image("spritesheet.bmp")?

### #2dilyan_rusev  Members

1360
Like
1Likes
Like

Posted 26 July 2012 - 09:51 AM

Um, not an expert on CMake, but do you mean deployed via CMake-generated make install? Or that you cannot load an image from your development environment?

If it is the first, you might want to take a look at how the installation process is managed, and thus just copy your assets on installation.

If it is the second, you need to provide more context. Why are images not loading? Is there some error message?

Another problem might be that your files are in the source code directory, and cmake generates object files and executables in a separate directory. For this age-old problem, you will simply need to copy your assets to the binary directory.

106
Like
0Likes
Like

Posted 26 July 2012 - 10:11 PM

Hey thanks for the reply. I've basically setup my build environment alright, since it builds on windows and Linux right now. It was probably my fault for not providing some more context but my problem was that the images weren't loading. This was because none of the images in the assets folder I set up were being included when I built the project through cmake.

So really I think I may just need to copy them over, as you suggested. I'll try it again tomorrow and I'll update on how it goes.

106
Like
0Likes
Like

Posted 28 July 2012 - 07:58 PM

Woohoo! It worked! First of all it turns out that it wasn't displaying the image because SDL only likes 24-bit bmps. So I used the cmake copy command to include all the images in my assets folder using something like this:
[source lang="plain"]foreach(asset ${ASSETS}) file(COPY${asset} DESTINATION \${CMAKE_CURRENT_BINARY_DIR}/assets)endforeach(asset)[/source]

Thanks for all the help!

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.