У меня есть специальный проект c CMake, который я хотел бы создать как статическую c lib, так и общий объект (только Linux). Соответствующая часть файла CMake:
...
# Static lib
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS})
# Build shared object in Linux only
if(UNIX)
set_target_properties(${PROJECT_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
add_library("${PROJECT_NAME}_SHARED" SHARED ${SOURCES} ${HEADERS})
endif(UNIX)
link_directories(${ILI_EXTERNAL_LIB_DIRS})
target_link_libraries(${PROJECT_NAME} ${ILI_EXTERNAL_LIBS} IliLib PlantModel)
Я могу понять, почему общий объект не создается, когда я добавляю сообщение в блок Unix, оно печатается во время сборки make. Остальная часть этого файла cmake устанавливает только переменные и объявляет имя проекта.
Есть какие-нибудь советы по go отладке этой проблемы? Как на Windows, так и на Linux, в настоящее время строится только stati c lib.
Изменить: Ссылка на CMake и сделать вывод журнала .