【发布时间】:2017-10-04 16:26:40
【问题描述】:
在我的 CMake C++ 项目中,我使用的是 CGAL。
它通过apt(包libcgal-dev版本4.7-4)安装在我的Ubuntu系统(版本16.04 LTS)上。
在我的 CMakeLists.txt 中,CGAL 库包含如下:
find_package(CGAL REQUIRED)
if ( CGAL_FOUND )
include(${CGAL_USE_FILE})
include( CGAL_CreateSingleSourceCGALProgram )
endif()
到目前为止,这工作正常。
当我想在调试模式下编译时出现问题: 我从我的构建目录调用 cmake:
cmake -DCMAKE_BUILD_TYPE=Debug ..
但是,在输出中,cmake 说
-- 构建类型:发布
这似乎是由 /usr/lib/x86_64-linux-gnu/cmake/CGAL/CGALConfig.cmake 中的这一行 (35) 设置的:
set(CGAL_BUILD_TYPE_INIT "Release" )
但我不知道如何覆盖它。 我唯一发现的是两次运行上述命令时启用了调试,这似乎不是正确的方法。
如何在使用 CGAL 时使用调试选项进行编译?
【问题讨论】:
-
-DCGAL_DONT_OVERRIDE_CMAKE_FLAGS=TRUE有帮助吗? -
谢谢。看起来还不错。你知道我是否也会忽略所有 CGAL 的编译标志是否会造成问题?
-
取决于哪些标志,但像 -frounding-math 这样的东西确实很重要,忽略它们可能是个问题。