Loading isis/CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,6 @@ cmake_minimum_required(VERSION 3.4) # Point cmake to our other CMake files. list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") # always look for framworks last set(CMAKE_FIND_FRAMEWORK LAST) include(AddIsisModule) Loading Loading @@ -106,6 +105,7 @@ endif() if(${testOutputDir} STREQUAL "OFF") message("Writing test data folders to = ${CMAKE_BINARY_DIR}/testOutputDir") set(testOutputDir "${CMAKE_BINARY_DIR}/testOutputDir") execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/testOutputDir) else() # User specified a test output folder, make sure it exists. Loading isis/Jenkinsfile 0 → 100644 +62 −0 Original line number Diff line number Diff line pipeline { agent { docker { label 'cmake' image 'chrisryancombs/docker_isis' args '''\ -v /usgs/pkgs/local/v007:/usgs/pkgs/local/v007 \ -v /usgs/cpkgs/isis3/data:/usgs/cpkgs/isis3/data \ -v /usgs/cpkgs/isis3/testData:/usgs/cpkgs/isis3/testData\ ''' } } environment { ISISROOT="${workspace}" + "/build/" ISIS3TESTDATA="/usgs/cpkgs/isis3/testData/" ISIS3DATA="/usgs/cpkgs/isis3/data/" } stages { stage('Config') { steps { sh """ mkdir -p ./install ./build && cd build cmake -GNinja -DCMAKE_INSTALL_PREFIX=../install -Disis3Data=/usgs/cpkgs/isis3/data -Disis3TestData=/usgs/cpkgs/isis3/testData ../isis \ """ } } stage('Build') { steps { sh """ set +e cd build ninja -j8 && ninja install """ } } stage('Test'){ steps { sh """ export PATH="${PATH}:${ISISROOT}/bin" set +e cd build ctest -j8 -R _unit_ ctest -j8 -R _app_ ctest -j8 -R _module_ """ } } } // post { // success { // sh 'pwd && ls' // archiveArtifacts artifacts: "build/objects/*.o" // } // always { // mail to: 'ccombs@usgs.gov', // subject: "Build Finished: ${currentBuild.fullDisplayName}", // body: "Link: ${env.BUILD_URL}" // sh "rm -rf build/* && rm -rf install/*" // cleanWs() // } // } } isis/cmake/FindAllDependencies.cmake +84 −27 Original line number Diff line number Diff line Loading @@ -61,8 +61,8 @@ find_program(MOC moc REQUIRED) find_program(RCC rcc REQUIRED) find_program(PROTOC protoc REQUIRED) include(FindProtobuf) if(APPLE) find_package(OpenGL REQUIRED) find_package(Qt5 COMPONENTS Core Concurrent Loading @@ -88,6 +88,60 @@ find_package(Qt5 COMPONENTS Widgets Xml XmlPatterns REQUIRED) else() # oh god why find_path(QT5_CORE_INCLUDE_DIR NAMES qchar.h PATH_SUFFIXES qt/qt5.7.1/QtCore/) find_path(QT5_CONCURRENT_INCLUDE_DIR NAMES qtconcurrentmap.h PATH_SUFFIXES qt/qt5.7.1/QtConcurrent) find_path(QT5_DBUS_INCLUDE_DIR NAMES qdbusmacros.h PATH_SUFFIXES qt/qt5.7.1/QtDBus) find_path(QT5_GUI_INCLUDE_DIR NAMES qpainter.h PATH_SUFFIXES qt/qt5.7.1/QtGui) find_path(QT5_MULTIMEDIA_INCLUDE_DIR NAMES qmediacontent.h PATH_SUFFIXES qt/qt5.7.1/QtMultimedia) find_path(QT5_MULTIMEDIAWIDGETS_INCLUDE_DIR NAMES qvideowidget.h PATH_SUFFIXES qt/qt5.7.1/QtMultimediaWidgets) find_path(QT5_NETWORK_INCLUDE_DIR NAMES qsslsocket.h PATH_SUFFIXES qt/qt5.7.1/QtNetwork) find_path(QT5_OPENGL_INCLUDE_DIR NAMES qtopenglglobal.h PATH_SUFFIXES qt/qt5.7.1/QtOpenGL) find_path(QT5_POSITIONING_INCLUDE_DIR NAMES qgeocoordinate.h PATH_SUFFIXES qt/qt5.7.1/QtPositioning) find_path(QT5_PRINTSUPPORT_INCLUDE_DIR NAMES qprinter.h PATH_SUFFIXES qt/qt5.7.1/QtPrintSupport) find_path(QT5_QML_INCLUDE_DIR NAMES qqmlinfo.h PATH_SUFFIXES qt/qt5.7.1/QtQml) find_path(QT5_QUICK_INCLUDE_DIR NAMES qquickview.h PATH_SUFFIXES qt/qt5.7.1/QtQuick) # find_path(QT5_SCRIPT_INCLUDE_DIR NAMES qscriptengine.h PATH_SUFFIXES qt/qt5.7.1/QtScript) #find_path(QT5_SCRIPTTOOLS_INCLUDE_DIR NAMES qtscripttoolsversion.h PATH_SUFFIXES qt/qt5.7.1/QtScriptTools) find_path(QT5_SENSORS_INCLUDE_DIR NAMES qgyroscope.h PATH_SUFFIXES qt/qt5.7.1/QtSensors) find_path(QT5_SQL_INCLUDE_DIR NAMES qsql.h PATH_SUFFIXES qt/qt5.7.1/QtSql) find_path(QT5_SVG_INCLUDE_DIR NAMES qsvgwidget.h PATH_SUFFIXES qt/qt5.7.1/QtSvg) find_path(QT5_TEST_INCLUDE_DIR NAMES qtest.h PATH_SUFFIXES qt/qt5.7.1/QtTest) find_path(QT5_WEBCHANNEL_INCLUDE_DIR NAMES qwebchannel.h PATH_SUFFIXES qt/qt5.7.1/QtWebChannel) find_path(QT5_WEBENGINE_INCLUDE_DIR NAMES qtwebengineglobal.h PATH_SUFFIXES qt/qt5.7.1/QtWebEngine) find_path(QT5_WEBENGINEWIDGETS_INCLUDE_DIR NAMES qwebenginescript.h PATH_SUFFIXES qt/qt5.7.1/QtWebEngineWidgets) find_path(QT5_WIDGETS_INCLUDE_DIR NAMES qwidget.h PATH_SUFFIXES qt/qt5.7.1/QtWidgets) find_path(QT5_XML_INCLUDE_DIR NAMES qxml.h PATH_SUFFIXES qt/qt5.7.1/QtXml) find_path(QT5_XMLPATTERNS_INCLUDE_DIR NAMES qtxmlpatternsglobal.h PATH_SUFFIXES qt/qt5.7.1/QtXmlPatterns) get_filename_component(QT5_ROOT_INCLUDE_DIR "${QT5_CORE_INCLUDE_DIR}" DIRECTORY) find_library(QT5_CORE_LIBRARY NAMES Qt5Core) find_library(QT5_CONCURRENT_LIBRARY NAMES Qt5Concurrent) find_library(QT5_DBUS_LIBRARY NAMES Qt5DBus) find_library(QT5_GUI_LIBRARY NAMES Qt5Gui) find_library(QT5_MULTIMEDIA_LIBRARY NAMES Qt5Multimedia) find_library(QT5_MULTIMEDIAWIDGETS_LIBRARY NAMES Qt5MultimediaWidgets) find_library(QT5_NETWORK_LIBRARY NAMES Qt5Network) find_library(QT5_OPENGL_LIBRARY NAMES Qt5OpenGL) find_library(QT5_POSITIONING_LIBRARY NAMES Qt5Positioning) find_library(QT5_PRINTSUPPORT_LIBRARY NAMES Qt5PrintSupport) find_library(QT5_QML_LIBRARY NAMES Qt5Qml) find_library(QT5_QUICK_LIBRARY NAMES Qt5Quick) find_library(QT5_SCRIPT_LIBRARY NAMES Qt5Script) find_library(QT5_SCRIPTTOOLS_LIBRARY NAMES Qt5ScriptTools) find_library(QT5_SENSORS_LIBRARY NAMES Qt5Sensors) find_library(QT5_SQL_LIBRARY NAMES Qt5Sql) find_library(QT5_SVG_LIBRARY NAMES Qt5Svg) find_library(QT5_TEST_LIBRARY NAMES Qt5Test) find_library(QT5_WEBCHANNEL_LIBRARY NAMES Qt5WebChannel) find_library(QT5_WEBENGINE_LIBRARY NAMES Qt5WebEngine) find_library(QT5_WEBENGINECORE_LIBRARY NAMES Qt5WebEngineCore) find_library(QT5_WEBENGINEWIDGETS_LIBRARY NAMES Qt5WebEngineWidgets) find_library(QT5_WIDGETS_LIBRARY NAMES Qt5Widgets) find_library(QT5_XML_LIBRARY NAMES Qt5Xml) 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 Loading @@ -106,6 +160,7 @@ find_package(HDF5 1.8.15 REQUIRED) find_package(Jama 125 REQUIRED) # Jama version is 1.2.5, but v007 directory is "jama/jama125/" find_package(NN REQUIRED) find_package(OpenCV 3.1.0 REQUIRED) find_package(OpenGL REQUIRED) find_package(PCL 1.8 REQUIRED) # "pcl-${PCL_FIND_VERSION}" find_package(Protobuf 2.6.1 REQUIRED) # "google-protobuf/protobuf${Protobuf_FIND_VERSION}/" find_package(Qwt 6 REQUIRED) # "qwt${Qwt_FIND_VERSION}" Loading @@ -118,6 +173,7 @@ find_package(nanoflann REQUIRED) find_package(PNG REQUIRED) find_package(Kakadu) # v007 might have different versions installed for our mac and linux systems. # Im this case, we specify the version numbers being searched for in the non-traditional installs. if(APPLE) Loading Loading @@ -163,3 +219,4 @@ endforeach() list(REMOVE_DUPLICATES ALLLIBDIRS) list(REMOVE_DUPLICATES ALLLIBS) list(REMOVE_DUPLICATES ALLINCDIRS) isis/cmake/FindCholmod.cmake +8 −6 Original line number Diff line number Diff line Loading @@ -25,12 +25,14 @@ endif() # Dependencies for lapack # add gcc location for MacOS # if(APPLE) find_library(FORTRAN_LIBRARY NAMES gfortran NAMES gfortran PATHS /opt/usgs/v007/ports/lib/gcc5/ ) find_library(BLAS_LIBRARY NAMES blas) # endif(APPLE) get_filename_component(CHOLMOD_ROOT_INCLUDE_DIR "${CHOLMOD_INCLUDE_DIR}" DIRECTORY) Loading isis/cmake/FindOpenGL.cmake 0 → 100644 +27 −0 Original line number Diff line number Diff line # CMake module for find_package(OpenGL) # Finds include directory and all applicable libraries # # Sets the following: # KAKADU_INCLUDE_DIR # KAKADU_A_LIBRARY # KAKADU_V_LIBRARY find_path(OPENGL_INCLUDE_DIR NAME gl.h PATH_SUFFIXES GL HINTS GL ) find_library(GL_LIBRARY NAMES GL ) find_library(GLU_LIBRARY NAMES GLU ) message("==================") message(${OPENGL_INCLUDE_DIR}) message(${GL_LIBRARY}) message(${GLU_LIBRARY}) get_filename_component(OPENGL_INCLUDE_DIR "${OPENGL_INCLUDE_DIR}" DIRECTORY) Loading
isis/CMakeLists.txt +1 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,6 @@ cmake_minimum_required(VERSION 3.4) # Point cmake to our other CMake files. list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") # always look for framworks last set(CMAKE_FIND_FRAMEWORK LAST) include(AddIsisModule) Loading Loading @@ -106,6 +105,7 @@ endif() if(${testOutputDir} STREQUAL "OFF") message("Writing test data folders to = ${CMAKE_BINARY_DIR}/testOutputDir") set(testOutputDir "${CMAKE_BINARY_DIR}/testOutputDir") execute_process(COMMAND mkdir -p ${CMAKE_BINARY_DIR}/testOutputDir) else() # User specified a test output folder, make sure it exists. Loading
isis/Jenkinsfile 0 → 100644 +62 −0 Original line number Diff line number Diff line pipeline { agent { docker { label 'cmake' image 'chrisryancombs/docker_isis' args '''\ -v /usgs/pkgs/local/v007:/usgs/pkgs/local/v007 \ -v /usgs/cpkgs/isis3/data:/usgs/cpkgs/isis3/data \ -v /usgs/cpkgs/isis3/testData:/usgs/cpkgs/isis3/testData\ ''' } } environment { ISISROOT="${workspace}" + "/build/" ISIS3TESTDATA="/usgs/cpkgs/isis3/testData/" ISIS3DATA="/usgs/cpkgs/isis3/data/" } stages { stage('Config') { steps { sh """ mkdir -p ./install ./build && cd build cmake -GNinja -DCMAKE_INSTALL_PREFIX=../install -Disis3Data=/usgs/cpkgs/isis3/data -Disis3TestData=/usgs/cpkgs/isis3/testData ../isis \ """ } } stage('Build') { steps { sh """ set +e cd build ninja -j8 && ninja install """ } } stage('Test'){ steps { sh """ export PATH="${PATH}:${ISISROOT}/bin" set +e cd build ctest -j8 -R _unit_ ctest -j8 -R _app_ ctest -j8 -R _module_ """ } } } // post { // success { // sh 'pwd && ls' // archiveArtifacts artifacts: "build/objects/*.o" // } // always { // mail to: 'ccombs@usgs.gov', // subject: "Build Finished: ${currentBuild.fullDisplayName}", // body: "Link: ${env.BUILD_URL}" // sh "rm -rf build/* && rm -rf install/*" // cleanWs() // } // } }
isis/cmake/FindAllDependencies.cmake +84 −27 Original line number Diff line number Diff line Loading @@ -61,8 +61,8 @@ find_program(MOC moc REQUIRED) find_program(RCC rcc REQUIRED) find_program(PROTOC protoc REQUIRED) include(FindProtobuf) if(APPLE) find_package(OpenGL REQUIRED) find_package(Qt5 COMPONENTS Core Concurrent Loading @@ -88,6 +88,60 @@ find_package(Qt5 COMPONENTS Widgets Xml XmlPatterns REQUIRED) else() # oh god why find_path(QT5_CORE_INCLUDE_DIR NAMES qchar.h PATH_SUFFIXES qt/qt5.7.1/QtCore/) find_path(QT5_CONCURRENT_INCLUDE_DIR NAMES qtconcurrentmap.h PATH_SUFFIXES qt/qt5.7.1/QtConcurrent) find_path(QT5_DBUS_INCLUDE_DIR NAMES qdbusmacros.h PATH_SUFFIXES qt/qt5.7.1/QtDBus) find_path(QT5_GUI_INCLUDE_DIR NAMES qpainter.h PATH_SUFFIXES qt/qt5.7.1/QtGui) find_path(QT5_MULTIMEDIA_INCLUDE_DIR NAMES qmediacontent.h PATH_SUFFIXES qt/qt5.7.1/QtMultimedia) find_path(QT5_MULTIMEDIAWIDGETS_INCLUDE_DIR NAMES qvideowidget.h PATH_SUFFIXES qt/qt5.7.1/QtMultimediaWidgets) find_path(QT5_NETWORK_INCLUDE_DIR NAMES qsslsocket.h PATH_SUFFIXES qt/qt5.7.1/QtNetwork) find_path(QT5_OPENGL_INCLUDE_DIR NAMES qtopenglglobal.h PATH_SUFFIXES qt/qt5.7.1/QtOpenGL) find_path(QT5_POSITIONING_INCLUDE_DIR NAMES qgeocoordinate.h PATH_SUFFIXES qt/qt5.7.1/QtPositioning) find_path(QT5_PRINTSUPPORT_INCLUDE_DIR NAMES qprinter.h PATH_SUFFIXES qt/qt5.7.1/QtPrintSupport) find_path(QT5_QML_INCLUDE_DIR NAMES qqmlinfo.h PATH_SUFFIXES qt/qt5.7.1/QtQml) find_path(QT5_QUICK_INCLUDE_DIR NAMES qquickview.h PATH_SUFFIXES qt/qt5.7.1/QtQuick) # find_path(QT5_SCRIPT_INCLUDE_DIR NAMES qscriptengine.h PATH_SUFFIXES qt/qt5.7.1/QtScript) #find_path(QT5_SCRIPTTOOLS_INCLUDE_DIR NAMES qtscripttoolsversion.h PATH_SUFFIXES qt/qt5.7.1/QtScriptTools) find_path(QT5_SENSORS_INCLUDE_DIR NAMES qgyroscope.h PATH_SUFFIXES qt/qt5.7.1/QtSensors) find_path(QT5_SQL_INCLUDE_DIR NAMES qsql.h PATH_SUFFIXES qt/qt5.7.1/QtSql) find_path(QT5_SVG_INCLUDE_DIR NAMES qsvgwidget.h PATH_SUFFIXES qt/qt5.7.1/QtSvg) find_path(QT5_TEST_INCLUDE_DIR NAMES qtest.h PATH_SUFFIXES qt/qt5.7.1/QtTest) find_path(QT5_WEBCHANNEL_INCLUDE_DIR NAMES qwebchannel.h PATH_SUFFIXES qt/qt5.7.1/QtWebChannel) find_path(QT5_WEBENGINE_INCLUDE_DIR NAMES qtwebengineglobal.h PATH_SUFFIXES qt/qt5.7.1/QtWebEngine) find_path(QT5_WEBENGINEWIDGETS_INCLUDE_DIR NAMES qwebenginescript.h PATH_SUFFIXES qt/qt5.7.1/QtWebEngineWidgets) find_path(QT5_WIDGETS_INCLUDE_DIR NAMES qwidget.h PATH_SUFFIXES qt/qt5.7.1/QtWidgets) find_path(QT5_XML_INCLUDE_DIR NAMES qxml.h PATH_SUFFIXES qt/qt5.7.1/QtXml) find_path(QT5_XMLPATTERNS_INCLUDE_DIR NAMES qtxmlpatternsglobal.h PATH_SUFFIXES qt/qt5.7.1/QtXmlPatterns) get_filename_component(QT5_ROOT_INCLUDE_DIR "${QT5_CORE_INCLUDE_DIR}" DIRECTORY) find_library(QT5_CORE_LIBRARY NAMES Qt5Core) find_library(QT5_CONCURRENT_LIBRARY NAMES Qt5Concurrent) find_library(QT5_DBUS_LIBRARY NAMES Qt5DBus) find_library(QT5_GUI_LIBRARY NAMES Qt5Gui) find_library(QT5_MULTIMEDIA_LIBRARY NAMES Qt5Multimedia) find_library(QT5_MULTIMEDIAWIDGETS_LIBRARY NAMES Qt5MultimediaWidgets) find_library(QT5_NETWORK_LIBRARY NAMES Qt5Network) find_library(QT5_OPENGL_LIBRARY NAMES Qt5OpenGL) find_library(QT5_POSITIONING_LIBRARY NAMES Qt5Positioning) find_library(QT5_PRINTSUPPORT_LIBRARY NAMES Qt5PrintSupport) find_library(QT5_QML_LIBRARY NAMES Qt5Qml) find_library(QT5_QUICK_LIBRARY NAMES Qt5Quick) find_library(QT5_SCRIPT_LIBRARY NAMES Qt5Script) find_library(QT5_SCRIPTTOOLS_LIBRARY NAMES Qt5ScriptTools) find_library(QT5_SENSORS_LIBRARY NAMES Qt5Sensors) find_library(QT5_SQL_LIBRARY NAMES Qt5Sql) find_library(QT5_SVG_LIBRARY NAMES Qt5Svg) find_library(QT5_TEST_LIBRARY NAMES Qt5Test) find_library(QT5_WEBCHANNEL_LIBRARY NAMES Qt5WebChannel) find_library(QT5_WEBENGINE_LIBRARY NAMES Qt5WebEngine) find_library(QT5_WEBENGINECORE_LIBRARY NAMES Qt5WebEngineCore) find_library(QT5_WEBENGINEWIDGETS_LIBRARY NAMES Qt5WebEngineWidgets) find_library(QT5_WIDGETS_LIBRARY NAMES Qt5Widgets) find_library(QT5_XML_LIBRARY NAMES Qt5Xml) 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 Loading @@ -106,6 +160,7 @@ find_package(HDF5 1.8.15 REQUIRED) find_package(Jama 125 REQUIRED) # Jama version is 1.2.5, but v007 directory is "jama/jama125/" find_package(NN REQUIRED) find_package(OpenCV 3.1.0 REQUIRED) find_package(OpenGL REQUIRED) find_package(PCL 1.8 REQUIRED) # "pcl-${PCL_FIND_VERSION}" find_package(Protobuf 2.6.1 REQUIRED) # "google-protobuf/protobuf${Protobuf_FIND_VERSION}/" find_package(Qwt 6 REQUIRED) # "qwt${Qwt_FIND_VERSION}" Loading @@ -118,6 +173,7 @@ find_package(nanoflann REQUIRED) find_package(PNG REQUIRED) find_package(Kakadu) # v007 might have different versions installed for our mac and linux systems. # Im this case, we specify the version numbers being searched for in the non-traditional installs. if(APPLE) Loading Loading @@ -163,3 +219,4 @@ endforeach() list(REMOVE_DUPLICATES ALLLIBDIRS) list(REMOVE_DUPLICATES ALLLIBS) list(REMOVE_DUPLICATES ALLINCDIRS)
isis/cmake/FindCholmod.cmake +8 −6 Original line number Diff line number Diff line Loading @@ -25,12 +25,14 @@ endif() # Dependencies for lapack # add gcc location for MacOS # if(APPLE) find_library(FORTRAN_LIBRARY NAMES gfortran NAMES gfortran PATHS /opt/usgs/v007/ports/lib/gcc5/ ) find_library(BLAS_LIBRARY NAMES blas) # endif(APPLE) get_filename_component(CHOLMOD_ROOT_INCLUDE_DIR "${CHOLMOD_INCLUDE_DIR}" DIRECTORY) Loading
isis/cmake/FindOpenGL.cmake 0 → 100644 +27 −0 Original line number Diff line number Diff line # CMake module for find_package(OpenGL) # Finds include directory and all applicable libraries # # Sets the following: # KAKADU_INCLUDE_DIR # KAKADU_A_LIBRARY # KAKADU_V_LIBRARY find_path(OPENGL_INCLUDE_DIR NAME gl.h PATH_SUFFIXES GL HINTS GL ) find_library(GL_LIBRARY NAMES GL ) find_library(GLU_LIBRARY NAMES GLU ) message("==================") message(${OPENGL_INCLUDE_DIR}) message(${GL_LIBRARY}) message(${GLU_LIBRARY}) get_filename_component(OPENGL_INCLUDE_DIR "${OPENGL_INCLUDE_DIR}" DIRECTORY)