├── CMakeLists.txt
├── include
│ ├── insert.h
│ └── sqlite3.h
└── src
├── CMakeLists.txt
├── database.cpp
├── insert.cpp
└── zieckey.db
根目录的CMakeLists.txt
# cmake版本需求
CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
# 工程名称
PROJECT(database)
# include directories
INCLUDE_DIRECTORIES(
${PROJECT_SOURCE_DIR}/include
)
message("PROJECT_SOURCE_DIR= ${PROJECT_SOURCE_DIR}")
# lib directories
LINK_DIRECTORIES(
${PROJECT_BINARY_DIR}/lib
)
message("EXECUTABLE_OUTPUT_PATH= ${PROJECT_SOURCE_DIR}/build")
message("LIBRARY_OUTPUT_PATH= ${PROJECT_SOURCE_DIR}/lib")
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
ADD_SUBDIRECTORY(src)
src 目录下的CMakeLists.txt
# CMakeLists for src directory
PROJECT(insert)
SET(INSERT_SRCS
insert.cpp
)
# shared library
ADD_LIBRARY(insert SHARED ${INSERT_SRCS})
# static library
ADD_LIBRARY(insert_static STATIC ${INSERT_SRCS})
SET_TARGET_PROPERTIES(insert_static PROPERTIES OUTPUT_NAME "insert")
SET_TARGET_PROPERTIES(insert PROPERTIES CLEAN_DIRECT_OUTPUT 1)
SET_TARGET_PROPERTIES(insert_static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
# test directory CMakeLists.txt
ADD_EXECUTABLE(database database.cpp)
TARGET_LINK_LIBRARIES(database insert sqlite3)