I have a project I can build on both Linux and Windows using CMake. The only issue is that Unix-style paths, in CMakeLists.txt, can't work on Windows (which uses backslashes instead of slashes, also requiring the drive letter).
Is there any way I can write a cross-platform CMakeLists.txt?
You question affects different details:
GET_FILENAME_COMPONENT(X "${CMAKE_CURRENT_SOURCE_DIR}" REALPATH)
can solve the whole path without writing any absolute paths.PATH
environment variable. So you do not need to search them by yourself (with absolute paths) orFIND_PROGRAM()
to get the tools absolute path without guessing around. You could add hints in which registry entries and paths cmake will search for the tool orIF(WIN32)
orIF(UNIX)
.Hope, this helps...