Я пытаюсь настроить CMAKE в качестве системы сборки, поэтому я новичок в этом. Перед тем как опубликовать этот вопрос, я провел довольно обширное исследование, но я не смог найти ответ. Я искал прошедший день, и некоторые ссылки здесь , и здесь и в официальной документации , но я не понимаю, кто я делать неправильно.
Вопрос: я пытаюсь создать динамическую библиотеку с помощью cmake, но версия не устанавливается.
Это моя структура папок, сгенерированная командой " tree ". (я вынул материал из каталога сборки, чтобы он был легко читаемым)
.
├── build
├── CMakeLists.txt
├── test_utility.cpp
└── test_utility.h
Это мой CMakeLists.txt :
cmake_minimum_required(VERSION 3.13)
project(TestLib
VERSION 0.1
DESCRIPTION "Testing the library target utility in Cmake"
LANGUAGES CXX)
add_library (test_utility SHARED test_utility.cpp test_utility.h)
Затем я иду в каталог сборки и запускаю cmake .. -G "Unix Makefiles" и cmake --build. . Все заканчивается хорошо, за исключением одного:
Результатом этого будет libtest_utility.so , тогда как я хотел бы libtest_utility.so.0.1 , а затем я сам сделал бы символическую ссылку.
Я знаю об обходном решении из здесь , которое указывает использовать VERSION_MAJOR 0 и VERSION_MINOR 1, но я подумал, что атрибут Version в проекте должен позаботиться об этом.
Вопрос: Почему не устанавливается версия