blob: a976af1f10020a4f5a56ade7499ddd1a64d96b18 [file] [log] [blame]
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -617,7 +617,7 @@ if ( APPLE )
add_definitions( -mmacosx-version-min=10.8 )
endif()
-if(APPLE)
+if(NOT SQLITE3_FOUND)
# On Linux, we use the distro's libsqlite3
add_subdirectory(sqlite3)
endif()
@@ -715,6 +715,9 @@ if(APPLE)
if ( USE_PCH )
add_dependencies(sqlite3lib ${CL_PCH_TARGET})
endif ( USE_PCH )
+endif()
+
+if(NOT SQLITE3_FOUND)
add_dependencies(wxsqlite3 sqlite3lib)
endif()
--- a/CodeLite/CMakeLists.txt
+++ b/CodeLite/CMakeLists.txt
@@ -112,7 +112,7 @@ FILE(GLOB SRCS "*.cpp" "../sdk/codelite_indexer/network/*.cpp" "SocketAPI/*.cpp"
# Define the output
add_library(libcodelite SHARED ${SRCS})
-if (UNIX AND NOT APPLE )
+if (UNIX AND NOT APPLE OR MINGW )
target_link_libraries(libcodelite
${LINKER_OPTIONS}
${wxWidgets_LIBRARIES}
@@ -122,7 +122,7 @@ if (UNIX AND NOT APPLE )
${LIBSSH_LIB}
${ADDITIONAL_LIBRARIES}
${LIBUCHARDET_LIB})
-else (UNIX AND NOT APPLE)
+else (UNIX AND NOT APPLE OR MINGW)
target_link_libraries(libcodelite
${LINKER_OPTIONS}
${wxWidgets_LIBRARIES}
--- a/cmake/Modules/FindSqlite3.cmake
+++ b/cmake/Modules/FindSqlite3.cmake
@@ -1,27 +1,76 @@
-if(UNIX AND NOT APPLE)
+# Try to find Sqlite3
+# Once done this will define
+#
+# SQLITE3_FOUND - system has Sqlite3
+# SQLITE3_INCLUDE_DIRS - the Sqlite3 include directory
+# SQLITE3_LIBRARIES - Link these to use Sqlite3
+# SQLITE3_DEFINITIONS - Compiler switches required for using Sqlite3
+#
+
+if(NOT APPLE)
+ if (SQLITE3_LIBRARIES AND SQLITE3_INCLUDE_DIRS)
+ # in cache already
+ set(SQLITE3_FOUND TRUE)
+ else()
+ # use pkg-config to get the directories and then use these values
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ find_package(PkgConfig)
+ if(PKG_CONFIG_FOUND)
+ pkg_check_modules(_SQLITE3 sqlite3)
+ endif()
+ find_path(SQLITE3_INCLUDE_DIR
+ NAMES
+ sqlite3.h
+ HINTS
+ ${_SQLITE3_INCLUDE_DIRS}
+ $ENV{SQLITE3DIR}/include
+ /usr/include
+ /usr/include/sqlite3
+ /usr/local/include
+ /opt/local/include
+ )
+
find_library(SQLITE3_LIBRARY
- NAMES libsqlite3.so
- HINTS
- /usr/local/lib
- /usr/lib
- /usr/lib/x86_64-linux-gnu
- /usr/lib/i386-linux-gnu
- )
-
- find_path(SQLITE3_INCLUDE_DIR NAMES sqlite3.h
- HINTS
- /usr/local/include
- /usr/include
- /usr/include/sqlite3
- )
- if (SQLITE3_INCLUDE_DIR AND SQLITE3_LIBRARY)
+ NAMES
+ sqlite3
+ HINTS
+ ${_SQLITE3_LIBRARY_DIRS}
+ $ENV{SQLITE3DIR}/lib
+ /usr/lib
+ /usr/lib/x86_64-linux-gnu
+ /usr/lib/i386-linux-gnu
+ /usr/local/lib
+ /opt/local/lib
+ )
+
+ if(SQLITE3_LIBRARY)
+ set(SQLITE3_FOUND TRUE)
+ endif()
+
+ set(SQLITE3_INCLUDE_DIRS
+ ${SQLITE3_INCLUDE_DIR}
+ )
+
+ if(SQLITE3_FOUND)
+ set(SQLITE3_LIBRARIES
+ ${SQLITE3_LIBRARIES}
+ ${SQLITE3_LIBRARY}
+ )
+ endif()
+
+ if(SQLITE3_INCLUDE_DIRS AND SQLITE3_LIBRARIES)
set(SQLITE3_FOUND TRUE)
endif()
-
- if(NOT SQLITE3_FOUND)
- message(FATAL_ERROR " **** Could not find Sqlite3. Please install libsqlite3-dev package **** ")
+
+ if(SQLITE3_FOUND)
+ message("-- SQLITE3_INCLUDE_DIR: " ${SQLITE3_INCLUDE_DIR})
+ message("-- SQLITE3_LIBRARY: " ${SQLITE3_LIBRARY})
else()
- message("-- SQLITE3_INCLUDE_DIR: " ${SQLITE3_INCLUDE_DIR})
- message("-- SQLITE3_LIBRARY: " ${SQLITE3_LIBRARY})
+ message(-- "Could not find system Sqlite3. Using bundled sqlite3")
endif()
+
+ # show the SQLITE3_INCLUDE_DIRS and SQLITE3_LIBRARIES variables only in the advanced view
+ mark_as_advanced(SQLITE3_INCLUDE_DIRS SQLITE3_LIBRARIES)
+
+ endif ()
endif()
--- a/sdk/databaselayer/CMakeLists.txt
+++ b/sdk/databaselayer/CMakeLists.txt
@@ -12,7 +12,7 @@ project(databaselayersqlite)
include( "${wxWidgets_USE_FILE}" )
# Include paths
-include_directories(./include/wx/dblayer/include src/sqlite3)
+include_directories(./include/wx/dblayer/include ${SQLITE3_INCLUDE_DIR})
if ( USE_PCH )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include ${CL_PCH_FILE} -Winvalid-pch ")
@@ -72,7 +72,7 @@ endif ( WITH_MYSQL )
# Define the output
add_library(databaselayersqlite SHARED ${SRCS} ${MYSQL_SRCS})
-target_link_libraries(databaselayersqlite ${LINKER_OPTIONS} ${wxWidgets_LIBRARIES})
+target_link_libraries(databaselayersqlite ${LINKER_OPTIONS} ${wxWidgets_LIBRARIES} -L"${CL_LIBPATH}" ${SQLITE3_LIBRARY})
if(APPLE)
install(TARGETS databaselayersqlite DESTINATION ${CMAKE_BINARY_DIR}/codelite.app/Contents/MacOS/)
--