PROJECT(sqlite3) cmake_minimum_required(VERSION 2.8) add_library(sqlite3 STATIC src/sqlite3.c src/sqlite3.h src/sqlite3ext.h) add_executable(sqlite src/sqlite3.c src/shell.c src/sqlite3.h src/sqlite3ext.h) target_include_directories(sqlite PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src) target_include_directories(sqlite3 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src) #set_target_properties(sqlite PROPERTIES OUTPUT_NAME sqlite3) add_definitions(-DSQLITE_ENABLE_RTREE) add_definitions(-DSQLITE_ENABLE_FTS4) add_definitions(-DSQLITE_ENABLE_FTS5) add_definitions(-DSQLITE_ENABLE_JSON1) add_definitions(-DSQLITE_ENABLE_RBU) add_definitions(-DSQLITE_ENABLE_STAT4) # Uncomment this for single-threaded variant (faster) #add_definitions(-DSQLITE_THREADSAFE=0) if(WIN32) add_custom_command(TARGET sqlite POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ ${CMAKE_CURRENT_BINARY_DIR}/sqlite3.exe DEPENDS sqlite ) install(FILES sqlite3.exe DESTINATION bin) else() include(FindThreads) target_link_libraries(sqlite m ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS}) install(TARGETS sqlite RUNTIME DESTINATION bin) endif() install(FILES src/sqlite3.h src/sqlite3ext.h DESTINATION include) install(TARGETS sqlite3 LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)