| |
| |
| |
| macro(caffe_set_caffe_link) |
| if(BUILD_SHARED_LIBS) |
| set(Caffe_LINK caffe) |
| else() |
| if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") |
| set(Caffe_LINK -Wl,-force_load caffe) |
| elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") |
| set(Caffe_LINK -Wl,--whole-archive caffe -Wl,--no-whole-archive) |
| endif() |
| endif() |
| endmacro() |
| |
| |
| |
| |
| function(caffe_source_group group) |
| cmake_parse_arguments(CAFFE_SOURCE_GROUP "" "" "GLOB;GLOB_RECURSE" ${ARGN}) |
| if(CAFFE_SOURCE_GROUP_GLOB) |
| file(GLOB srcs1 ${CAFFE_SOURCE_GROUP_GLOB}) |
| source_group(${group} FILES ${srcs1}) |
| endif() |
|
|
| if(CAFFE_SOURCE_GROUP_GLOB_RECURSE) |
| file(GLOB_RECURSE srcs2 ${CAFFE_SOURCE_GROUP_GLOB_RECURSE}) |
| source_group(${group} FILES ${srcs2}) |
| endif() |
| endfunction() |
|
|
| |
| |
| |
| |
| function(caffe_collect_sources variable) |
| cmake_parse_arguments(CAFFE_COLLECT_SOURCES "" "" "GLOB;GLOB_RECURSE" ${ARGN}) |
| if(CAFFE_COLLECT_SOURCES_GLOB) |
| file(GLOB srcs1 ${CAFFE_COLLECT_SOURCES_GLOB}) |
| set(${variable} ${variable} ${srcs1}) |
| endif() |
|
|
| if(CAFFE_COLLECT_SOURCES_GLOB_RECURSE) |
| file(GLOB_RECURSE srcs2 ${CAFFE_COLLECT_SOURCES_GLOB_RECURSE}) |
| set(${variable} ${variable} ${srcs2}) |
| endif() |
| endfunction() |
|
|
| |
| |
| |
| |
| function(caffe_pickup_caffe_sources root) |
| |
| caffe_source_group("Include" GLOB "${root}/include/caffe/*.h*") |
| caffe_source_group("Include\\Util" GLOB "${root}/include/caffe/util/*.h*") |
| caffe_source_group("Include" GLOB "${PROJECT_BINARY_DIR}/caffe_config.h*") |
| caffe_source_group("Source" GLOB "${root}/src/caffe/*.cpp") |
| caffe_source_group("Source\\Util" GLOB "${root}/src/caffe/util/*.cpp") |
| caffe_source_group("Source\\Layers" GLOB "${root}/src/caffe/layers/*.cpp") |
| caffe_source_group("Source\\Cuda" GLOB "${root}/src/caffe/layers/*.cu") |
| caffe_source_group("Source\\Cuda" GLOB "${root}/src/caffe/util/*.cu") |
| caffe_source_group("Source\\Proto" GLOB "${root}/src/caffe/proto/*.proto") |
|
|
| |
| caffe_source_group("Include" GLOB "${root}/include/caffe/test/test_*.h*") |
| caffe_source_group("Source" GLOB "${root}/src/caffe/test/test_*.cpp") |
| caffe_source_group("Source\\Cuda" GLOB "${root}/src/caffe/test/test_*.cu") |
|
|
| |
| file(GLOB test_hdrs ${root}/include/caffe/test/test_*.h*) |
| file(GLOB test_srcs ${root}/src/caffe/test/test_*.cpp) |
| file(GLOB_RECURSE hdrs ${root}/include/caffe/*.h*) |
| file(GLOB_RECURSE srcs ${root}/src/caffe/*.cpp) |
| list(REMOVE_ITEM hdrs ${test_hdrs}) |
| list(REMOVE_ITEM srcs ${test_srcs}) |
|
|
| |
| list(APPEND srcs ${hdrs} ${PROJECT_BINARY_DIR}/caffe_config.h) |
| list(APPEND test_srcs ${test_hdrs}) |
|
|
| |
| file(GLOB test_cuda ${root}/src/caffe/test/test_*.cu) |
| file(GLOB_RECURSE cuda ${root}/src/caffe/*.cu) |
| list(REMOVE_ITEM cuda ${test_cuda}) |
|
|
| |
| file(GLOB_RECURSE proto_files ${root}/src/caffe/*.proto) |
| list(APPEND srcs ${proto_files}) |
|
|
| |
| caffe_convert_absolute_paths(srcs) |
| caffe_convert_absolute_paths(cuda) |
| caffe_convert_absolute_paths(test_srcs) |
| caffe_convert_absolute_paths(test_cuda) |
|
|
| |
| set(srcs ${srcs} PARENT_SCOPE) |
| set(cuda ${cuda} PARENT_SCOPE) |
| set(test_srcs ${test_srcs} PARENT_SCOPE) |
| set(test_cuda ${test_cuda} PARENT_SCOPE) |
| endfunction() |
|
|
| |
| |
| |
| |
| function(caffe_default_properties target) |
| set_target_properties(${target} PROPERTIES |
| DEBUG_POSTFIX ${Caffe_DEBUG_POSTFIX} |
| ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib" |
| LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib" |
| RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin") |
| |
| if (DEFINED external_project_dependencies) |
| add_dependencies(${target} ${external_project_dependencies}) |
| endif() |
| endfunction() |
|
|
| |
| |
| |
| |
| function(caffe_set_runtime_directory target dir) |
| set_target_properties(${target} PROPERTIES |
| RUNTIME_OUTPUT_DIRECTORY "${dir}") |
| endfunction() |
|
|
| |
| |
| |
| |
| function(caffe_set_solution_folder target folder) |
| if(USE_PROJECT_FOLDERS) |
| set_target_properties(${target} PROPERTIES FOLDER "${folder}") |
| endif() |
| endfunction() |
|
|
| |
| |
| |
| |
| function(caffe_configure_testdatafile file) |
| file(STRINGS ${file} __lines) |
| set(result "") |
| foreach(line ${__lines}) |
| set(result "${result}${PROJECT_SOURCE_DIR}/${line}\n") |
| endforeach() |
| file(WRITE ${file}.gen.cmake ${result}) |
| endfunction() |
|
|
| |
| |
| |
| |
| function(caffe_leave_only_selected_tests file_list) |
| if(NOT ARGN) |
| return() |
| endif() |
| string(REPLACE "," ";" __selected ${ARGN}) |
| list(APPEND __selected caffe_main) |
|
|
| set(result "") |
| foreach(f ${${file_list}}) |
| get_filename_component(name ${f} NAME_WE) |
| string(REGEX REPLACE "^test_" "" name ${name}) |
| list(FIND __selected ${name} __index) |
| if(NOT __index EQUAL -1) |
| list(APPEND result ${f}) |
| endif() |
| endforeach() |
| set(${file_list} ${result} PARENT_SCOPE) |
| endfunction() |
|
|
|
|