Ich würde eine plattformunabhängige Headerdatei schreiben und dann für jede unterstützte Plattform einen eigenen Ordner mit den Implementation erstellen. CMake kann man dann sagen abhängig von der Plattform die Dateien aus den entsprechenden Ordnern zu kompilieren und danach auch zu linken. zb:Xin hat geschrieben:Da ist Kerli gefragt, ob CMake da Möglichkeiten anbietet.Bebu hat geschrieben:Achja, Verzeichnisssuche lässt sich wohl kaum völlig plattformunabhängig schreiben. Lösen wir das über Präprozessorerschalter oder soll der Code dann je nach plattform von C-Make erzeugt werden?
Ansonsten stelle ich mir directoryindex.h und directoryindex/windows.cpp und directoryindex/posix.cpp vor, wobei CMake sich für das richtige entscheiden muss, bzw. in directoryindex.cpp ein Präprozessorschalter die jeweiligen Unterschiede included.
Code: Alles auswählen
IF(APPLE)
add_subdirectory(apple)
ELSEIF(WIN32)
add_subdirectory(windows)
ELSE()
add_subdirectory(linux)
ENDIF()