Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
P
ProMod3
Manage
Activity
Members
Plan
Jira
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container registry
Model registry
Analyze
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
schwede
ProMod3
Commits
c05bb471
Commit
c05bb471
authored
10 years ago
by
Bienchen
Browse files
Options
Downloads
Patches
Plain Diff
Update CMakeLists.txt in docu
parent
d5da2788
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
CMakeLists.txt
+3
-3
3 additions, 3 deletions
CMakeLists.txt
doc/contributing.rst
+123
-101
123 additions, 101 deletions
doc/contributing.rst
with
126 additions
and
104 deletions
CMakeLists.txt
+
3
−
3
View file @
c05bb471
...
...
@@ -18,9 +18,9 @@ set(PROMOD3_VERSION_MINOR 1)
set
(
PROMOD3_VERSION_PATCH 0
)
set
(
PROMOD3_VERSION_STRING
${
PROMOD3_VERSION_MAJOR
}
.
${
PROMOD3_VERSION_MINOR
}
.
${
PROMOD3_VERSION_PATCH
}
)
option
(
DISABLE_DOCUMENTATION
"
whether to compile with shader support
"
OFF
)
option
(
DISABLE_DISABLE_DOCTEST
"
whether to co
mp
i
le
with shader support
"
OFF
)
option
(
DISABLE_DISABLE_LINKCHECK
"
whether to compile with shader support
"
OFF
)
option
(
DISABLE_DOCUMENTATION
"
Do not build documentation
"
OFF
)
option
(
DISABLE_DISABLE_DOCTEST
"
Do not check exa
mple
s in documentation
"
OFF
)
option
(
DISABLE_DISABLE_LINKCHECK
"
Do not check links in the documentation
"
OFF
)
if
(
CMAKE_COMPILER_IS_GNUCXX
)
exec_program
(
gcc ARGS --version OUTPUT_VARIABLE CMAKE_C_COMPILER_VERSION
)
...
...
This diff is collapsed.
Click to expand it.
doc/contributing.rst
+
123
−
101
View file @
c05bb471
...
...
@@ -189,7 +189,7 @@ the Internet. Nevertheless, here is a short list of most important advices:
:file:`tests/data`
* If 'exotic' |python| modules are used, consider making the test aware of the
possibility that the module is not available
* Test do not fail on purpose
* Test
s
do not fail on purpose
* No failing tests, that are considered 'this does not affect anything'
To run the whole test suite, ``make check`` is enough. This will also trigger
...
...
@@ -359,108 +359,130 @@ top level :file:`CMakeLists.txt`:
.. code-block:: cmake
:linenos:
:emphasize-lines: 83
#-------------------------------------------------------------------------------
# Author: Bienchen
#-------------------------------------------------------------------------------
# Options to CMake:
# DISABLE_DOCUMENTATION: Don't build documentation, don't search for Sphinx
# DISABLE_DOCTEST: Don't run example code from documentation on 'make check'
# DISABLE_LINKCHECK: Don't test links from documentation on 'make check'
# (if documentation is disabled, there is no doctest, linkcheck at all)
cmake_minimum_required(VERSION 2.6.4 FATAL_ERROR)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake_support)
project(PROMOD3 CXX C)
include(PROMOD3)
set(PROMOD3_VERSION_MAJOR 0)
set(PROMOD3_VERSION_MINOR 1)
set(PROMOD3_VERSION_PATCH 0)
set(PROMOD3_VERSION_STRING ${PROMOD3_VERSION_MAJOR}.${PROMOD3_VERSION_MINOR}.${PROMOD3_VERSION_PATCH})
if (CMAKE_COMPILER_IS_GNUCXX)
exec_program(gcc ARGS --version OUTPUT_VARIABLE CMAKE_C_COMPILER_VERSION)
if(CMAKE_C_COMPILER_VERSION MATCHES ".*4\\.[5-9].*")
set(PROMOD_GCC_45 true)
else()
set(PROMOD_GCC_45 false)
endif()
endif()
if (OPTIMIZE)
set(CMAKE_BUILD_TYPE Release)
set(_OPT ON)
else()
set(CMAKE_BUILD_TYPE Debug)
set(_OPT OFF)
endif()
setup_stage()
file(MAKE_DIRECTORY ${STAGE_DIR}
${EXECUTABLE_OUTPUT_PATH}
${HEADER_STAGE_PATH}
${LIB_STAGE_PATH}
${LIBEXEC_STAGE_PATH})
setup_compiler_flags()
setup_boost()
find_package(Python 2.7 REQUIRED)
if(NOT DISABLE_DOCUMENTATION)
find_package(Sphinx ${PYTHON_VERSION} REQUIRED)
set(PYTHON_DOC_URL "https://docs.python.org/${PYTHON_VERSION}")
# set this to the URL corresponding to the version of OST you are using
set(OST_DOC_URL "http://www.openstructure.org/docs/1.3")
endif()
find_package(OPENSTRUCTURE 1.4 REQUIRED
COMPONENTS io mol seq seq_alg mol_alg conop)
find_package(QMEAN 1.0 REQUIRED)
if (CMAKE_COMPILER_IS_GNUCXX)
# do not write back into cache, otherwise the compile command line gets
# expanded with multiple -fno-strict-aliasing flags, triggering a complete
# rebuild whenever cmake is run
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-strict-aliasing")
if("${CMAKE_CXX_COMPILER_VERSION}" VERSION_GREATER "4.6")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-attributes")
endif("${CMAKE_CXX_COMPILER_VERSION}" VERSION_GREATER "4.6")
endif()
# basic environment
include_directories(${Boost_INCLUDE_DIRS}
${OST_INCLUDE_DIR}
${QMEAN_INCLUDE_DIR})
set(FILES_TO_BE_REMOVED ${PROJECT_BINARY_DIR}/stage)
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
"${FILES_TO_BE_REMOVED}")
## sub dirs to be recognised by CMake
## e.g. add_subdirectory(src), subdirs have their own CMakeLists.txt
add_subdirectory(config)
add_subdirectory(core)
add_subdirectory(meld)
add_subdirectory(sidechains)
add_subdirectory(scripts)
add_subdirectory(actions)
add_subdirectory(extras)
if(NOT DISABLE_DOCUMENTATION)
add_changelog_to_doc(FILE "${CMAKE_CURRENT_SOURCE_DIR}/CHANGELOG")
add_subdirectory(doc)
endif()
## report setup
message(STATUS "PROMOD3 will be built with the following options:\n"
" OpenStructure (-DOST_ROOT) : ${OST_ROOT}\n"
" QMEAN (-DQMEAN_ROOT) : ${QMEAN_ROOT}\n"
" Optimized (-DOPTIMIZE) : ${_OPT}\n"
" Python : ${PYTHON_BINARY}\n")
:emphasize-lines: 103
#-------------------------------------------------------------------------------
# Author: Bienchen
#-------------------------------------------------------------------------------
# Options to CMake:
# DISABLE_DOCUMENTATION: Don't build documentation, don't search for Sphinx
# DISABLE_DOCTEST: Don't run example code from documentation on 'make check'
# DISABLE_LINKCHECK: Don't test links from documentation on 'make check'
# (if documentation is disabled, there is no doctest, linkcheck at all)
cmake_minimum_required(VERSION 2.6.4 FATAL_ERROR)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake_support)
project(ProMod3 CXX C)
include(PROMOD3)
set(PROMOD3_VERSION_MAJOR 0)
set(PROMOD3_VERSION_MINOR 1)
set(PROMOD3_VERSION_PATCH 0)
set(PROMOD3_VERSION_STRING ${PROMOD3_VERSION_MAJOR}.${PROMOD3_VERSION_MINOR}.${PROMOD3_VERSION_PATCH})
option(DISABLE_DOCUMENTATION "Do not build documentation" OFF)
option(DISABLE_DISABLE_DOCTEST "Do not check examples in documentation" OFF)
option(DISABLE_DISABLE_LINKCHECK "Do not check links in the documentation" OFF)
if (CMAKE_COMPILER_IS_GNUCXX)
exec_program(gcc ARGS --version OUTPUT_VARIABLE CMAKE_C_COMPILER_VERSION)
if(CMAKE_C_COMPILER_VERSION MATCHES ".*4\\.[5-9].*")
set(PROMOD_GCC_45 true)
else()
set(PROMOD_GCC_45 false)
endif()
endif()
if (OPTIMIZE)
set(CMAKE_BUILD_TYPE Release)
set(_OPT ON)
else()
set(CMAKE_BUILD_TYPE Debug)
set(_OPT OFF)
endif()
setup_stage()
file(MAKE_DIRECTORY ${STAGE_DIR}
${EXECUTABLE_OUTPUT_PATH}
${HEADER_STAGE_PATH}
${LIB_STAGE_PATH}
${LIBEXEC_STAGE_PATH})
setup_compiler_flags()
setup_boost()
find_package(Python 2.7 REQUIRED)
if(NOT DISABLE_DOCUMENTATION)
find_package(Sphinx ${PYTHON_VERSION} REQUIRED)
set(PYTHON_DOC_URL "https://docs.python.org/${PYTHON_VERSION}")
# set this to the URL corresponding to the version of OST you are using
set(OST_DOC_URL "http://www.openstructure.org/docs/1.3")
endif()
find_package(OPENSTRUCTURE 1.4 REQUIRED
COMPONENTS io mol seq seq_alg mol_alg conop)
find_package(QMEAN 1.0 REQUIRED)
#The KIC loop closing algorithm requires a solver for a generalized eigen
#problem. Eigen3 would provide such a solver, but only allows to extract
#the resulting eigenvalues and not the eigenvectors.
#As soon as there is an Eigen3 release with the required functionality,
#The Lapack dependency can be dropped.
find_package(LAPACK)
if (CMAKE_COMPILER_IS_GNUCXX)
# do not write back into cache, otherwise the compile command line gets
# expanded with multiple -fno-strict-aliasing flags, triggering a complete
# rebuild whenever cmake is run
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-strict-aliasing")
if("${CMAKE_CXX_COMPILER_VERSION}" VERSION_GREATER "4.6")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-attributes")
endif("${CMAKE_CXX_COMPILER_VERSION}" VERSION_GREATER "4.6")
endif()
# additional packages/ headers/ etc.
# Eigen3 is mandatory right now but may vanish once OST switches to the same
# version.
find_package(Eigen3 3.2.1 REQUIRED)
if(NOT EIGEN3_FOUND)
message(FATAL_ERROR "Eigen3 is essential for building ${PROJECT_NAME}.")
endif()
# basic environment
include_directories(${Boost_INCLUDE_DIRS}
${OST_INCLUDE_DIR}
${QMEAN_INCLUDE_DIR}
${EIGEN3_INCLUDE_DIR})
set(FILES_TO_BE_REMOVED ${PROJECT_BINARY_DIR}/stage)
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
"${FILES_TO_BE_REMOVED}")
## sub dirs to be recognised by CMake
## e.g. add_subdirectory(src), subdirs have their own CMakeLists.txt
add_subdirectory(config)
add_subdirectory(core)
add_subdirectory(meld)
add_subdirectory(sidechains)
add_subdirectory(loop)
add_subdirectory(scripts)
add_subdirectory(actions)
add_subdirectory(extras)
if(NOT DISABLE_DOCUMENTATION)
add_changelog_to_doc(FILE "${CMAKE_CURRENT_SOURCE_DIR}/CHANGELOG")
add_subdirectory(doc)
endif()
## report setup
message(STATUS "${PROJECT_NAME} will be built with the following options:\n"
" OpenStructure (-DOST_ROOT) : ${OST_ROOT}\n"
" QMEAN (-DQMEAN_ROOT) : ${QMEAN_ROOT}\n"
" Optimized (-DOPTIMIZE) : ${_OPT}\n"
" Python : ${PYTHON_BINARY}\n"
" Eigen3 : ${EIGEN3_INCLUDE_DIR}\n")
All that needs to be done for |cmake| to recognise your module is adding its
directory as shown in line
8
3.
directory as shown in line
10
3.
This was the final step to set up the build system. Running |cmake| at this
point would create the build environment in place. But building software in
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment