Using cmake_cxx_flags instead of add_definitions
This commit is contained in:
parent
0a553bf23c
commit
1df2a5d360
@ -30,6 +30,7 @@ function! youcompleteme#Enable()
|
||||
augroup youcompleteme
|
||||
autocmd!
|
||||
autocmd CursorMovedI * call s:OnMovedI()
|
||||
" BufWinEnter/Leave?
|
||||
autocmd BufRead,BufEnter * call s:OnBufferVisit()
|
||||
autocmd CursorHold,CursorHoldI * call s:OnCursorHold()
|
||||
augroup END
|
||||
|
@ -77,7 +77,7 @@ add_library( BoostParts ${SOURCES} )
|
||||
if( CMAKE_COMPILER_IS_GNUCXX OR COMPILER_IS_CLANG )
|
||||
# No warnings. We just use Boost as is so warnings coming from it are just
|
||||
# noise.
|
||||
add_definitions( -w )
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
|
||||
endif()
|
||||
|
||||
#############################################################################
|
||||
|
@ -21,19 +21,20 @@ project( YouCompleteMe )
|
||||
# This is needed so that on macs, the library is built in both 32 bit and 64 bit
|
||||
# versions. Without this python might refuse to load the module, depending on
|
||||
# how python was built.
|
||||
# On Mac, boost needs to be compiled universal as well. For brew, that's
|
||||
# On Mac, boost needs to be compiled universal as well, if used instead of the
|
||||
# included BoostParts lib. For brew, that's
|
||||
# "brew install boost --universal"
|
||||
set( CMAKE_OSX_ARCHITECTURES "i386;x86_64" )
|
||||
|
||||
# Force release build, speed is of the essence
|
||||
if ( NOT CMAKE_BUILD_TYPE )
|
||||
set( CMAKE_BUILD_TYPE RELEASE )
|
||||
endif()
|
||||
|
||||
if ( CMAKE_CXX_COMPILER_ID STREQUAL "Clang" )
|
||||
set( COMPILER_IS_CLANG true )
|
||||
endif()
|
||||
|
||||
# Force release build by default, speed is of the essence
|
||||
if ( NOT CMAKE_BUILD_TYPE )
|
||||
set( CMAKE_BUILD_TYPE Release )
|
||||
endif()
|
||||
|
||||
# Determining the presence of C++11 support in the compiler
|
||||
set( CPP11_AVAILABLE false )
|
||||
if ( CMAKE_COMPILER_IS_GNUCXX )
|
||||
@ -46,6 +47,15 @@ elseif( COMPILER_IS_CLANG )
|
||||
set( CPP11_AVAILABLE true )
|
||||
endif()
|
||||
|
||||
# When used with Clang, adding the -std=c++0x flag to CMAKE_CXX_FLAGS will cause
|
||||
# the compiler to output a warning during linking:
|
||||
# clang: warning: argument unused during compilation: '-std=c++0x'
|
||||
# This is caused by cmake passing this flag to the linking stage which it
|
||||
# shouldn't do. It's ignored so it does no harm, but the warning is annoying and
|
||||
# there's no way around the problem (the flag is correctly used during the
|
||||
# compilation stage). We could use add_definitions(-std=c++0x), but this will
|
||||
# break the llvm build since the flag will then be used when compiling C code
|
||||
# too. Sadly there's no way around the warning.
|
||||
if ( CPP11_AVAILABLE )
|
||||
message( "Your C++ compiler supports C++11, compiling in that mode." )
|
||||
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x" )
|
||||
@ -54,8 +64,6 @@ else()
|
||||
"Your C++ compiler does NOT support C++11, compiling in C++03 mode." )
|
||||
endif()
|
||||
|
||||
#-Wc++11-extensions
|
||||
|
||||
add_subdirectory( llvm )
|
||||
add_subdirectory( BoostParts )
|
||||
add_subdirectory( ycm )
|
||||
|
@ -80,7 +80,14 @@ set_target_properties( ${PROJECT_NAME} PROPERTIES
|
||||
|
||||
if( CMAKE_COMPILER_IS_GNUCXX OR COMPILER_IS_CLANG )
|
||||
# We want all warnings, and warnings should be treated as errors
|
||||
add_definitions( -Wall -Wextra -Werror )
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror")
|
||||
endif()
|
||||
|
||||
#############################################################################
|
||||
|
||||
# We want warnings if we accidentally use C++11 features
|
||||
if ( COMPILER_IS_CLANG )
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wc++11-extensions")
|
||||
endif()
|
||||
|
||||
#############################################################################
|
||||
|
@ -20,7 +20,8 @@ cmake_minimum_required( VERSION 2.8 )
|
||||
|
||||
# The gtest library triggers these silly warnings, so we turn them off
|
||||
if ( COMPILER_IS_CLANG )
|
||||
add_definitions( -Wno-long-long -Wno-variadic-macros )
|
||||
set( CMAKE_CXX_FLAGS
|
||||
"${CMAKE_CXX_FLAGS} -Wno-long-long -Wno-variadic-macros" )
|
||||
endif()
|
||||
|
||||
add_subdirectory( gmock )
|
||||
|
Loading…
Reference in New Issue
Block a user