project( Sqlite )
cmake_minimum_required( VERSION 2.6 )

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)

if(STATIC_LIBRARY)
    set(SQLITE3_STATIC 1)
    set(LIBRARY_TYPE STATIC)
    add_definitions(-DSQLITE3_STATIC_LIBS)
else(STATIC_LIBRARY)
    set(LIBRARY_TYPE SHARED)
endif(STATIC_LIBRARY)

configure_file(sqlite3.h ${CMAKE_CURRENT_BINARY_DIR}/sqlite3.h)
configure_file(sqlite3.c ${CMAKE_CURRENT_BINARY_DIR}/sqlite3.c)
include_directories(${CMAKE_CURRENT_BINARY_DIR})

if(WINCE)
    find_package(Wcecompat REQUIRED)
    include_directories(${WCECOMPAT_INCLUDE_DIR})
endif(WINCE)

set( sqlite_HEADER ${CMAKE_CURRENT_BINARY_DIR}/sqlite3.h sqlite3ext.h )

set( libsqlite_SRC ${CMAKE_CURRENT_BINARY_DIR}/sqlite3.c  )
set( sqlite_SRC shell.c )

add_library( libsqlite3 ${LIBRARY_TYPE}  ${libsqlite_SRC} )
if(WINCE)
    target_link_libraries(libsqlite3 ${WCECOMPAT_LIBRARIES})
endif(WINCE)
set_target_properties( libsqlite3 PROPERTIES RUNTIME_OUTPUT_NAME libsqlite ARCHIVE_OUTPUT_NAME sqlite3 )
install( TARGETS libsqlite3 RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib )

add_executable( sqlite3_bin ${sqlite_SRC} )
target_link_libraries( sqlite3_bin libsqlite3 )
set_target_properties( sqlite3_bin PROPERTIES RUNTIME_OUTPUT_NAME sqlite3 ARCHIVE_OUTPUT_NAME sqlite3_bin )

install( TARGETS sqlite3_bin RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib )

install( FILES ${sqlite_HEADER} DESTINATION include )
