CMake assets
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")?
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.
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.
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.
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.
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!
[source lang="plain"]
foreach(asset ${ASSETS})
file(COPY ${asset} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/assets)
endforeach(asset)
[/source]
Thanks for all the help!
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement