Unverified Commit 57332f89 authored by Cole's avatar Cole Committed by GitHub
Browse files

Merge pull request #28 from Kelvinrr/conda

conda support
parents ad05688a 371834f4
Loading
Loading
Loading
Loading

environment.yml

0 → 100644
+104 −0
Original line number Diff line number Diff line
name: isisdeps
channels:
- anaconda
- inria-pro-sed
- krodriguez
- conda-forge
- usgs-astrogeology
- defaults
dependencies:
- libgcc=4.8.5=1
- blas=1.1=openblas
- boost=1.65.1=py27_0
- boost-cpp=1.65.1=1
- bzip2=1.0.6=1
- ca-certificates=2018.1.18=0
- cairo=1.14.6=4
- certifi=2018.1.18=py27_0
- cmake=3.9.1=0
- cspice=66=0
- curl=7.55.1=0
- dbus=1.10.22=0
- doxygen=1.8.14=0
- eigen=3.3.3=0
- expat=2.2.5=0
- ffmpeg=3.2.4=3
- flann=1.8.4=0
- fontconfig=2.12.1=4
- freetype=2.7=1
- geos=3.5.1=1
- geotiff=1.4.2=1
- gettext=0.19.8.1=0
- giflib=5.1.4=0
- glib=2.51.4=0
- gsl=2.2.1=blas_openblas_3
- harfbuzz=1.3.4=2
- hdf5=1.8.18=3
- icu=58.2=0
- jasper=1.900.1=4
- jpeg=9b=2
- krb5=1.14.2=0
- lapack=3.6.1=1
- libffi=3.2.1=3
- libgfortran=3.0.0=0
- libiconv=1.15=0
- libpng=1.6.28=2
- libssh2=1.8.0=2
- libtiff=4.0.9=0
- libuv=1.11.0=0
- libwebp=0.5.2=7
- libxcb=1.12=1
- libxml2=2.9.7=0
- m4=1.4.17=1
- metis=5.1.0=3
- nanoflann=1.2.2=0
- ncurses=5.9=10
- ninja=1.7.2=0
- nn=1.86.0=2
- numpy=1.13.3=py27_blas_openblas_200
- openblas=0.2.19=2
- opencv=3.3.0=py27_blas_openblas_200
- openssl=1.0.2n=0
- pcre=8.39=0
- pip=9.0.1=py27_1
- pixman=0.34.0=1
- proj4=4.9.3=5
- protobuf=3.2.0=py27_0
- python=2.7.14=4
- qt=5.6.2=h9e3eb04_4
- qwt=6.1.3=1
- readline=7.0=0
- rhash=1.3.4=0
- setuptools=38.5.1=py27_0
- six=1.11.0=py27_1
- sqlite=3.20.1=2
- suitesparse=4.5.4=blas_openblas_200
- superlu=5.2.1=blas_openblas_201
- tk=8.6.7=0
- wheel=0.30.0=py27_2
- x264=20131217=3
- xorg-kbproto=1.0.7=1
- xorg-libx11=1.6.4=6
- xorg-libxau=1.0.8=3
- xorg-libxdmcp=1.1.2=3
- xorg-xproto=7.0.31=6
- xz=5.2.3=0
- zlib=1.2.11=0
- openmpi=1.8.6=4
- parmetis=4.0.3p2=1
- jama=125=0
- tnt=126=0
- bullet=2.86.1=he2aa7b0_0
- ds9=7.5=h35e3669_0
- embree=2.16.0=h6834224_0
- gmm=5.0=h6aef312_0
- naif=n0066
- patchelf=0.9=h879b6ae_0
- pcl=1.8.1=h7a71350_0
- qhull=7.2.0=h396fa31_0
- tbb=4.4=hf7780a4_0
- vtk=7.1.1=py27h56fd973_0
- xalan-c=1.11=h1922a5c_0
- xerces-c=3.1.4=h10f7eb2_0
prefix: /Users/krodriguez-pr/anaconda3/envs/isisdeps
+3 −6
Original line number Diff line number Diff line
@@ -99,12 +99,9 @@ else()
  message(WARNING "Isis3TestData directory ${isis3TestData} not found, application and module tests will fail.")
endif()

