Thank you Mike and Eric, Mike,
This is the level of detail that I was hoping for in regards to CMake. In order to get it to compile I had copy/pasted a getline substitute. Now I'll go back and try to configure CMake correctly so that it works on both OS X and Linux. Eric, The second link you gave is very helpful. AJ ONeal On Mon, Apr 25, 2011 at 7:49 AM, Michael Jackson < [email protected]> wrote: > For the CMake side of things you can actually check for the function during > the initial cmake checks: > > INCLUDE (${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake) > CHECK_FUNCTION_EXISTS(getline HAS_GETLINE) > > This will perform the check and put the result into the variable > "HAS_GETLINE". The easiest (but least maintainable way) is to then do: > > if (HAS_GETLINE) > ADD_DEFINITION(-DHAS_GETLINE) > endif() > > Then in your source code you do: > > #ifdef HAS_GETLINE > > #else > > #endif > > When you get comfortable with that then what you _really_ do is to create a > header template file for CMake to fill in. So create a file > ProjectConfig.h.in and put this into it. > > #cmakedefine HAS_GETLINE @HAS_GETLINE@ > > Then in your CMakeLists.txt file you would do this: > > configure_file ( ProjectConfig.h.in ${PROJECT_BINARY_DIR}/ProjectConfig.h > @only immediate) > > Then in your source file simply include the generated header file: > > #include "ProjectConfig.h" > > All of this addresses how to detect the fact that OS X does not have > getline. You are responsible for finding a substitution. Maybe this will > help: > > > http://doubletalkin.blogspot.com/2008/08/fgetln-replacement-for-getline-in-bsd.html > > > ___________________________________________________________ > Mike Jackson www.bluequartz.net > Principal Software Engineer [email protected] > BlueQuartz Software Dayton, Ohio > > On Apr 24, 2011, at 8:20 PM, AJ ONeal wrote: > > > What's the preferred solution to the OS X getline problem (meaning that > it doesn't exist in OS X's libc) when using CMake? > > ("Don't use getline" isn't an option) > > > > > > I'd like to have an explanation of the solution and see an example which > employs it. > > > > > > This is my first time I've tried to compile my Linux code on OS X, so I > don't know anything about how to specify the "do this with os xyz and do > this with os abc" options. > > > > AJ ONeal > > _______________________________________________ > > 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
