Commit 10c1880c authored by Adam Goins's avatar Adam Goins
Browse files

Merge branch 'cmake' of github.com:USGS-Astrogeology/ISIS3 into dev_merge

parents 91dc2392 08b16365
Loading
Loading
Loading
Loading
+41 −30
Original line number Diff line number Diff line
pipeline { 
    agent none 
    environment {
        ISISROOT="${workspace}" + "/build/"
        ISIS3TESTDATA="/usgs/cpkgs/isis3/testData/"
        ISIS3DATA="/usgs/cpkgs/isis3/data/"
    }
    stages {
        stage('Fedora25') {
            agent {
                docker {
                    label 'cmake'
@@ -6,45 +14,48 @@ pipeline {
                    args  '''\
                            -v /usgs/cpkgs/isis3/data:/usgs/cpkgs/isis3/data \
                            -v /usgs/cpkgs/isis3/testData:/usgs/cpkgs/isis3/testData\
                            -v /usgs/cpkgs/isis3/isis3mgr_scripts:/usgs/cpkgs/isis3/isis3mgr_scripts
                          '''  
                }
            }
    environment {
        ISISROOT="${workspace}" + "/build/"
        ISIS3TESTDATA="/usgs/cpkgs/isis3/testData/"
        ISIS3DATA="/usgs/cpkgs/isis3/data/"
    }
    stages {
        stage('Config') { 
            steps { 
                sh """
                    conda env create -n isis3 -f environment.yml
                    source activate isis3
                    mkdir -p ./install ./build && cd build
                    cmake -GNinja -DJP2KFLAG=ON -DCMAKE_INSTALL_PREFIX=../install -Disis3Data=/usgs/cpkgs/isis3/data -Disis3TestData=/usgs/cpkgs/isis3/testData ../isis \
                   """
            }
        }
        stage('Build') { 
            steps {
                sh """
                    export PATH="${PATH}:/opt/conda/envs/isis3/bin"
                    source /usgs/cpkgs/isis3/isis3mgr_scripts/initIsisCmake.sh .
                    cmake -GNinja -DJP2KFLAG=OFF -Dpybindings=OFF -DCMAKE_INSTALL_PREFIX=../install -Disis3Data=/usgs/cpkgs/isis3/data -Disis3TestData=/usgs/cpkgs/isis3/testData ../isis
                    set +e
                    cd build
                    ninja -j8 && ninja install
                    source /usgs/cpkgs/isis3/isis3mgr_scripts/initIsisCmake.sh .
                    ctest -V -R _unit_ --timeout 500
                    ctest -V -R _app_ --timeout 500
                    ctest -V -R _module_ --timeout 500
                    """
            }
        }
        stage('Test'){
        stage('CentOS7') {
            agent {
                docker {
                    label 'cmake_cool'
                    image 'chrisryancombs/docker_isis_centos'
                    args  '''\
                            -v /usgs/cpkgs/isis3/data:/usgs/cpkgs/isis3/data \
                            -v /usgs/cpkgs/isis3/testData:/usgs/cpkgs/isis3/testData\
                            -v /usgs/cpkgs/isis3/isis3mgr_scripts:/usgs/cpkgs/isis3/isis3mgr_scripts
                          '''  
                }
            }
            steps {
                sh """
                    export PATH="${PATH}:/opt/conda/envs/isis3/bin/:${workspace}/install/bin"
                    export ISISROOT="${workspace}/install"
                    set +e
                    conda env create -n isis3 -f environment.yml
                    source activate isis3
                    cd build
                    ctest -j8 -R _unit_ --timeout 500
                    ctest -j8 -R _app_ --timeout 500
                    ctest -j8 -R _module_ --timeout 500 
                    set +e
                    source /usgs/cpkgs/isis3/isis3mgr_scripts/initIsisCmake.sh .
                    ctest -V -R _unit_ --timeout 500
                    ctest -V -R _app_ --timeout 500
                    ctest -V -R _module_ --timeout 500
                """
            }
        }
+5 −5
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ dependencies:
  - protobuf==3.5.2
  - libprotobuf==3.5.2
  - qwt=6.1.3
  - pyqt==5.6.0
  # - pyqt==5.6.0
  - sip==4.18
  - mysql==5.7.20
  - ninja==1.7.2=0
@@ -40,15 +40,15 @@ dependencies:
  - icu==58.2=0
  - jpeg==9b=2
  - krb5==1.14.2=0
  - libpng==1.6.28=2
  - libpng>=1.6.34
  - libtiff==4.0.9=0
  - libxml2==2.9.7=0
  - mesalib==17.2.0=0
  - mysql-connector-c==6.1.6=0
  - nn==1.86.0=2
  - numpy==1.13.3=py36_blas_openblas_200
  # - numpy==1.13.3=py36_blas_openblas_200
  - openblas==0.2.19=2
  - opencv==3.3.0
  - opencv
  - nanoflann==1.2.2
  - gmm==5.0
  - jama==125
@@ -62,7 +62,7 @@ dependencies:
  - bz2file==0.98
  - bullet==2.86.1=0
  - qhull==7.2.0=0
  - qt=5.6.2
  - qt=5.7.1
  - qwt
  - tnt==126=0
  - xalan-c==1.11
+15 −9
Original line number Diff line number Diff line
@@ -68,8 +68,8 @@ option(buildCore "Build the core ISIS modules" ON )
option(buildMissions   "Build the mission specific modules"             ON  )
option(buildStaticCore "Build libisis3 static as well as dynamic"       OFF )
option(buildTests      "Set up unit, application, and module tests."    ON  )
option(JP2KFLAG        "Whether or not to build using JPEG2000 support" ON  )
option(pybindings      "Turn on to build Python bindings"               ON )
option(JP2KFLAG        "Whether or not to build using JPEG2000 support" OFF )
option(pybindings      "Turn on to build Python bindings"               OFF )

# if cmake install prefix is not set, and conda env is activated, use the
# conda env as the install directory
@@ -168,8 +168,11 @@ set(thirdPartyCppFlags -Wall


# Flag to fix numeric literals problem with boost on linux
# Add gold linker (and therefore, phtread) to speed up linux (spec. Ubuntu18.04) builds
if(NOT APPLE)
  set(thirdPartyCppFlags ${thirdPartyCppFlags} -fext-numeric-literals
  set(thirdPartyCppFlags ${thirdPartyCppFlags} -fuse-ld=gold
	                                       -pthread
					       -fext-numeric-literals
                                               -Wl,-rpath,$ENV{CONDA_PREFIX}/lib)
endif()

@@ -356,11 +359,6 @@ list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .so.3 .so.6 .so.5)
include_directories(SYSTEM ${ALLINCDIRS})
link_directories(${ALLLIBDIRS})

# add isis headers
file(GLOB ISIS_HEADERS ${CMAKE_SOURCE_DIR}/src/*/objs/*/*.h
${CMAKE_SOURCE_DIR}/src/*/objs/*/*.hpp)
file(COPY ${ISIS_HEADERS} DESTINATION ${CMAKE_BINARY_DIR}/inc)

include_directories(${CMAKE_BINARY_DIR}/inc)
set(CORE_LIB_NAME isis3)

@@ -415,7 +413,7 @@ else()
endif()

# Set up documentation build target.
# - This script is called by running "make docs".
# - This script is called by running "ninja docs".
# - This long call passes all desired variables to the script.
add_custom_target(docs COMMAND ${CMAKE_COMMAND}
                  -DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}
@@ -424,6 +422,14 @@ add_custom_target(docs COMMAND ${CMAKE_COMMAND}
                  -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
                  -P ${CMAKE_MODULE_PATH}/BuildDocs.cmake)

# Add custom build target to copy modified header files to the build/incs directory.
# ALL is specified so that the target is added to the default build target, i.e. the copy command 
# will be executed when running "ninja install"
# On a clean build, all files will be copied over.
add_custom_target(incs ALL COMMAND ${CMAKE_COMMAND} -E copy_if_different 
  ${CMAKE_SOURCE_DIR}/src/*/objs/*/*.h ${CMAKE_SOURCE_DIR}/src/*/objs/*/*.hpp ${CMAKE_BINARY_DIR}/inc)
add_dependencies(isis3 incs)

# Add a custom build target to clean out everything that gets added to the source
#  directory during the build process.
# - Only a few things are added in order to make the tests work properly so
+602 −0

File added.

Preview size limit exceeded, changes collapsed.

+479 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading