123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
- PROJECT(malariaspread CXX C)
- SET (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
- ENABLE_TESTING()
- SET(MODEL_MAJOR 0)
- SET(MODEL_MINOR 1)
- SET(MODEL_PATCH 0)
- SET(MODEL_NAME "${PROJECT_NAME}-${MODEL_MAJOR}.${MODEL_MINOR}.${MODEL_PATCH}")
- SET(VLE_NAME "${PROJECT_NAME}-${MODEL_MAJOR}.${MODEL_MINOR}")
- ##
- ## Options for compilation of package
- ##
- OPTION(WITH_TEST "will build the test [default: ON]" ON)
- OPTION(WITH_DOC "will compile doc and install it [default: OFF]" OFF)
- OPTION(WITH_WARNINGS "will compile with g++ warnings [default: ON]" ON)
- if (CMAKE_BUILD_TYPE STREQUAL "")
- SET(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Choose the type of build" FORCE)
- endif ()
- if (CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX)
- if (NOT WITH_WARNINGS)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
- else (NOT WITH_WARNINGS)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")
- endif (NOT WITH_WARNINGS)
- if ("${CMAKE_BUILD_TYPE}" EQUAL "Debug" OR "${CMAKE_BUILD_TYPE}" EQUAL "RelWithDebInfo")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ggdb3")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ggdb3")
- endif ()
- endif ()
- ##
- ## Modules
- ##
- INCLUDE(CheckIncludeFileCXX)
- INCLUDE(CheckIncludeFile)
- INCLUDE(CheckLibraryExists)
- INCLUDE(CMakeDetermineCCompiler)
- ##
- ## Check VLE and package dependencies
- ##
- set(VLE_DEBUG 0)
- set(VLE_ABI_VERSION 1.2)
- find_package(VLE REQUIRED)
- set (VleUtils_DIR "${CMAKE_SOURCE_DIR}/cmake")
- find_package(VleUtils REQUIRED)
- VleCheckDependencies()
- ##
- ## Find boost
- ##
- set(Boost_USE_STATIC_LIBS OFF)
- set(Boost_USE_MULTITHREAD ON)
- find_package(Boost COMPONENTS unit_test_framework date_time)
- ##
- ## Generate the doxygen
- ##
- FIND_PACKAGE(Doxygen)
- IF (DOXYGEN AND WITH_DOC)
- SET(DOXYGEN_SOURCE_DIR "${PROJECT_SOURCE_DIR}/src")
- SET(DOXYGEN_OUTPUT_MODELING_DIR "${PROJECT_BINARY_DIR}/doxygen/modeling")
- SET(DOXYGEN_OUTPUT_SOURCE_DIR "${PROJECT_BINARY_DIR}/doxygen/sources")
- CONFIGURE_FILE("cmake/doxygen-modeling.conf.in"
- "${PROJECT_BINARY_DIR}/doxygen-modeling.conf")
- CONFIGURE_FILE("cmake/doxygen-sources.conf.in"
- "${PROJECT_BINARY_DIR}/doxygen-sources.conf")
- FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/doxygen")
- FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/doxygen/modeling")
- FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/doxygen/sources")
- ADD_CUSTOM_COMMAND(
- OUTPUT "${PROJECT_BINARY_DIR}/doxygen/modeling/index.html"
- DEPENDS "${PROJECT_BINARY_DIR}/doxygen-modeling.conf"
- COMMAND "${DOXYGEN}"
- ARGS "${PROJECT_BINARY_DIR}/doxygen-modeling.conf")
- ADD_CUSTOM_COMMAND(
- OUTPUT "${PROJECT_BINARY_DIR}/doxygen/sources/index.html"
- DEPENDS "${PROJECT_BINARY_DIR}/doxygen-sources.conf"
- COMMAND "${DOXYGEN}"
- ARGS "${PROJECT_BINARY_DIR}/doxygen-sources.conf")
- ADD_CUSTOM_TARGET(doc_modeling ALL DEPENDS
- "${PROJECT_BINARY_DIR}/doxygen-modeling.conf"
- "${PROJECT_BINARY_DIR}/doxygen/modeling/index.html" VERBATIM)
- ADD_CUSTOM_TARGET(doc_sources ALL DEPENDS
- "${PROJECT_BINARY_DIR}/doxygen-sources.conf"
- "${PROJECT_BINARY_DIR}/doxygen/sources/index.html" VERBATIM)
- INSTALL(DIRECTORY "${PROJECT_BINARY_DIR}/doxygen/modeling/html" DESTINATION
- "doc/html/modeling")
- INSTALL(DIRECTORY "${PROJECT_BINARY_DIR}/doxygen/sources/html" DESTINATION
- "doc/html/sources")
- ENDIF (DOXYGEN AND WITH_DOC)
- ##
- ## Subdirectory
- ##
- add_subdirectory(data)
- if (WITH_DOC)
- add_subdirectory(doc)
- endif ()
- add_subdirectory(exp)
- add_subdirectory(src)
- if (Boost_UNIT_TEST_FRAMEWORK_FOUND AND WITH_TEST)
- add_subdirectory(test)
- endif (Boost_UNIT_TEST_FRAMEWORK_FOUND AND WITH_TEST)
- ##
- ## CPack configuration
- ##
- INSTALL(FILES Authors.txt Description.txt License.txt News.txt Readme.txt
- DESTINATION .)
- INCLUDE(CMakeCPack.cmake)
|