#if(EXISTS ${CMAKE_INSTALL_PREFIX})
#  set(ENV{CMAKE_INSTALL_PREFIX} "${CMAKE_INSTALL_PREFIX}")
#  message("Using INSTALL PREFIX = $ENV{CMAKE_INSTALL_PREFIX}")
#else()
#  message(WARNING "Isis3TestData directory ${CMAKE_INSTALL_PREFIX} not found, application and module tests will fail.")
#endif()
if(develop)
  
endif()

if(${testOutputDir} STREQUAL "OFF")
  message("Writing test data folders to = ${CMAKE_BINARY_DIR}/testOutputDir")
+1 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ function(add_isis_app folder libDependencies)

  # Have the app install with the real name, not the internal name.
  target_link_libraries(${internalAppName} ${libDependencies})

  set_target_properties(${internalAppName} PROPERTIES OUTPUT_NAME ${appName})
  install(TARGETS ${internalAppName} DESTINATION bin)

+21 −183
Original line number Diff line number Diff line
#===============================================================================
#==============================================================================
# High level script to handle all required 3rd party dependencies
# - All of them are expected to be in the 3rdParty folder, this script does not
#   go looking for them if they are not?
#===============================================================================

message("CONDA PREFIX: $ENV{CONDA_PREFIX}")
list(APPEND CMAKE_FIND_ROOT_PATH $ENV{CONDA_PREFIX} $ENV{CONDA_PREFIX}/lib/cmake/Qt5)

# Add search USGS maintained libraries
list(APPEND CMAKE_INCLUDE_PATH
  /usgs/pkgs/local/v007/include/
  /usgs/pkgs/local/v007/bin/
  /usgs/pkgs/local/v007/lib/
  /usgs/pkgs/local/v007/objects/
  /usgs/pkgs/local/v007/include/google-protobuf/protobuf2.6.1/
  /usgs/pkgs/local/v007/include/xercesc/xercesc-3.1.2/
  /usgs/pkgs/local/v007/include/tiff/tiff-4.0.5/
  /usgs/pkgs/local/v007/include/googleprotobuf/protobuf2.6.1/
  /usgs/pkgs/local/v007/include/xercesc/xercesc3.1.2/
  /usgs/pkgs/local/v007/include/tiff/tiff4.0.5/
  /usr/lib64/
)

@@ -39,25 +43,15 @@ set(CMAKE_PREFIX_PATH
  /usr/local/lib/
)

# Specify top level directories
set(thirdPartyDir "/usgs/pkgs/local/v007")
set(INCLUDE_DIR "${thirdPartyDir}/include")
set(LIB_DIR     "${thirdPartyDir}/lib")
set(PLUGIN_DIR  "${thirdPartyDir}/plugins")
set(BIN_DIR     "${thirdPartyDir}/bin")
set(LIC_DIR     "${thirdPartyDir}/license")

# Set up plugin dir for OSX to correctly find qt5 plugins for installing
if(APPLE)
  set(thirdPartyDir "/opt/usgs/v007")
  set(PLUGIN_DIR "${thirdPartyDir}/ports/libexec/qt5/plugins")
endif(APPLE)


# Add thirdPartyCppFlags
set(thirdPartyCppFlags ${thirdPartyCppFlags} -DGMM_USES_SUPERLU)
set(thirdPartyCppFlags ${thirdPartyCppFlags} "-DENABLEJP2K=${JP2KFLAG}")

# Flag to fix numeric literals problem with boost on linux
if(NOT APPLE)
  set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals )
endif()

# Paths to required executables
find_program(XALAN Xalan REQUIRED)
find_program(LATEX latex)
@@ -67,34 +61,30 @@ find_program(MOC moc REQUIRED)
find_program(RCC rcc REQUIRED)
find_program(PROTOC protoc REQUIRED)

# message(STATUS "${CMAKE_PREFIX_PATH}")

include(FindProtobuf)

if(APPLE)
  find_package(OpenGL            REQUIRED)
  find_package(Qt5 COMPONENTS
                  Core
                  Concurrent
                  DBus
                  # DBus
                  Gui
                  Multimedia
                  MultimediaWidgets
                  Network
                  OpenGL # Needed to install mesa-common-dev for this!
                  Positioning
                  # Positioning
                  PrintSupport
                  Qml
                  Quick
                  Script
                  ScriptTools
                  Sensors
                  # Sensors
                  Sql
                  Svg
                  Test
                  WebChannel
                  WebEngine
                  WebEngineWidgets
                  #WebKit
                  #WebKitWidgets
                  Widgets
                  Xml
                  XmlPatterns REQUIRED)
