Суббота, 18 Июля 2020 г. 21:23
+ в цитатник
JoeUser: Всем привет!
Прошу помощи в конфигурации cmake. Сення первый день вожусь с cmake и сабж не получается! :'(
Делаю тестовый проект, структура его такова:
C:\Projects\c++\TestSFTP\
+- main.cpp
+- CMakeLists.txt (1)
+- sftp++\
+- sftp_auth.cpp
+- sftp_tools.cpp
+- sftp++.cpp
+- sftp_auth.h
+- sftp_defs.h
+- sftp++.h
+- CMakeLists.txt (2)
В
CMakeLists.txt (1) написал:
cmake_minimum_required(VERSION 3.5)
project(TestSFTP LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(SOURCE_EXE main.cpp)
include_directories(sftp++)
add_executable(TestSFTP ${SOURCE_EXE})
add_subdirectory(sftp++)
target_link_libraries(TestSFTP sftp++)
A в
CMakeLists.txt (2):
cmake_minimum_required(VERSION 3.5)
project(sftp++)
set(SOURCE_LIB
sftp++.cpp
sftp_auth.cpp
sftp_tools.cpp
)
set(HEADER_LIB
sftp++.h
sftp_defs.h
sftp_auth.h
)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(BITS x64)
elseif()
set(BITS x32)
endif()
message("Bits ${BITS}")
add_library (sftp++ STATIC ${SOURCE_LIB} ${HEADER_LIB})
Пока все линкуется и собирается. Но мне нужно подключить внешнюю либу
libssh2 к моей собираемой
sftp++,
а она у меня находится тут для shared:
C:/Projects/c++/libssh2/vs-x64-shared/bin
C:/Projects/c++/libssh2/vs-x64-shared/include
C:/Projects/c++/libssh2/vs-x64-shared/lib
Или тут для static:
C:/Projects/c++/libssh2/vs-x64-static/include
C:/Projects/c++/libssh2/vs-x64-static/lib
Собственно, вопрос
Куда и что прописать, чтобы создаваемая мною либа sftp++ могла использовать libssh2 (статически и динамически)? :wall:
И попутно ... в конфиге я определяю битность, в которую собирается проект.
А можно ли как-то подобным образом определить static/shared и vc/mingw?
https://forum.sources.ru/index.php?showtopic=419175&view=findpost&p=3834568
Метки:
C/C++:
Прочее
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-