Skip to content

Commit

Permalink
Merge for 2.2.0 release.
Browse files Browse the repository at this point in the history
  • Loading branch information
benmwebb committed Apr 8, 2014
2 parents 3fa5bc7 + 9a8a637 commit dc6303d
Show file tree
Hide file tree
Showing 2,805 changed files with 169,605 additions and 117,419 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -17,3 +17,4 @@ modules/*/dependency/CMakeLists.txt
modules/*/test/CMakeLists.txt
modules/*/examples/CMakeLists.txt
applications/*/CMakeLists.txt
Files.cmake
3 changes: 3 additions & 0 deletions .gitmodules
Expand Up @@ -5,3 +5,6 @@
[submodule "tools/git/gitflow"]
path = tools/git/gitflow
url = ../gitflow_imp.git
[submodule "modules/module_template"]
path = modules/module_template
url = ../module_template.git
3 changes: 3 additions & 0 deletions .imp_info.py
@@ -0,0 +1,3 @@
{
"name": "IMP"
}
59 changes: 59 additions & 0 deletions .travis.yml
@@ -0,0 +1,59 @@
language: cpp
branches:
only:
- develop
compiler:
- gcc
env:
# Make has issues with multiple targets and parallel builds
- BUILD="IMP.base IMP.test IMP.benchmark" TEST=IMP.base PERCPP=base:benchmark
- BUILD="IMP.algebra -j 2" TEST=XXX PERCPP=algebra
- BUILD="IMP.kernel IMP.container" TEST=XXX PERCPP=kernel:container
- BUILD="-j 2 IMP.core" TEST=XXX PERCPP=core:score_functor
- BUILD="-j 2 IMP.rmf" TEST=XXX PERCPP=rmf
#- TEST=XXX BUILD="-j 2 IMP.algebra" PERCPP=algebra
- TEST=XXX BUILD="-j 2 IMP.atom" PERCPP=atom
#- TEST=XXX BUILD="-j 2 IMP.base" PERCPP=base
#- TEST=XXX BUILD="-j 2 IMP.cgal" PERCPP=cgal
#- TEST=XXX BUILD="-j 2 IMP.cnmultifit" PERCPP=cnmultifit
- TEST=XXX BUILD="-j 2 IMP.display" PERCPP=display
- TEST=XXX BUILD="-j 2 IMP.domino" PERCPP=domino
- TEST=XXX BUILD="-j 2 IMP.em" PERCPP=em
#- TEST=XXX BUILD="-j 2 IMP.em2d" PERCPP=em2d
- TEST=XXX BUILD="-j 2 IMP.example" PERCPP=example
#- TEST=XXX BUILD="-j 2 IMP.gsl" PERCPP=gsl
# very slow
#- TEST=XXX BUILD="-j 2 IMP.isd" PERCPP=isd
- TEST=XXX BUILD="-j 2 IMP.kinematics" PERCPP=kinematics
- TEST=XXX BUILD="-j 2 IMP.kmeans" PERCPP=kmeans
- TEST=XXX BUILD="-j 2 IMP.misc" PERCPP=misc
#- TEST=XXX BUILD="-j 2 IMP.modeller" PERCPP=modeller
#- TEST=XXX BUILD="-j 2 IMP.mpi" PERCPP=mpi
#- TEST=XXX BUILD="-j 2 IMP.multifit" PERCPP=multifit
#- TEST=XXX BUILD="-j 2 IMP.parallel" PERCPP=parallel
# no C++, lots of dependencies
#- TEST=XXX BUILD="-j 2 IMP.pepdock" PERCPP=pepdock
- TEST=XXX BUILD="-j 2 IMP.rotamer" PERCPP=rotamer
- TEST=XXX BUILD="-j 2 IMP.saxs" PERCPP=saxs
#- TEST=XXX BUILD="-j 2 IMP.score_functor" PERCPP=score_functor
# boring
# - TEST=XXX BUILD="-j 2 IMP.scratch" PERCPP=scratch
- TEST=XXX BUILD="-j 2 IMP.statistics" PERCPP=statistics
- TEST=XXX BUILD="-j 2 IMP.symmetry" PERCPP=symmetry
#- TEST=XXX BUILD="-j 2 IMP.test" PERCPP=test


git:
submodules: false

before_install:
- sudo apt-get update -qq
- sudo apt-get install -qq libboost$BOOST-all-dev swig libhdf5-serial-dev
- ./setup_git.py

