| PROJECT(BTL) |
| |
| CMAKE_MINIMUM_REQUIRED(VERSION 2.4) |
| |
| set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) |
| include(MacroOptionalAddSubdirectory) |
| |
| OPTION(BTL_NOVEC "Disable SSE/Altivec optimizations when possible" OFF) |
| |
| SET(CMAKE_INCLUDE_CURRENT_DIR ON) |
| |
| IF(CMAKE_COMPILER_IS_GNUCXX) |
| SET(CMAKE_CXX_FLAGS "-g0 -O3 -DNDEBUG") |
| SET(CMAKE_Fortran_FLAGS "-g0 -O3 -DNDEBUG") |
| IF(NOT BTL_NOVEC) |
| SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2") |
| SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -msse2") |
| ELSE(NOT BTL_NOVEC) |
| SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DEIGEN_DONT_VECTORIZE") |
| ENDIF(NOT BTL_NOVEC) |
| ENDIF(CMAKE_COMPILER_IS_GNUCXX) |
| |
| include_directories( |
| ${PROJECT_SOURCE_DIR}/actions |
| ${PROJECT_SOURCE_DIR}/generic_bench |
| ${PROJECT_SOURCE_DIR}/generic_bench/utils |
| ${PROJECT_SOURCE_DIR}/libs/STL) |
| |
| |
| MACRO(BTL_ADD_BENCH targetname) |
| |
| foreach(_current_var ${ARGN}) |
| set(_last_var ${_current_var}) |
| endforeach(_current_var) |
| |
| set(_sources ${ARGN}) |
| list(LENGTH _sources _argn_length) |
| |
| list(REMOVE_ITEM _sources ON OFF TRUE FALSE) |
| |
| list(LENGTH _sources _src_length) |
| |
| if (${_argn_length} EQUAL ${_src_length}) |
| set(_last_var ON) |
| endif (${_argn_length} EQUAL ${_src_length}) |
| |
| OPTION(BUILD_${targetname} "Build benchmark ${targetname}" ${_last_var}) |
| |
| IF(BUILD_${targetname}) |
| ADD_EXECUTABLE(${targetname} ${_sources}) |
| ADD_TEST(${targetname} "${targetname}") |
| ENDIF(BUILD_${targetname}) |
| |
| ENDMACRO(BTL_ADD_BENCH) |
| |
| ENABLE_TESTING() |
| |
| add_subdirectory(libs/eigen2) |
| add_subdirectory(libs/hand_vec) |
| add_subdirectory(libs/gmm) |
| add_subdirectory(libs/mtl4) |
| add_subdirectory(libs/ublas) |
| add_subdirectory(libs/blitz) |
| add_subdirectory(libs/tvmet) |
| add_subdirectory(libs/C_BLAS) |
| add_subdirectory(libs/f77) |
| add_subdirectory(libs/C) |
| add_subdirectory(libs/STL) |
| add_subdirectory(libs/STL_algo) |
| |
| add_subdirectory(data) |
| |