#
# This is a CMake makefile. You can find the cmake utility and
# information about it at http://www.cmake.org
#
cmake_minimum_required(VERSION 2.8.4)
project(dlib)
# default to a Release build (except if CMAKE_BUILD_TYPE is set)
include(cmake_utils/release_build_by_default)
include(cmake_utils/use_cpp_11.cmake)
set(CPACK_PACKAGE_VERSION_MAJOR "19")
set(CPACK_PACKAGE_VERSION_MINOR "2")
set(CPACK_PACKAGE_VERSION_PATCH "99")
set(VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH})
# Set DLIB_VERSION in the including CMake file so they can use it to do whatever they want.
get_directory_property(has_parent PARENT_DIRECTORY)
if(has_parent)
set(DLIB_VERSION ${VERSION} PARENT_SCOPE)
endif()
set(dlib_needed_includes)
# This macro sets include directory paths that are needed by dlib and also by
# applications that include dlib. So the main point of this macro is to set
# dlib_needed_includes which will get pushed into the parent cmake scope at the
# end of this CMakeLists.txt file. This way, it is available to users of dlib/cmake.
macro(add_include_directories dir)
include_directories(${dir})
set(dlib_needed_includes ${dlib_needed_includes} ${dir})
endmacro()
# Suppress cmake warnings about changes in new versions.
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
if (POLICY CMP0054)
cmake_policy(SET CMP0054 NEW)
endif()
endif()
include(cmake_utils/add_global_compiler_switch.cmake)
if (DLIB_IN_PROJECT_BUILD)
# Make sure ENABLE_ASSERTS is defined for debug builds, but only for uses
# who are building an application. If they are just building dlib as a
# stand alone library then don't set this because it will conflict with the
# settings in config.h if we did.
if (NOT CMAKE_CXX_FLAGS_DEBUG MATCHES "-DENABLE_ASSERTS")
set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DENABLE_ASSERTS"
CACHE STRING "Flags used by the compiler during C++ debug builds."
FORCE)
endif()
endif()
macro (toggle_preprocessor_switch option_name)
if (${option_name})
add_global_define(${option_name})
else()
remove_global_define(${option_name})
endif()
endmacro()
# Suppress superfluous randlib warnings about libdlib.a having no symbols on MacOSX.
if (APPLE)
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
set(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
endif()
# Don't try to call add_library(dlib) and setup dlib's stuff if it has already
# been done by some other part of the current cmake project. We do this
# because it avoids getting warnings/errors about cmake policy CMP0002. This
# happens when a project tries to call add_subdirectory() on dlib more than
# once. This most often happens when the top level of a project depends on two
# or more other things which both depend on dlib.
if (NOT TARGET dlib)
set (DLIB_ISO_CPP_ONLY_STR
"Enable this if you don't want to compile any non-ISO C++ code (i.e. you don't use any of the API Wrappers)" )
set (DLIB_NO_GUI_SUPPORT_STR
"Enable this if you don't want to compile any of the dlib GUI code" )
set (DLIB_ENABLE_STACK_TRACE_STR
"Enable this if you want to turn on the DLIB_STACK_TRACE macros" )
set (DLIB_ENABLE_ASSERTS_STR
"Enable this if you want to turn on the DLIB_ASSERT macro" )
set (DLIB_USE_BLAS_STR
"Disable this if you don't want to use a BLAS library" )
set (DLIB_USE_LAPACK_STR
"Disable this if you don't want to use a LAPACK library" )
set (DLIB_USE_CUDA_STR
"Disable this if you don't want to use NVIDIA CUDA" )
set (DLIB_PNG_SUPPORT_STR
"Disable this if you don't want to link against libpng" )
set (DLIB_GIF_SUPPORT_STR
"Disable this if you don't want to link against libgif" )
set (DLIB_JPEG_SUPPORT_STR
"Disable this if you don't want to link against libjpeg" )
set (DLIB_LINK_WITH_SQLITE3_STR
"Disable this if you don't want to link against sqlite3" )
#set (DLIB_USE_FFTW_STR "Disable this if you don't want to link against fftw" )
set (DLIB_USE_MKL_FFT_STR
"Disable this is you don't want to use the MKL DFTI FFT implementation" )
option(DLIB_ISO_CPP_ONLY ${DLIB_ISO_CPP_ONLY_STR} OFF)
toggle_preprocessor_switch(DLIB_ISO_CPP_ONLY)
option(DLIB_NO_GUI_SUPPORT ${DLIB_NO_GUI_SUPPORT_STR} OFF)
toggle_preprocessor_switch(DLIB_NO_GUI_SUPPORT)
option(DLIB_ENABLE_STACK_TRACE ${DLIB_ENABLE_STACK_TRACE_STR} OFF)
toggle_preprocessor_switch(DLIB_ENABLE_STACK_TRACE)
option(DLIB_ENABLE_ASSERTS ${DLIB_ENABLE_ASSERTS_STR} OFF)
if(DLIB_ENABLE_ASSERTS)
# Set these variables so they are set in the config.h.in file when dlib
# is installed.
set (DLIB_DISABLE_ASSERTS false)
set (ENABLE_ASSERTS true)
add_global_define(ENABLE_ASSERTS)
remove_global_define(DLIB_DISABLE_ASSERTS)
else()
# Set these variables so they are set in the config.h.in file when dlib
# is installed.
set (DLIB_DISABLE_ASSERTS true)
set (ENABLE_ASSERTS false)
remove_global_define(ENABLE_ASSERTS)
# Never force the asserts off when doing an in project build. Instead,
# let the debug/release mode setting toggle asserts on or off (or the
# DLIB_ENABLE_ASSERTS option obviously). That is, even if the
# DLIB_ENABLE_ASSERTS option is off debug mode can still cause the
# asserts to turn on when using an in project build.
if (NOT DLIB_IN_PROJECT_BUILD)
add_global_define(DLIB_DISABLE_ASSERTS)
endif()
endif()
if (DLIB_ISO_CPP_ONLY)
option(DLIB_JPEG_SUPPORT ${DLIB_JPEG_SUPPORT_STR} OFF)
option(DLIB_LINK_WITH_SQLITE3 ${DLIB_LINK_WITH_SQLITE3_STR} OFF)
option(DLIB_USE_BLAS ${DLIB_USE_BLAS_STR} OFF)
option(DLIB_USE_LAPACK ${DLIB_USE_LAPACK_STR} OFF)
option(DLIB_USE_CUDA ${DLIB_USE_CUDA_STR} OFF)
option(DLIB_PNG_SUPPORT ${DLIB_PNG_SUPPORT_STR} OFF)
option(DLIB_GIF_SUPPORT ${DLIB_GIF_SUPPORT_STR} OFF)
#option(DLIB_USE_FFTW ${DLIB_USE_FFTW_STR} OFF)
option(DLIB_USE_MKL_FFT ${DLIB_USE_MKL_FFT_STR} OFF)
else()
option(DLIB_JPEG_SUPPORT ${DLIB_JPEG_SUPPORT_STR} ON)
option(DLIB_LINK_WITH_SQLITE3 ${DLIB_LINK_WITH_SQLITE3_STR} ON)
option(DLIB_USE_BLAS ${DLIB_USE_BLAS_STR} ON)
option(DLIB_USE_LAPACK ${DLIB_USE_LAPACK_STR} ON)
option(DLIB_USE_CUDA ${DLIB_USE_CUDA_STR} ON)
option(DLIB_PNG_SUPPORT ${DLIB_PNG_SUPPORT_STR} ON)
option(DLIB_GIF_SUPPORT ${DLIB_GIF_SUPPORT_STR} ON)
#option(DLIB_USE_FFTW ${DLIB_USE_FFTW_STR} ON)
option(DLIB_USE_MKL_FFT ${DLIB_USE_MKL_FFT_STR} ON)
endif()
toggle_preprocessor_switch(DLIB_JPEG_SUPPORT)
toggle_preprocessor_switch(DLIB_USE_BLAS)
toggle_preprocessor_switch(DLIB_USE_LAPACK)
toggle_preprocessor_switch(DLIB_USE_CUDA)
toggle_preprocessor_switch(DLIB_PNG_SUPPORT)
toggle_preprocessor_switch(DLIB_GIF_SUPPORT)
#toggle_preprocessor_switch(DLIB_USE_FFTW)
toggle_preprocessor_switch(DLIB_USE_MKL_FFT)
set(source_files
base64/base64_kernel_1.cpp
bigint/bigint_kernel_1.cpp
bigint/bigint_kernel_2.cpp
bit_stream/bit_stream_kernel_1.cpp
entropy_decoder/entropy_decoder_kernel_1.cpp
entropy_decoder/entropy_decoder_kernel_2.cpp
entropy_encoder/entropy_encoder_kernel_1.cpp
entropy_encoder/entropy_encoder_kernel_2.cpp
md5/md5_kernel_1.cpp
tokenizer/tokenizer_kernel_1.cpp
unicode/unicode.cpp
data_io/image_dataset_metadata.cpp
data_io/mnist.cpp)
if (COMPILER_CAN_DO_CPP_11)
set(source_files ${source_files}
dnn/cpu_dlib.cpp
dnn/tensor_tools.cpp
)
endif()
if (DLIB_ISO_CPP_ONL
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Dlib 是一个现代C++工具包,包含机器学习算法和工具源码(用于使用C++创建复杂的软件来解决现实问题).zip Dlib 是一个现代C++工具包,包含机器学习算法和工具源码(用于使用C++创建复杂的软件来解决现实问题).zip Dlib 是一个现代C++工具包,包含机器学习算法和工具源码(用于使用C++创建复杂的软件来解决现实问题).zip Dlib 是一个现代C++工具包,包含机器学习算法和工具源码(用于使用C++创建复杂的软件来解决现实问题).zip Dlib 是一个现代C++工具包,包含机器学习算法和工具源码(用于使用C++创建复杂的软件来解决现实问题).zip Dlib 是一个现代C++工具包,包含机器学习算法和工具源码(用于使用C++创建复杂的软件来解决现实问题).zip Dlib 是一个现代C++工具包,包含机器学习算法和工具源码(用于使用C++创建复杂的软件来解决现实问题).zip 【资源说明】 1、该资源内项目代码都是经过测试运行成功,功能正常的情况下才上传的,请放心下载使用。 2、适用人群:主要针对计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、数学、电子信息等)的同学或企业员工下载使用,具有较高的学习借鉴价值。 3、不仅适合小白学习实战练习,也可作为大作业、课程设计、毕设项目、初期项目立项演示等,欢迎下载,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
Dlib 是一个现代C++工具包,包含机器学习算法和工具源码(用于使用C++创建复杂的软件来解决现实问题).zip (1976个子文件)
READ THE README. DO NOT EDIT THE TABLE OF CONTENTS FILE 0B
READ THE README. DO NOT EDIT THE TABLE OF CONTENTS FILE2 0B
READ THE README. DO NOT EDIT THE TABLE OF CONTENTS FILE3 0B
add_python_module 8KB
bash_helper_functions 737B
WINDOWS_build_and_run_all_unit_tests.bat 846B
pngrtran.c 167KB
png.c 145KB
pngrutil.c 138KB
pngread.c 130KB
pngwutil.c 87KB
pngwrite.c 72KB
deflate.c 70KB
inflate.c 52KB
pngset.c 46KB
trees.c 43KB
pngpread.c 35KB
pngget.c 32KB
pngerror.c 28KB
pngtrans.c 24KB
infback.c 22KB
gzread.c 18KB
pngwtran.c 17KB
gzlib.c 16KB
gzwrite.c 16KB
inffast.c 13KB
crc32.c 13KB
inftrees.c 13KB
filter_neon_intrinsics.c 11KB
pngmem.c 8KB
zutil.c 7KB
arm_init.c 7KB
pngwio.c 5KB
adler32.c 5KB
pngrio.c 4KB
cblas_zgbmv.c 4KB
cblas_cgbmv.c 4KB
cblas_cgemv.c 4KB
cblas_zgemv.c 4KB
cblas_ztbsv.c 3KB
cblas_ctbsv.c 3KB
cblas_ztbmv.c 3KB
cblas_ctbmv.c 3KB
cblas_dtrsm.c 3KB
cblas_ztrsv.c 3KB
cblas_ctrsv.c 3KB
cblas_ztrmv.c 3KB
cblas_ctrmv.c 3KB
cblas_ztrsm.c 3KB
cblas_ctrsm.c 3KB
cblas_ztrmm.c 3KB
cblas_strsm.c 3KB
cblas_dtrmm.c 3KB
cblas_ctrmm.c 3KB
cblas_strmm.c 3KB
cblas_ztpsv.c 3KB
cblas_ctpsv.c 3KB
cblas_ztpmv.c 3KB
cblas_ctpmv.c 3KB
cblas_zhbmv.c 3KB
cblas_chbmv.c 3KB
cblas_zhemv.c 3KB
cblas_chemv.c 3KB
cblas_zher2.c 3KB
cblas_cher2.c 3KB
cblas_zhpmv.c 3KB
cblas_chpmv.c 3KB
cblas_zhpr2.c 3KB
cblas_chpr2.c 3KB
cblas_stbmv.c 3KB
cblas_dtbsv.c 3KB
cblas_stbsv.c 3KB
cblas_dtbmv.c 3KB
cblas_dtrmv.c 3KB
cblas_strmv.c 3KB
cblas_dtrsv.c 3KB
cblas_strsv.c 3KB
cblas_sgemm.c 3KB
cblas_stpmv.c 3KB
cblas_dtpsv.c 3KB
cblas_dtpmv.c 3KB
cblas_stpsv.c 3KB
cblas_cgemm.c 3KB
cblas_zgemm.c 3KB
cblas_dgemm.c 3KB
compress.c 2KB
cblas_ssyr2k.c 2KB
cblas_cher2k.c 2KB
cblas_zher2k.c 2KB
cblas_dsyr2k.c 2KB
cblas_zsyr2k.c 2KB
cblas_csyr2k.c 2KB
cblas_ssyrk.c 2KB
cblas_ssymm.c 2KB
cblas_dsyrk.c 2KB
cblas_zherk.c 2KB
cblas_zsyrk.c 2KB
cblas_cherk.c 2KB
cblas_csyrk.c 2KB
cblas_dsymm.c 2KB
共 1976 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
龙年行大运
- 粉丝: 1002
- 资源: 3854
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功