Как попросить cmake взять относительный путь для исходного файла? - PullRequest
0 голосов
/ 16 марта 2020

В настоящее время я разрабатываю CMakeLists.txt, который скомпилирует мой исходный код для Linux и Windows. Я использую компилятор G CC для Linux и компилятор Microsoft Visual Studio для windows. Я использую Cmake в Linux. Поскольку MSVS является windows компилятором, я использовал wine для запуска на Linux машине. Я столкнулся с ошибкой, связанной с путем к исходному файлу. Я добавляю свои исходные файлы следующим образом.

project (APP_SRC C)
set (SRC_DIR "../src")
set (APP_SRC ${SRC_DIR}/../../dir1/main.c
     ${SRC_DIR}/../../dir1/file1.c
     ${SRC_DIR}/../../dir2/file2.c
     ...)

ADD_LIBRARY(APP_SRC SHARED ${SRC_DIR})

Я ожидаю, что Cmake выберет относительный путь для всего моего исходного файла, но по какой-то причине он использует абсолютный путь. Поскольку я использую Microsoft visual studio в качестве компилятора и компоновщика, cl.exe ожидает, что путь к исходному файлу начинается с Z: / или C: / . Но путь к исходному файлу начинается с "/ home / Abhi / ...". Поэтому Cl.exe просто выдает ошибку как отсутствующее имя файла источника.

cl: предупреждение командной строки D9002: игнорирование неизвестной опции '/home/Abhi/Documents/Application/src/main.c' cl: ошибка командной строки D8003: отсутствует имя исходного файла

Как я могу попросить CMake подобрать относительный путь вместо абсолютного? Это поможет с кроссплатформенной компиляцией. Как я могу решить эту проблему?

Спасибо и С уважением, Абхишек Найк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...