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

Я сейчас работаю над проектом, который требует базы данных 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 Ответ

1 голос
/ 26 апреля 2019

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

Поиск директории и библиотеки ODBC для подключения к открытой базе данных.

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

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

...