You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.6 KiB
69 lines
1.6 KiB
cmake_minimum_required(VERSION 3.15)
|
|
project(SqliteCppWrapper LANGUAGES CXX)
|
|
|
|
# Postavi standard za C++
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
# Dodaj glavnu biblioteku
|
|
add_library(sqlitecpp STATIC
|
|
src/sqlite3.cpp
|
|
)
|
|
|
|
# Uključi zaglavlja
|
|
target_include_directories(sqlitecpp
|
|
PUBLIC
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/lib>
|
|
$<INSTALL_INTERFACE:include>
|
|
)
|
|
|
|
# Poveži sa SQLite3
|
|
find_package(SQLite3 REQUIRED)
|
|
target_link_libraries(sqlitecpp PRIVATE SQLite::SQLite3)
|
|
|
|
# Generiši export fajl za lokalnu upotrebu
|
|
export(TARGETS sqlitecpp
|
|
FILE ${CMAKE_CURRENT_BINARY_DIR}/sqlitecppTargets.cmake
|
|
NAMESPACE sqlitecpp::
|
|
)
|
|
|
|
# Generiši sqlitecppConfig.cmake
|
|
include(CMakePackageConfigHelpers)
|
|
|
|
configure_package_config_file(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/cmake/sqlitecppConfig.cmake.in
|
|
${CMAKE_CURRENT_BINARY_DIR}/sqlitecppConfig.cmake
|
|
INSTALL_DESTINATION lib/cmake/sqlitecpp
|
|
)
|
|
|
|
write_basic_package_version_file(
|
|
${CMAKE_CURRENT_BINARY_DIR}/sqlitecppConfigVersion.cmake
|
|
VERSION 1.0.0
|
|
COMPATIBILITY SameMajorVersion
|
|
)
|
|
|
|
# Instalacija za lokalnu upotrebu
|
|
install(TARGETS sqlitecpp
|
|
EXPORT sqlitecppTargets
|
|
ARCHIVE DESTINATION lib
|
|
LIBRARY DESTINATION lib
|
|
RUNTIME DESTINATION bin
|
|
)
|
|
|
|
install(EXPORT sqlitecppTargets
|
|
FILE sqlitecppTargets.cmake
|
|
NAMESPACE sqlitecpp::
|
|
DESTINATION lib/cmake/sqlitecpp
|
|
)
|
|
|
|
install(FILES
|
|
${CMAKE_CURRENT_BINARY_DIR}/sqlitecppConfig.cmake
|
|
${CMAKE_CURRENT_BINARY_DIR}/sqlitecppConfigVersion.cmake
|
|
DESTINATION lib/cmake/sqlitecpp
|
|
)
|
|
|
|
# Opcionalno dodaj testove
|
|
# enable_testing()
|
|
# add_subdirectory(test)
|
|
|
|
add_subdirectory(test)
|
|
|