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
|
augroup youcompleteme
|
||||||
autocmd!
|
autocmd!
|
||||||
autocmd CursorMovedI * call s:OnMovedI()
|
autocmd CursorMovedI * call s:OnMovedI()
|
||||||
|
" BufWinEnter/Leave?
|
||||||
autocmd BufRead,BufEnter * call s:OnBufferVisit()
|
autocmd BufRead,BufEnter * call s:OnBufferVisit()
|
||||||
autocmd CursorHold,CursorHoldI * call s:OnCursorHold()
|
autocmd CursorHold,CursorHoldI * call s:OnCursorHold()
|
||||||
augroup END
|
augroup END
|
||||||
|
@ -77,7 +77,7 @@ add_library( BoostParts ${SOURCES} )
|
|||||||
if( CMAKE_COMPILER_IS_GNUCXX OR COMPILER_IS_CLANG )
|
if( CMAKE_COMPILER_IS_GNUCXX OR COMPILER_IS_CLANG )
|
||||||
# No warnings. We just use Boost as is so warnings coming from it are just
|
# No warnings. We just use Boost as is so warnings coming from it are just
|
||||||
# noise.
|
# noise.
|
||||||
add_definitions( -w )
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
|
||||||
endif()
|
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
|
# 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
|
# versions. Without this python might refuse to load the module, depending on
|
||||||
# how python was built.
|
# 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"
|
# "brew install boost --universal"
|
||||||
set( CMAKE_OSX_ARCHITECTURES "i386;x86_64" )
|
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" )
|
if ( CMAKE_CXX_COMPILER_ID STREQUAL "Clang" )
|
||||||
set( COMPILER_IS_CLANG true )
|
set( COMPILER_IS_CLANG true )
|
||||||
endif()
|
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
|
# Determining the presence of C++11 support in the compiler
|
||||||
set( CPP11_AVAILABLE false )
|
set( CPP11_AVAILABLE false )
|
||||||
if ( CMAKE_COMPILER_IS_GNUCXX )
|
if ( CMAKE_COMPILER_IS_GNUCXX )
|
||||||
@ -46,16 +47,23 @@ elseif( COMPILER_IS_CLANG )
|
|||||||
set( CPP11_AVAILABLE true )
|
set( CPP11_AVAILABLE true )
|
||||||
endif()
|
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 )
|
if ( CPP11_AVAILABLE )
|
||||||
message( "Your C++ compiler supports C++11, compiling in that mode." )
|
message( "Your C++ compiler supports C++11, compiling in that mode." )
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
|
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x" )
|
||||||
else()
|
else()
|
||||||
message(
|
message(
|
||||||
"Your C++ compiler does NOT support C++11, compiling in C++03 mode." )
|
"Your C++ compiler does NOT support C++11, compiling in C++03 mode." )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#-Wc++11-extensions
|
|
||||||
|
|
||||||
add_subdirectory( llvm )
|
add_subdirectory( llvm )
|
||||||
add_subdirectory( BoostParts )
|
add_subdirectory( BoostParts )
|
||||||
add_subdirectory( ycm )
|
add_subdirectory( ycm )
|
||||||
|
@ -80,7 +80,14 @@ set_target_properties( ${PROJECT_NAME} PROPERTIES
|
|||||||
|
|
||||||
if( CMAKE_COMPILER_IS_GNUCXX OR COMPILER_IS_CLANG )
|
if( CMAKE_COMPILER_IS_GNUCXX OR COMPILER_IS_CLANG )
|
||||||
# We want all warnings, and warnings should be treated as errors
|
# 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()
|
endif()
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
@ -20,7 +20,8 @@ cmake_minimum_required( VERSION 2.8 )
|
|||||||
|
|
||||||
# The gtest library triggers these silly warnings, so we turn them off
|
# The gtest library triggers these silly warnings, so we turn them off
|
||||||
if ( COMPILER_IS_CLANG )
|
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()
|
endif()
|
||||||
|
|
||||||
add_subdirectory( gmock )
|
add_subdirectory( gmock )
|
||||||
|
Loading…
Reference in New Issue
Block a user