title: cmake find sqlite3 library on windows
body: <p>I am having more trouble than I'd expect getting CMake to find the <code>sqlite3.dll</code> library on Windows 7 (64-bit if that matters). I have downloaded and placed the latest <code>sqlite3.dll</code> and <code>sqlite3.def</code> files to <code>C:\Windows\System32</code>. I am using the <code>FindSqlite3.cmake</code> module below:</p>
  
  <pre><code>IF( SQLITE3_INCLUDE_DIR AND SQLITE3_LIBRARY_RELEASE AND SQLITE3_LIBRARY_DEBUG )
      SET(SQLITE3_FIND_QUIETLY TRUE)
  ENDIF( SQLITE3_INCLUDE_DIR AND SQLITE3_LIBRARY_RELEASE AND SQLITE3_LIBRARY_DEBUG )
  
  FIND_PATH( SQLITE3_INCLUDE_DIR sqlite3.h )
  
  FIND_LIBRARY(SQLITE3_LIBRARY_RELEASE NAMES sqlite3 )
  
  FIND_LIBRARY(SQLITE3_LIBRARY_DEBUG NAMES sqlite3 sqlite3d HINTS /usr/lib/debug/usr/lib/ C:/Windows/System32/ )
  
  IF( SQLITE3_LIBRARY_RELEASE OR SQLITE3_LIBRARY_DEBUG AND SQLITE3_INCLUDE_DIR )
  SET( SQLITE3_FOUND TRUE )
  ENDIF( SQLITE3_LIBRARY_RELEASE OR SQLITE3_LIBRARY_DEBUG AND SQLITE3_INCLUDE_DIR )
  
  IF( SQLITE3_LIBRARY_DEBUG AND SQLITE3_LIBRARY_RELEASE )
  # if the generator supports configuration types then set
  # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
  IF( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
  SET( SQLITE3_LIBRARIES optimized ${SQLITE3_LIBRARY_RELEASE} debug ${SQLITE3_LIBRARY_DEBUG} )
  ELSE( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
      # if there are no configuration types and CMAKE_BUILD_TYPE has no value
      # then just use the release libraries
  SET( SQLITE3_LIBRARIES ${SQLITE3_LIBRARY_RELEASE} )
  ENDIF( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
  ELSEIF( SQLITE3_LIBRARY_RELEASE )
  SET( SQLITE3_LIBRARIES ${SQLITE3_LIBRARY_RELEASE} )
  ELSE( SQLITE3_LIBRARY_DEBUG AND SQLITE3_LIBRARY_RELEASE )
  SET( SQLITE3_LIBRARIES ${SQLITE3_LIBRARY_DEBUG} )
  ENDIF( SQLITE3_LIBRARY_DEBUG AND SQLITE3_LIBRARY_RELEASE )
  
  IF( SQLITE3_FOUND )
  IF( NOT SQLITE3_FIND_QUIETLY )
  MESSAGE( STATUS "Found Sqlite3 header file in ${SQLITE3_INCLUDE_DIR}")
  MESSAGE( STATUS "Found Sqlite3 libraries: ${SQLITE3_LIBRARIES}")
  ENDIF( NOT SQLITE3_FIND_QUIETLY )
  ELSE(SQLITE3_FOUND)
  IF( SQLITE3_FIND_REQUIRED)
  MESSAGE( FATAL_ERROR "Could not find Sqlite3" )
  ELSE( SQLITE3_FIND_REQUIRED)
  MESSAGE( STATUS "Optional package Sqlite3 was not found" )
  ENDIF( SQLITE3_FIND_REQUIRED)
  ENDIF(SQLITE3_FOUND)
  </code></pre>
  
  <p>This works fine on Linux, but not on Windows. I have spent a few hours now attempting small changes to other CMAKE variables with no luck. It seems like it should be straight forward getting CMake to find this <code>dll</code>. Could I get some help getting this to find the sqlite3 library on Windows?</p>