In that case you can disregard my first reply. If it is a file to be used at runtime, then I would use file(COPY ...) or install() to export the recources.txt from your source directory to your build directory. Then you will have a flexible way that will also work in other setups. It may seem wastefull to copy files when you already have them in your source, but keeping build files and source files separate makes it really easy to clean up or to have multiple build directories. In my opinion this feature is one of the virtues of cmake.
Regards, Micha On 07/13/2015 07:02 PM, Micha Hergarden wrote: > > > > -------- Forwarded Message -------- > Subject: Re: Re: [CMake] opening files relative to cmake build directory > Date: Mon, 13 Jul 2015 17:00:52 +0000 > From: Owen Alanzo Hogarth <gurenc...@gmail.com> > To: Micha Hergarden <micha.hergar...@gmail.com> > > > > Resources.txt is a test but it's mainly going to be used for assets at > runtime. Maybe in the future I might have other directories but this > is the only one for now. > > > On Tue, Jul 14, 2015, 00:53 Micha Hergarden <micha.hergar...@gmail.com > <mailto:micha.hergar...@gmail.com>> wrote: > > Sorry, > > I forgot to put you on the reply as well. > > Regards, > Micha > > > > -------- Forwarded Message -------- > Subject: Re: [CMake] opening files relative to cmake build directory > Date: Mon, 13 Jul 2015 18:46:39 +0200 > From: Micha Hergarden <micha.hergar...@gmail.com> > <mailto:micha.hergar...@gmail.com> > To: cmake@cmake.org <mailto:cmake@cmake.org> > > > > On 07/12/2015 02:14 PM, Owen Alanzo Hogarth wrote: >> I have a little project that's setup like this >> >> project >> main.c >> build >> resources >> source >> .../module1 >> .../module2 >> .../etc >> >> main.c loads dynamic libs from under the source folder. >> >> I am trying to open up a file using c fopen >> >> >> I create a function to get the base resource path >> which returns: /Users/me/projectresources/ >> >> I call get resource with test.txt >> it'll return a string like this: /Users/me/project/resources/test.txt >> >> but with my fopen command I get null error >> Error while opening the file. >> : No such file or directory >> >> When I use the c command to find current working directory >> it returns: >> Current Directory = /Users/me/project/build/ >> >> how can I set up cmake to allow me to either use the full file >> path as in Users/me/project/resources/[filename] >> >> or a relative filename so that I can open my files? >> >> Best, >> Owen >> >> >> >> > Hello Owen, > > Take a look at: http://www.cmake.org/Wiki/CMake_Useful_Variables > > In your case CMAKE_SOURCE_DIR may do what you want. You can create > a project configuration file and use #cmakedefine and > CONFIGURE_FILE() to create defines to use in your source file. > That would provide you with a fixed location, suitable for the > build you are running now. > > What is the purpose of the resources.txt. Is this something you > need during the creation of your executable? Or do you need it > during the execution of the program? > > Regards, > Micha > > > >
signature.asc
Description: OpenPGP digital signature
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake