Вопросы с тегом «cmake»

CMake - это кроссплатформенный генератор системы сборки с открытым исходным кодом. Он генерирует файлы для систем сборки, такие как собственные файлы сборки, файлы сборки ninja и файлы проектов для нескольких интегрированных сред разработки.

4
Какой смысл использовать find_package (), если вам все равно нужно указать CMAKE_MODULE_PATH?
Я пытаюсь заставить кросс-платформенную систему сборки работать с использованием CMake. Теперь у программного обеспечения есть несколько зависимостей. Я сам скомпилировал их и установил в своей системе. Некоторые примеры файлов, которые были установлены: -- Installing: /usr/local/share/SomeLib/SomeDir/somefile -- Installing: /usr/local/share/SomeLib/SomeDir/someotherfile -- Installing: /usr/local/lib/SomeLib/somesharedlibrary -- Installing: /usr/local/lib/SomeLib/cmake/FindSomeLib.cmake -- Installing: /usr/local/lib/SomeLib/cmake/HelperFile.cmake Теперь в CMake …
167 cmake 

4
Автоматически добавлять все файлы в папке к цели с помощью CMake?
Я рассматриваю возможность переключения кроссплатформенного проекта с отдельных систем управления сборками в Visual C ++, XCode и make-файлах на CMake. Одна важная функция, которая мне нужна, - это автоматическое добавление всех файлов в каталоге к цели. Хотя это легко сделать с помощью make, это нелегко сделать с помощью Visual C …

3
Как именно работает CMake?
Я не спрашиваю об этом только для себя. Я надеюсь, что этот вопрос послужит справкой для многих новичков, которые, как и я, нашли его совершенно озадаченным, что именно происходило за кулисами, когда для такого маленького CMakeLists.txtфайла cmake_minimum_required (VERSION 2.6) project(Tutorial) add_executable(Tutorial tutorial.cpp) и такой маленький tutorial.cpp int main() { return …
158 cmake 

5
Лучше указать исходные файлы с GLOB или каждый файл отдельно в CMake?
CMake предлагает несколько способов указать исходные файлы для цели. Одним из них является использование globbing ( документация ), например: FILE(GLOB MY_SRCS dir/*) Другой способ - указать каждый файл отдельно. Какой способ предпочтительнее? Шарить кажется легким, но я слышал, что у него есть некоторые недостатки.
157 cmake 

4
В CMake, как я могу проверить, является ли компилятор Clang?
У нас есть набор межплатформенных сценариев сборки CMake , и мы поддерживаем сборку с помощью Visual C ++ и GCC . Мы пробуем Clang , но я не могу понять, как проверить, является ли компилятор Clang с нашим сценарием CMake. Что я должен проверить, чтобы увидеть, является ли компилятор Clang …
151 c++  c  cmake  clang 



2
CMake: структура проекта с модульными тестами
Я пытаюсь структурировать свой проект, чтобы включить производственные источники (во srcвложенной папке) и тесты (во testвложенной папке). Я использую CMake для создания этого. В качестве минимального примера у меня есть следующие файлы: CMakeLists.txt: cmake_minimum_required (VERSION 2.8) project (TEST) add_subdirectory (src) add_subdirectory (test) src / CMakeLists.txt: add_executable (demo main.cpp sqr.cpp) src …

4
Как создать общую библиотеку с помощью cmake?
Я написал библиотеку, которую использовал для компиляции, используя самописный Makefile, но теперь я хочу перейти на cmake. Дерево выглядит следующим образом (я удалил все ненужные файлы): . ├── include │ ├── animation.h │ ├── buffers.h │ ├── ... │ ├── vertex.h │ └── world.h └── src ├── animation.cpp ├── buffers.cpp …


3
В чем разница между include_directories и target_include_directories в CMake?
У меня есть структура каталогов для моего кода на C ++, которая выглядит следующим образом: | |->include |->src Я пишу файл CMakeLists.txt для своего кода. Я хочу понять разницу между include_directoriesи target_include_directoriesв CMake. В чем разница между их использованием и тем, что я должен использовать для добавления пути к включаемому …
134 c++  cmake 

6
Как скомпилировать 32-битный двоичный файл на 64-битной машине Linux с помощью gcc / cmake
Можно ли скомпилировать проект в 32-битном с cmakeи gccна 64-битной системе? Вероятно, да, но как мне это сделать? Когда я попробовал это «невежественным» способом, без установки каких-либо параметров / флагов / и т.д., просто настройка LD_LIBRARY_PATHпоиска связанных библиотек в ~/tools/libнем, кажется, игнорировала это и смотрела только в подкаталогах с именем …
129 linux  gcc  64-bit  cmake  32-bit 

4
Ссылка CMake на внешнюю библиотеку
Как заставить CMake связать исполняемый файл с внешней общей библиотекой, которая не построена в том же проекте CMake? Просто выполнение target_link_libraries(GLBall ${CMAKE_BINARY_DIR}/res/mylib.so)дает ошибку make[2]: *** No rule to make target `res/mylib.so', needed by `GLBall'. Stop. make[1]: *** [CMakeFiles/GLBall.dir/all] Error 2 make: *** [all] Error 2 (GLBall is the executable) после …
127 cmake 


10
Как начать работать с GTest и CMake
Недавно мне предложили использовать CMake для компиляции моих проектов на C ++, и теперь я хотел бы начать писать несколько модульных тестов для своего кода. Я решил использовать утилиту Google Test, чтобы помочь с этим, но мне нужна помощь для начала работы. Весь день я читал различные руководства и примеры, …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.