Я хочу интегрировать ODBC в мой код для Linux и Windows, используя CMakeLists.txt, но он работает только в Windows

В настоящее время я работаю над проектом, который требует базы данных SQL. Я хочу сделать платформу проекта независимой, поэтому я пишу CMakeLists.txt, но, к сожалению, в настоящее время он не работает с Linux, у меня есть эта часть в CmakeLists.txt

find_package(ODBC)
TARGET_LINK_LIBRARIES(${PROJECT_NAME}_component ${ODBC_LIBRARIES} CML)

Я знаю, что я должен поставить ifelse для платформы, поэтому я думаю в этом направлении

if (WIN32)
    find_package(ODBC)
    TARGET_LINK_LIBRARIES(${PROJECT_NAME}_component ${ODBC_LIBRARIES} CML)
endif (WIN32)


if (UNIX)
   ## dont know what to write here ?? 
endif (UNIX)

Ps. Я очень новичок в написании CMake, поэтому я был бы очень полезен, если бы кто-то мог мне помочь.

1 ответ

Вы можете использовать FindODBC:

Найдите каталог подключения к открытой базе данных (ODBC) и библиотеку.

В Windows при сборке с Visual Studio этот модуль предполагает, что библиотека ODBC предоставляется доступным Windows SDK.

В Unix этот модуль позволяет выполнять поиск библиотеки ODBC, предоставляемой реализациями ODBC API unixODBC или iODBC.

Другие вопросы по тегам