59 lines
2.0 KiB
CMake
59 lines
2.0 KiB
CMake
|
# @file CMakeLists.txt
|
||
|
# @ingroup SQLiteCpp
|
||
|
# @brief SQLiteCpp CMake module.
|
||
|
#
|
||
|
# Copyright (c) 2010-2014 Kartik Kumar (me@kartikkumar.com)
|
||
|
#
|
||
|
# Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt
|
||
|
# or copy at http://opensource.org/licenses/MIT)
|
||
|
|
||
|
macro(_sqlitecpp_check_version)
|
||
|
file(READ "${SQLITECPP_INCLUDE_DIR}/SQLiteCpp.h" _sqlitecpp_header)
|
||
|
|
||
|
string(REGEX MATCH "define[ \t]+SQLITECPP_VERSION_NUMBER[ \t]+([0-9]+)"
|
||
|
_sqlitecpp_version_match "${_sqlitecpp_header}")
|
||
|
set(SQLITECPP_VERSION "${CMAKE_MATCH_1}")
|
||
|
if(${SQLITECPP_VERSION} VERSION_LESS ${SQLiteCpp_FIND_VERSION})
|
||
|
set(SQLITECPP_VERSION_OK FALSE)
|
||
|
else(${SQLITECPP_VERSION} VERSION_LESS ${SQLiteCpp_FIND_VERSION})
|
||
|
set(SQLITECPP_VERSION_OK TRUE)
|
||
|
endif(${SQLITECPP_VERSION} VERSION_LESS ${SQLiteCpp_FIND_VERSION})
|
||
|
|
||
|
if(NOT SQLITECPP_VERSION_OK)
|
||
|
message(STATUS "SQLiteCpp version ${SQLITECPP_VERSION} found in ${SQLITECPP_INCLUDE_DIR}, "
|
||
|
"but at least version ${SQLiteCpp_FIND_VERSION} is required!")
|
||
|
endif(NOT SQLITECPP_VERSION_OK)
|
||
|
|
||
|
set(SQLITECPP_LIBRARY "SQLiteCpp")
|
||
|
link_directories(${SQLITECPP_LIBRARY_DIR})
|
||
|
endmacro(_sqlitecpp_check_version)
|
||
|
|
||
|
if(SQLITECPP_INCLUDE_DIR)
|
||
|
# Check if SQLiteCpp is already present in cache.
|
||
|
_sqlitecpp_check_version()
|
||
|
set(SQLITECPP_FOUND ${SQLITECPP_VERSION_OK})
|
||
|
|
||
|
else (SQLITECPP_INCLUDE_DIR)
|
||
|
find_path(SQLITECPP_BASE_PATH NAMES SQLiteCpp.h
|
||
|
PATHS
|
||
|
${PROJECT_SOURCE_DIR}
|
||
|
${PROJECT_SOURCE_DIR}/..
|
||
|
${PROJECT_SOURCE_DIR}/../..
|
||
|
${PROJECT_SOURCE_DIR}/../../..
|
||
|
${PROJECT_SOURCE_DIR}/../../../..
|
||
|
PATH_SUFFIXES SQLiteCpp/include/SQLiteCpp
|
||
|
)
|
||
|
set(SQLITECPP_INCLUDE_DIR ${SQLITECPP_BASE_PATH})
|
||
|
set(SQLITECPP_LIBRARY_DIR ${SQLITECPP_BASE_PATH}/../../build)
|
||
|
|
||
|
if(SQLITECPP_INCLUDE_DIR)
|
||
|
_sqlitecpp_check_version()
|
||
|
endif(SQLITECPP_INCLUDE_DIR)
|
||
|
|
||
|
include(FindPackageHandleStandardArgs)
|
||
|
find_package_handle_standard_args(SQLITECPP DEFAULT_MSG SQLITECPP_INCLUDE_DIR SQLITECPP_VERSION_OK)
|
||
|
|
||
|
mark_as_advanced(SQLITECPP_INCLUDE_DIR)
|
||
|
|
||
|
endif(SQLITECPP_INCLUDE_DIR)
|