script:
- mkdir ../build
- cd ../build
- cmake ../imp -DIMP_PER_CPP_COMPILATION=$PERCPP
- make -k $BUILD
- ctest -j 2 -R $TEST
52 changes: 34 additions & 18 deletions CMakeLists.txt
Expand Up @@ -3,32 +3,43 @@ cmake_minimum_required(VERSION 2.8.3)
project(IMP)

set_property(GLOBAL PROPERTY USE_FOLDERS ON)

if(${CMAKE_BINARY_DIR} MATCHES "${CMAKE_SOURCE_DIR}/.*")
message(FATAL_ERROR "Building in the source directory not supported: ${CMAKE_SOURCE_DIR} includes ${CMAKE_BINARY_DIR}")
endif()

include(${CMAKE_SOURCE_DIR}/CMakeModules/ExecuteProcess.cmake)
include(${CMAKE_SOURCE_DIR}/CMakeModules/CheckCompiles.cmake)
execute_process(COMMAND python setup_git.py
RESULT_VARIABLE setup
OUTPUT_VARIABLE toutput
ERROR_VARIABLE error
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT ${setup} EQUAL 0)
message(FATAL_ERROR " Failed to run setup_git.py: ${setup}; ${error}")
endif()

include(${CMAKE_SOURCE_DIR}/modules/rmf/dependency/RMF_source/cmake_modules/IMPExecuteProcess.cmake)
include(${CMAKE_SOURCE_DIR}/modules/rmf/dependency/RMF_source/cmake_modules/IMPAddTests.cmake)
include(${CMAKE_SOURCE_DIR}/modules/rmf/dependency/RMF_source/cmake_modules/CheckCompiles.cmake)

imp_execute_process("check_common_problems" ${CMAKE_SOURCE_DIR} COMMAND ${CMAKE_SOURCE_DIR}/tools/build/check_common_problems.py)

imp_execute_process("clean_build_dir" ${CMAKE_BINARY_DIR} COMMAND ${CMAKE_SOURCE_DIR}/tools/build/clean_build_dir.py)

imp_execute_process("setup_cmake" ${CMAKE_SOURCE_DIR} COMMAND ${CMAKE_SOURCE_DIR}/tools/build/setup_cmake.py)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/CMakeModules)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/modules/rmf/dependency/RMF_source/cmake_modules)

enable_testing()

include(${CMAKE_SOURCE_DIR}/modules/rmf/dependency/RMF_source/cmake_modules/IMPFindC++11.cmake)
include(${CMAKE_SOURCE_DIR}/modules/rmf/dependency/RMF_source/cmake_modules/IMPFindCompilerFlags.cmake)

if(POLICY CMP0017)
cmake_policy(SET CMP0017 NEW)
endif(POLICY CMP0017)

if(APPLE)
list(APPEND CMAKE_CXX_FLAGS "-w")
list(REMOVE_DUPLICATES CMAKE_CXX_FLAGS)
endif(APPLE)

set(IMP_TEST_SETUP ${PROJECT_BINARY_DIR}/setup_imp.py)

set(timeout_factor 1)
set(IMP_SWIG_PATH CACHE STRING "List of places for swig to search")
Expand Down Expand Up @@ -139,14 +150,15 @@ imp_execute_process("setup" ${CMAKE_BINARY_DIR} COMMAND ${CMAKE_SOURCE_DIR}/tool
--disabled=${IMP_DISABLED_MODULES}
--datapath=${IMP_DATAPATH})

imp_execute_process("setup_containers" ${CMAKE_BINARY_DIR}
COMMAND ${CMAKE_SOURCE_DIR}/tools/build/setup_containers.py
${CMAKE_SOURCE_DIR})

imp_execute_process("setup_all" ${CMAKE_BINARY_DIR}
COMMAND ${CMAKE_SOURCE_DIR}/tools/build/setup_all.py
--source=${CMAKE_SOURCE_DIR})

include(${PROJECT_SOURCE_DIR}/tools/build/cmake_files/MakeContainers.cmake)

imp_execute_process("making containers" ${CMAKE_BINARY_DIR}
COMMAND ${CMAKE_SOURCE_DIR}/tools/build/make_containers.py)

