Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
46497285
O
Opencv
项目概览
Greenplum
/
Opencv
11 个月 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
46497285
编写于
8月 20, 2019
作者:
A
Alexander Alekhin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
cmake: add libatomic check
上级
9612397a
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
57 addition
and
1 deletion
+57
-1
CMakeLists.txt
CMakeLists.txt
+4
-0
cmake/OpenCVDetectCXXCompiler.cmake
cmake/OpenCVDetectCXXCompiler.cmake
+18
-0
cmake/OpenCVUtils.cmake
cmake/OpenCVUtils.cmake
+23
-1
cmake/checks/atomic_check.cpp
cmake/checks/atomic_check.cpp
+12
-0
未找到文件。
CMakeLists.txt
浏览文件 @
46497285
...
...
@@ -64,6 +64,10 @@ if(POLICY CMP0068)
cmake_policy
(
SET CMP0068 NEW
)
# CMake 3.9+: `RPATH` settings on macOS do not affect `install_name`.
endif
()
if
(
POLICY CMP0075
)
cmake_policy
(
SET CMP0075 NEW
)
# CMake 3.12+: Include file check macros honor `CMAKE_REQUIRED_LIBRARIES`
endif
()
#
# Configure OpenCV CMake hooks
...
...
cmake/OpenCVDetectCXXCompiler.cmake
浏览文件 @
46497285
...
...
@@ -194,3 +194,21 @@ if(NOT HAVE_CXX11)
endif
()
endif
()
endif
()
if
((
HAVE_CXX11
AND NOT MSVC
AND
NOT
(
X86 OR X86_64
)
AND NOT OPENCV_SKIP_LIBATOMIC_COMPILER_CHECK
)
OR OPENCV_FORCE_LIBATOMIC_COMPILER_CHECK
)
ocv_check_compiler_flag
(
CXX
""
HAVE_CXX_ATOMICS_WITHOUT_LIB
"
${
OpenCV_SOURCE_DIR
}
/cmake/checks/atomic_check.cpp"
)
if
(
NOT HAVE_CXX_ATOMICS_WITHOUT_LIB
)
list
(
APPEND CMAKE_REQUIRED_LIBRARIES atomic
)
ocv_check_compiler_flag
(
CXX
""
HAVE_CXX_ATOMICS_WITH_LIB
"
${
OpenCV_SOURCE_DIR
}
/cmake/checks/atomic_check.cpp"
)
if
(
HAVE_CXX_ATOMICS_WITH_LIB
)
list
(
APPEND OPENCV_LINKER_LIBS atomic
)
else
()
message
(
FATAL_ERROR
"C++11 compiler must support std::atomic"
)
endif
()
endif
()
endif
()
cmake/OpenCVUtils.cmake
浏览文件 @
46497285
...
...
@@ -415,12 +415,34 @@ MACRO(ocv_check_compiler_flag LANG FLAG RESULT)
else
()
set
(
__msg
""
)
endif
()
if
(
CMAKE_REQUIRED_LIBRARIES
)
set
(
__link_libs LINK_LIBRARIES
${
CMAKE_REQUIRED_LIBRARIES
}
)
else
()
set
(
__link_libs
)
endif
()
set
(
__cmake_flags
""
)
if
(
CMAKE_EXE_LINKER_FLAGS
)
# CMP0056 do this on new CMake
list
(
APPEND __cmake_flags
"-DCMAKE_EXE_LINKER_FLAGS=
${
CMAKE_EXE_LINKER_FLAGS
}
"
)
endif
()
# CMP0067 do this on new CMake
if
(
DEFINED CMAKE_CXX_STANDARD
)
list
(
APPEND __cmake_flags
"-DCMAKE_CXX_STANDARD=
${
CMAKE_CXX_STANDARD
}
"
)
endif
()
if
(
DEFINED CMAKE_CXX_STANDARD_REQUIRED
)
list
(
APPEND __cmake_flags
"-DCMAKE_CXX_STANDARD_REQUIRED=
${
CMAKE_CXX_STANDARD_REQUIRED
}
"
)
endif
()
if
(
DEFINED CMAKE_CXX_EXTENSIONS
)
list
(
APPEND __cmake_flags
"-DCMAKE_CXX_EXTENSIONS=
${
CMAKE_CXX_EXTENSIONS
}
"
)
endif
()
MESSAGE
(
STATUS
"Performing Test
${
RESULT
}${
__msg
}
"
)
TRY_COMPILE
(
${
RESULT
}
"
${
CMAKE_BINARY_DIR
}
"
"
${
_fname
}
"
CMAKE_FLAGS
"-DCMAKE_EXE_LINKER_FLAGS=
${
CMAKE_EXE_LINKER_FLAGS
}
"
# CMP0056 do this on new CMake
CMAKE_FLAGS
${
__cmake_flags
}
COMPILE_DEFINITIONS
"
${
FLAG
}
"
${
__link_libs
}
OUTPUT_VARIABLE OUTPUT
)
if
(
${
RESULT
}
)
...
...
cmake/checks/atomic_check.cpp
0 → 100644
浏览文件 @
46497285
#include <atomic>
static
int
test
()
{
std
::
atomic
<
int
>
x
;
return
x
;
}
int
main
()
{
return
test
();
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录