From 0168c10023f0040ae2fa31a212eb6d2e411eefb3 Mon Sep 17 00:00:00 2001 From: gramanas Date: Fri, 13 Apr 2018 03:09:03 +0300 Subject: Find sqlite3 and some tests --- CMakeLists.txt | 7 ++++ cmake/FindSQLite3.cmake | 37 +++++++++++++++++++++ src/main.c | 87 ++++++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 127 insertions(+), 4 deletions(-) create mode 100644 cmake/FindSQLite3.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 37c6fd0..1471290 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required (VERSION 3.5.6) project(ck C) + # Set project directories set(PROJECT_SOURCE_DIR ./src) # Set source code locations @@ -12,10 +13,15 @@ set(ckLib_hdr # ${PROJECT_SOURCE_DIR}/tui.hpp ) +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) + +find_package(SQLite3) + # Include directories include_directories(${PROJECT_SOURCE_DIR}) include_directories(${PROJECT_BINARY_DIR}) include_directories(${CMAKE_BINARY_DIR}) +include_directories(${SQLITE3_INCLUDE_DIRS}) # Create the shared library add_library (ckLib SHARED @@ -26,3 +32,4 @@ add_library (ckLib SHARED # Link add_executable(ck ${ckBin_src}) target_link_libraries (ck ckLib) +target_link_libraries (ck ${SQLITE3_LIBRARIES}) diff --git a/cmake/FindSQLite3.cmake b/cmake/FindSQLite3.cmake new file mode 100644 index 0000000..9c99ae5 --- /dev/null +++ b/cmake/FindSQLite3.cmake @@ -0,0 +1,37 @@ +# Copyright (C) 2007-2009 LuaDist. +# Created by Peter Kapec +# Redistribution and use of this file is allowed according to the terms of the MIT license. +# For details see the COPYRIGHT file distributed with LuaDist. +# Note: +# Searching headers and libraries is very simple and is NOT as powerful as scripts +# distributed with CMake, because LuaDist defines directories to search for. +# Everyone is encouraged to contact the author with improvements. Maybe this file +# becomes part of CMake distribution sometimes. + +# - Find sqlite3 +# Find the native SQLITE3 headers and libraries. +# +# SQLITE3_INCLUDE_DIRS - where to find sqlite3.h, etc. +# SQLITE3_LIBRARIES - List of libraries when using sqlite. +# SQLITE3_FOUND - True if sqlite found. + +# Look for the header file. +FIND_PATH(SQLITE3_INCLUDE_DIR NAMES sqlite3.h) + +# Look for the library. +FIND_LIBRARY(SQLITE3_LIBRARY NAMES sqlite3) + +# Handle the QUIETLY and REQUIRED arguments and set SQLITE3_FOUND to TRUE if all listed variables are TRUE. +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(SQLITE3 DEFAULT_MSG SQLITE3_LIBRARY SQLITE3_INCLUDE_DIR) + +# Copy the results to the output variables. +IF(SQLITE3_FOUND) + SET(SQLITE3_LIBRARIES ${SQLITE3_LIBRARY}) + SET(SQLITE3_INCLUDE_DIRS ${SQLITE3_INCLUDE_DIR}) +ELSE(SQLITE3_FOUND) + SET(SQLITE3_LIBRARIES) + SET(SQLITE3_INCLUDE_DIRS) +ENDIF(SQLITE3_FOUND) + +MARK_AS_ADVANCED(SQLITE3_INCLUDE_DIRS SQLITE3_LIBRARIES) diff --git a/src/main.c b/src/main.c index e4acf4d..6de5b43 100644 --- a/src/main.c +++ b/src/main.c @@ -1,6 +1,85 @@ -#include "stdio.h" +#include +#include +#include +#include -int main() -{ - printf("Hello World\n"); +static int callback(void *NotUsed, int argc, char **argv, char **azColName) { + int i; + for(i = 0; i