forked from BVLC/caffe
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge master: keep up with official caffe
- Loading branch information
Showing
327 changed files
with
20,021 additions
and
10,263 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,90 +1,67 @@ | ||
cmake_minimum_required(VERSION 2.8.8) | ||
project( Caffe ) | ||
|
||
### Build Options ########################################################################## | ||
|
||
option(CPU_ONLY "Build Caffe without GPU support" OFF) | ||
option(BUILD_PYTHON "Build Python wrapper" OFF) | ||
option(BUILD_MATLAB "Build Matlab wrapper" OFF) | ||
option(BUILD_EXAMPLES "Build examples" ON) | ||
option(BUILD_SHARED_LIBS "Build SHARED libs if ON and STATIC otherwise" OFF) | ||
|
||
if(NOT BLAS) | ||
set(BLAS atlas) | ||
endif() | ||
|
||
if(NOT CUDA_TEST_DEVICE) | ||
set(CUDA_TEST_DEVICE -1) | ||
cmake_minimum_required(VERSION 2.8.7) | ||
|
||
# ---[ Caffe project | ||
project(Caffe C CXX) | ||
|
||
# ---[ Using cmake scripts and modules | ||
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules) | ||
|
||
include(cmake/Utils.cmake) | ||
include(cmake/Targets.cmake) | ||
include(cmake/Misc.cmake) | ||
include(cmake/Summary.cmake) | ||
include(cmake/ConfigGen.cmake) | ||
|
||
# ---[ Options | ||
caffe_option(CPU_ONLY "Build Caffe wihtout CUDA support" OFF) # TODO: rename to USE_CUDA | ||
caffe_option(USE_CUDNN "Build Caffe with cuDNN libary support" ON IF NOT CPU_ONLY) | ||
caffe_option(BUILD_SHARED_LIBS "Build shared libraries" ON) | ||
caffe_option(BUILD_python "Build Python wrapper" ON) | ||
set(python_version "2" CACHE STRING "Specify which python version to use") | ||
caffe_option(BUILD_matlab "Build Matlab wrapper" OFF IF UNIX OR APPLE) | ||
caffe_option(BUILD_docs "Build documentation" ON IF UNIX OR APPLE) | ||
caffe_option(BUILD_python_layer "Build the caffe python layer" ON) | ||
|
||
# ---[ Dependencies | ||
include(cmake/Dependencies.cmake) | ||
|
||
# ---[ Flags | ||
if(UNIX OR APPLE) | ||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall") | ||
endif() | ||
|
||
# Install Prefix | ||
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) | ||
set (CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "Default install path" FORCE ) | ||
if(USE_libstdcpp) | ||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++") | ||
message("-- Warning: forcing libstdc++ (controlled by USE_libstdcpp option in cmake)") | ||
endif() | ||
|
||
### Configuration ########################################################################### | ||
# Compiler Flags | ||
set(CMAKE_CXX_COMPILER_FLAGS ${CMAKE_CXX_COMPILER_FLAGS} -Wall) | ||
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -fPIC) # set global flags | ||
set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) # set debug flags | ||
set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) # set release flags | ||
add_definitions(-DGTEST_USE_OWN_TR1_TUPLE) | ||
|
||
# Global Definitions | ||
if(CPU_ONLY) | ||
add_definitions(-DCPU_ONLY) | ||
endif() | ||
|
||
# Include Directories | ||
set(${PROJECT_NAME}_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/include) | ||
include_directories(${${PROJECT_NAME}_INCLUDE_DIRS}) | ||
include_directories(${CMAKE_SOURCE_DIR}/src) | ||
|
||
# CMake Scripts dir | ||
set(CMAKE_SCRIPT_DIR ${CMAKE_SOURCE_DIR}/CMakeScripts) | ||
# ---[ Warnings | ||
caffe_warnings_disable(CMAKE_CXX_FLAGS -Wno-sign-compare -Wno-uninitialized) | ||
|
||
# CMake module path for custom module finding | ||
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SCRIPT_DIR}) | ||
|
||
# CUDA is required globally | ||
if(NOT CPU_ONLY) | ||
find_package(CUDA 5.5 REQUIRED) | ||
include_directories(${CUDA_INCLUDE_DIRS}) | ||
endif() | ||
# ---[ Config generation | ||
configure_file(cmake/Templates/caffe_config.h.in "${PROJECT_BINARY_DIR}/caffe_config.h") | ||
|
||
### Subdirectories ########################################################################## | ||
# ---[ Includes | ||
set(Caffe_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include) | ||
include_directories(${Caffe_INCLUDE_DIR} ${PROJECT_BINARY_DIR}) | ||
include_directories(BEFORE src) # This is needed for gtest. | ||
|
||
# ---[ Subdirectories | ||
add_subdirectory(src/gtest) | ||
add_subdirectory(src/caffe) | ||
add_subdirectory(tools) | ||
add_subdirectory(examples) | ||
add_subdirectory(python) | ||
add_subdirectory(matlab) | ||
add_subdirectory(docs) | ||
|
||
if(BUILD_EXAMPLES) | ||
message(STATUS "Examples enabled") | ||
add_subdirectory(examples) | ||
endif() | ||
|
||
if(BUILD_PYTHON) | ||
message(STATUS "Python enabled") | ||
add_subdirectory(python) | ||
endif() | ||
|
||
if(BUILD_MATLAB) | ||
message(STATUS "Matlab enabled") | ||
add_subdirectory(matlab) | ||
endif() | ||
|
||
### Lint Target Setup ########################################################################## | ||
|
||
set(LINT_TARGET lint) | ||
set(LINT_SCRIPT ${CMAKE_SCRIPT_DIR}/lint.cmake) | ||
add_custom_target( | ||
${LINT_TARGET} | ||
COMMAND ${CMAKE_COMMAND} -P ${LINT_SCRIPT} | ||
) | ||
|
||
### Install ################################################################################# | ||
|
||
# Install Includes | ||
file(GLOB folders ${${PROJECT_NAME}_INCLUDE_DIRS}/*) | ||
install(DIRECTORY ${folders} DESTINATION include) | ||
# ---[ Linter target | ||
add_custom_target(lint COMMAND ${CMAKE_COMMAND} -P ${PROJECT_SOURCE_DIR}/cmake/lint.cmake) | ||
|
||
# ---[ Configuration summary | ||
caffe_print_configuration_summary() | ||
|
||
# ---[ Export configs generation | ||
caffe_generate_export_configs() |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.