imp_execute_process("setup_module_alias for compatibility" ${CMAKE_BINARY_DIR}
COMMAND ${CMAKE_SOURCE_DIR}/tools/build/setup_module_alias.py
--source=${CMAKE_SOURCE_DIR} --module=base --alias=compatibility --deprecate=2.1)
Expand All @@ -155,6 +167,9 @@ imp_execute_process("setup_module_alias for kernel" ${CMAKE_BINARY_DIR}
COMMAND ${CMAKE_SOURCE_DIR}/tools/build/setup_module_alias.py
--source=${CMAKE_SOURCE_DIR} --module=kernel "--alias=")




# Don't link in libpython (that prevents the extension from being used in
# later compatible versions of Python), except on Windows where all DLL
# symbols must be defined
Expand Down Expand Up @@ -225,6 +240,7 @@ add_custom_target("IMP-version"
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Computing version number")


# configure modules
file(STRINGS "${CMAKE_BINARY_DIR}/data/build_info/sorted_modules" modules)

Expand All @@ -236,6 +252,7 @@ endforeach(mod)
file(STRINGS "${CMAKE_BINARY_DIR}/data/build_info/sorted_modules" enabled_modules)

if(NOT DEFINED IMP_NO_SWIG_DEPENDENCIES)
# the make_containers.py call is needed to let swig find all headers it needs
imp_execute_process("setup_swig_dependencies" ${CMAKE_BINARY_DIR}
COMMAND ${CMAKE_SOURCE_DIR}/tools/build/setup_swig_deps.py
"--swig=${SWIG_EXECUTABLE}")
Expand Down Expand Up @@ -266,10 +283,6 @@ foreach(app ${applications})
add_subdirectory("${CMAKE_SOURCE_DIR}/applications/${app}")
endforeach(app)

if(${IMP_DOXYGEN_FOUND})
imp_execute_process("setup_doxygen_config" ${CMAKE_BINARY_DIR} COMMAND ${CMAKE_SOURCE_DIR}/tools/build/setup_doxygen_config.py "--source=${CMAKE_SOURCE_DIR}")
endif()

list(INSERT IMP_PYTHONPATH 0 "${CMAKE_BINARY_DIR}/lib")
list(INSERT IMP_LDPATH 0 "${CMAKE_BINARY_DIR}/lib")
list(INSERT IMP_PATH 0 "${CMAKE_BINARY_DIR}/bin")
Expand Down Expand Up @@ -297,7 +310,8 @@ if(IMP_DOXYGEN_FOUND)
file(GLOB docs ${CMAKE_SOURCE_DIR}/doc/*.dox
${CMAKE_SOURCE_DIR}/doc/*.md)

add_custom_target(IMP-doc ALL
add_custom_target(IMP-doc
COMMAND ${CMAKE_SOURCE_DIR}/tools/build/setup_doxygen_config.py "--source=${CMAKE_SOURCE_DIR}"
COMMAND ${IMP_DOXYGEN_EXECUTABLE} doxygen/Doxyfile.xml
COMMAND ${CMAKE_SOURCE_DIR}/tools/build/make_cross_refs.py
COMMAND ${IMP_DOXYGEN_EXECUTABLE} doxygen/Doxyfile.html
Expand All @@ -315,11 +329,13 @@ if(IMP_DOXYGEN_FOUND)
COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_BINARY_DIR}/doc/tutorial" "${CMAKE_INSTALL_FULL_DOCDIR}/tutorial"
DEPENDS "IMP-doc"
COMMENT "Installing documentation to ${CMAKE_INSTALL_FULL_DOCDIR}")
else()
message(STATUS "Documentation disabled as doxygen not found")
endif(IMP_DOXYGEN_FOUND)

# Install headers
install(FILES ${CMAKE_BINARY_DIR}/include/IMP.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install_deref(${CMAKE_BINARY_DIR}/include/IMP *.h ${CMAKE_INSTALL_INCLUDEDIR}/IMP)
install_deref(${CMAKE_BINARY_DIR}/include/IMP * ${CMAKE_INSTALL_INCLUDEDIR}/IMP)

# Install Python modules
install_deref(${CMAKE_BINARY_DIR}/lib/IMP * ${CMAKE_INSTALL_PYTHONDIR}/IMP)
Expand Down
28 changes: 0 additions & 28 deletions CMakeModules/CheckCompiles.cmake

This file was deleted.

76 changes: 0 additions & 76 deletions CMakeModules/ExecuteProcess.cmake

This file was deleted.

0 comments on commit dc6303d

Please sign in to comment.