Enable C++11 and strict checks for all code, msvc compatibility.
This commit is contained in:
parent
25110521d0
commit
21f27ec261
|
@ -12,6 +12,12 @@ set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
|
||||||
include(CPack)
|
include(CPack)
|
||||||
include(Doxycelli)
|
include(Doxycelli)
|
||||||
|
|
||||||
|
if (MSVC)
|
||||||
|
add_compile_options(/W4 /WX)
|
||||||
|
else()
|
||||||
|
add_compile_options(-Wall -Wextra -pedantic -Werror)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
|
|
||||||
install(FILES README.md LICENSE.txt DESTINATION doc/monicelli)
|
install(FILES README.md LICENSE.txt DESTINATION doc/monicelli)
|
||||||
|
|
|
@ -29,8 +29,10 @@ function(add_ragel_library name ragel_source)
|
||||||
CXX_STANDARD_REQUIRED true
|
CXX_STANDARD_REQUIRED true
|
||||||
)
|
)
|
||||||
|
|
||||||
# The lexer uses implicit fallthroughs all over, but it's OK.
|
if (NOT MSVC)
|
||||||
target_compile_options(${name} PRIVATE -Wno-implicit-fallthrough)
|
# The lexer uses implicit fallthroughs all over, but it's OK.
|
||||||
|
target_compile_options(${name} PRIVATE -Wno-implicit-fallthrough)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_include_directories(${name} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
target_include_directories(${name} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
|
@ -33,14 +33,12 @@ add_executable(mcc
|
||||||
operators.def
|
operators.def
|
||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(mcc
|
set_target_properties(mcc lexer
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
CXX_STANDARD 11
|
CXX_STANDARD 11
|
||||||
CXX_STANDARD_REQUIRED true
|
CXX_STANDARD_REQUIRED true
|
||||||
)
|
)
|
||||||
|
|
||||||
target_compile_options(mcc PRIVATE -Wall -Wextra -Werror)
|
|
||||||
|
|
||||||
target_link_libraries(mcc PRIVATE lexer)
|
target_link_libraries(mcc PRIVATE lexer)
|
||||||
|
|
||||||
llvm_config(mcc
|
llvm_config(mcc
|
||||||
|
|
Reference in New Issue
Block a user