@@ -153,7 +143,6 @@ else() # oh god why
  find_library(QT5_XMLPATTERNS_LIBRARY           NAMES Qt5XmlPatterns)
endif(APPLE)


# Some of these will have non-traditional installs with version numbers in the paths in v007
# For these, we pass in a version number, and use it in the path suffix
# This only applies to v007, and outside of the building, we should only expect standard installs
@@ -179,6 +168,8 @@ find_package(TIFF 4.0.5 REQUIRED) # "tiff/tiff-${TIFF_FIND_VERSION}"
find_package(TNT       126     REQUIRED) # TNT version is 1.2.6, but v007 directory is "tnt/tnt126/"
find_package(XercesC   3.1.2   REQUIRED) # "xercesc/xercesc-${XercesC_FIND_VERSION}/"
find_package(X11       6       REQUIRED)
find_package(nanoflann         REQUIRED)
find_package(PNG               REQUIRED)
find_package(Kakadu)


@@ -186,6 +177,7 @@ find_package(Kakadu)
# Im this case, we specify the version numbers being searched for in the non-traditional installs.
if(APPLE)
  find_package(Geos    3.5.0   REQUIRED)
  find_package(OpenGL            REQUIRED)
else(APPLE)
  find_package(Geos    3.5.1   REQUIRED)
endif(APPLE)
@@ -199,7 +191,6 @@ foreach (_variableName ${_variableNames})
      list(APPEND ALLINCDIRS "${${_variableName}}")
    endif(_variableName MATCHES ".+_INCLUDE_DIR$")
endforeach()
list(APPEND ALLINCDIRS "/opt/usgs/v007/ports/include/" "/opt/usgs/v007/3rdParty/include/")

foreach (_variableName ${_variableNames})
    if (_variableName MATCHES "^CMAKE+")
@@ -228,156 +219,3 @@ list(REMOVE_DUPLICATES ALLLIBDIRS)
list(REMOVE_DUPLICATES ALLLIBS)
list(REMOVE_DUPLICATES ALLINCDIRS)
# message(STATUS "ALL LIBS DIRS: ${ALLLIBDIRS}")
# message(STATUS "ALL LIBS: ${ALLLIBS}")
# message(STATUS "ALL INCS: ${ALLINCDIRS}")
#---------------------------------------------------------------------------
#  Define the third party distribution libraries (patterns)
#---------------------------------------------------------------------------

# On OSX we need to include a LOT of extra libraries!
set(EXTRA_DYNAMIC_LIBS)
if(APPLE)
  set(extras
    # QT dependencies
    libpcre16*.dylib
    libgthread-*.dylib
    libpcre.*dylib
    libharfbuzz*.dylib
    libgraphite2.*dylib
    libleveldb*.dylib*
    libsnappy.*dylib
    libwebp*.dylib
    libdbus*.dylib
    libiconv*.dylib
    liblzma*.dylib
    libz*.dylib
    libssl*.dylib
    libcrypto*.dylib
    libpng*.dylib
    libjpeg.*dylib
    libmng.*dylib
    liblcms2.*dylib
    libsqlite3.*dylib
    postgresql*/libpq.*dylib
    mysql56/mysql/libmysqlclient*.dylib
    libiodbc*.dylib
    # OpenCV dependancies
    libtbb*.dylib
    libjasper*.dylib
    libImath*.dylib
    libIlmImf*.dylib
    libIex*.dylib
    libHalf*.dylib
    libIlmThread*.dylib
    libswscale*.dylib
    # Secondary requirements to all OpenCV dependancies
    libSDL-1*.dylib
    libnettle*.dylib
    libhogweed*.dylib
    libgmp*.dylib
    libxvidcore*.dylib
    libx264*.dylib
    libvorbisenc*.dylib
    libvorbis*.dylib
    libogg*.dylib
    libtheoraenc*.dylib
    libtheoradec*.dylib
    libspeex*.dylib
    libschroedinger-1*.dylib
    libopus*.dylib
    libopenjpeg*.dylib
    libmp3lame*.dylib
    libmodplug*.dylib
    libfreetype*.dylib
    libbluray*.dylib
    libass*.dylib
    libgnutls*.dylib
    libbz2*.dylib
    libXrandr*.dylib
    libXext*.dylib
    libXrender*.dylib
    libX11*.dylib
    libxcb*.dylib
    libXau*.dylib
    libXdmcp*.dylib
    liborc-0*.dylib
    libxml2*.dylib
    libfribidi*.dylib
    libfontconfig*.dylib
    libexpat*.dylib
    libintl*.dylib
    libglib-*.dylib
    libp11-kit*.dylib
    libffi*.dylib
    # OpenCV3 dependencies
    libavresample*.dylib
    libxcb-shm*.dylib
    libsoxr*.dylib
    libopenjp2*.dylib
    libOpenNI*.dylib
    libswresample*.dylib
    libidn*.dylib
    libtasn1*.dylib
    libusb*.dylib
    # libxerces-c depends on these libraries
    libicui18n*.dylib
    libicuuc*.dylib
    libicudata*.dylib
    # libgeotiff depends on these libraries
    libproj*.dylib)

