title: How can I force CMake to look for a library in a specific directory?
body: <p>Trying to install a Spenvis package and here's the error I'm getting when running the script:</p>
  
  <pre><code>-- Boost version: 1.41.0
  -- Found the following Boost libraries:
  --   python
  -- Configuring done
  -- Generating done
  -- Build files have been written to: Desktop/build
  make[2]: *** No rule to make target `/usr/local/lib64/libpython2.6.so.1.0', needed by `source/libSpenvis.so'.  Stop.
  make[1]: *** [source/CMakeFiles/Spenvis.dir/all] Error 2
  make: *** [all] Error 2
  </code></pre>
  
  <p>It's looking for libpython2.6.so.1.0 in /usr/local/lib64, but the library itself is in /usr/lib64.</p>
  
  <p>I'm not a super user, so I can't change/copy the library into the directory nor can I make a link to it. For reference, here's the python script I'm running followed by the CMakeLists.txt file:</p>
  
  <pre><code>"""
  Main launch script
  """
  import os
  import sys
  import shutil
  from subprocess import call
  
  """
  Define path where to find python packages
  """
  loc_dir=os.getcwd()
  os.chdir("python_utilities")
  
  #Spenvis csv
  #############
  os.chdir("spenvis_csv")
  if not os.path.exists("build"):
      os.mkdir("build")
  
  os.chdir("build")
  call("cmake ../", shell=True)
  call("make")
  os.chdir(loc_dir)
  os.chdir("python_utilities")
  if not os.path.exists("lib"):
      os.mkdir("lib")
  
  for file_name in os.listdir("spenvis_csv/build/source"):
      if file_name.find("libSpenvis.") !=-1:
          shutil.move("spenvis_csv/build/source/%s" %(file_name),"lib/Spenvis.so") 
  os.chdir("..")
  </code></pre>
  
  <p>And the CMakeLists.txt:</p>
  
  <pre><code>cmake_minimum_required(VERSION 2.8)
  
  # Make sure the compiler can find include files
  include_directories (${PYSPENVIS_SOURCE_DIR})
  
  
  # get boost
  set(Boost_USE_STATIC_LIBS   OFF)
  #set(Boost_USE_MULTIEADED ON)
  find_package(Boost COMPONENTS
                  python
               REQUIRED)
  include_directories(${Boost_INCLUDE_DIRS})
  link_directories(${Boost_LIBRARY_DIRS})
  
  # get python
  include(FindPythonLibs)
  
  set(PythonLibs_USE_STATIC_LIBS   OFF)
  find_package(PythonInterp)
  find_package(PythonLibs)
  include_directories(${PYTHON_INCLUDE_DIRS})
  link_directories(${PYTHON_LIBRARIES})
  
  add_library(Spenvis  SHARED pySpenvisCSV.cc SpenvisCSV.cc SpenvisCSVCollection.cc)
  TARGET_LINK_LIBRARIES(Spenvis ${Boost_LIBRARIES} ${PYTHON_LIBRARIES})
  </code></pre>
  
  <p>Taking advice, I ran the following command in the directory with CMakeLists.txt file:</p>
  
  <pre><code>cmake -DPYTHON_LIBRARY='/usr/lib64/libpython2.6.so.1.0'
  </code></pre>
  
  <p>This churned out:</p>
  
  <pre><code>Boost  found.
  Found Boost components:
     python
  -- Found PythonLibs: /usr/lib64/libpython2.6.so.1.0 (found version "2.7.1") 
  -- Found PythonLibs: /usr/lib64/libpython2.6.so.1.0 (found suitable version "2.7.1", minimum required is "2.6") 
  -- Configuring done
  -- Generating done
  -- Build files have been written to: blahblahblah
  </code></pre>
  
  <p>Going back to run the install.py program now returns:</p>
  
  <pre><code>-- Boost version: 1.41.0
  -- Found the following Boost libraries:
  --   python
  -- Found PythonLibs: /usr/local/lib64/libpython2.6.so.1.0 (found version "2.6.6") 
  -- Found PythonLibs: /usr/local/lib64/libpython2.6.so.1.0 (found suitable version "2.6.6", minimum required is "2.6") 
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /home/smh/Linux/Desktop/gras original/gras-03-03/python/python_utilities/spenvis_csv/build
  make[2]: *** No rule to make target `/usr/local/lib64/libpython2.6.so.1.0', needed by `source/libSpenvis.so'.  Stop.
  </code></pre>
  
  <p>So, the same error is returned, only now it is claiming it's finding python libraries. Strangely, though, the python libraries it is finding don't exist, which is to say, there is no libpython2.6.so.1.0 in /usr/<strong>local</strong>/lib64   but instead it is located in /usr/lib64. </p>
  
  <p>In the CMakeCache.txt, the lines concerning the desired library are as followed:</p>
  
  <pre><code>//No help, variable specified on the command line.
  PYTHON_LIBRARIES:UNINITIALIZED=/usr/lib64/libpython2.6.so.1.0
  
  //Path to a library.
  PYTHON_LIBRARY:FILEPATH=/usr/lib64/libpython2.6.so
  
  //Dependencies for the target
  Spenvis_LIB_DEPENDS:STATIC=optimized;boost_python-mt-shared;debug;boost_python-mt-shared-debug;general;/usr/lib64/libpython2.6.so;
  
  //Details about finding PythonLibs
  FIND_PACKAGE_MESSAGE_DETAILS_PythonLibs:INTERNAL=[/usr/lib64/libpython2.6.so][/usr/local/include/python2.7][v2.7.1(2.6)]
  </code></pre>