else() # Linux
  set(extras libtbb.so*)
endif()

set(EXTRALIBDIR ${LIB_DIR})
foreach(lib ${extras})
  set(EXTRA_DYNAMIC_LIBS ${EXTRA_DYNAMIC_LIBS} ${EXTRALIBDIR}/${lib})
endforeach()

# message("EXTRA_DYNAMIC_LIBS = ${EXTRA_DYNAMIC_LIBS}")

#  Libraries
set(THIRDPARTYLIBS)

set(RAW_DYNAMIC_LIBS ${QT_DYNAMIC_LIBS}
                     ${QWT_DYNAMIC_LIBS}
                     ${XERCES_DYNAMIC_LIBS}
                     ${GEOTIFF_DYNAMIC_LIBS}
                     ${HDF5_DYNAMIC_LIBS}
                     ${TIFF_DYNAMIC_LIBS}
                     ${NAIF_DYNAMIC_LIBS}
                     ${GEOS_DYNAMIC_LIBS}
                     ${GSL_DYNAMIC_LIBS}
                     ${SUPERLU_DYNAMIC_LIBS}
                     ${PROTOBUF_DYNAMIC_LIBS}
                     ${KAKADU_DYNAMIC_LIBS} # Empty if not available
                     ${CHOLMOD_DYNAMIC_LIBS}
                     ${OPENCV_DYNAMIC_LIBS}
                     ${EXTRA_DYNAMIC_LIBS})

# message("THIRDPARTYLIBS = ${RAW_DYNAMIC_LIBS}")

# For each item in this list, expand the wildcard to get the actual library list.
foreach(lib ${RAW_DYNAMIC_LIBS})
  string(FIND "${lib}" "*" position)
  if(${position} EQUAL -1)
    # No wildcard, just add it.
    set(THIRDPARTYLIBS ${THIRDPARTYLIBS} ${lib})
  else()
    # Expand wildcard, then add.
    file(GLOB expandedLibs ${lib})
    set(THIRDPARTYLIBS ${THIRDPARTYLIBS} ${expandedLibs})
  endif()
endforeach()

# message("THIRDPARTYLIBS = ${THIRDPARTYLIBS}")

# Plugins
file(GLOB_RECURSE THIRDPARTYPLUGINS "${PLUGIN_DIR}/*${SO}")
file(GLOB THIRDPARTYPLUGINFOLDERS "${PLUGIN_DIR}/*")

# message("third party libs = ${THIRDPARTYLIBS}")
# message("third party plugins = ${THIRDPARTYPLUGINS}")
# message("third party plugins folders = ${THIRDPARTYPLUGINFOLDERS}")
+0 −4
Original line number Diff line number Diff line
@@ -129,10 +129,6 @@ find_library(BOOST_WAVE_MT_LIBRARY
  NAMES boost_wave-mt boost_wave
)

#tjw:  not being linked against by ISIS presently
#find_library(BOOST_LOCAL_MT_LIBRARY
#  NAMES boost_locale-mt boost_locale
#)
find_library(BOOST_RANDOM_MT_LIBRARY
  NAMES boost_random-mt boost_random
)
Loading