Streamline compiler options

This commit is contained in:
Louis Rubet 2022-09-22 10:21:44 +02:00
parent f8f42889bf
commit 577b8f6927

View file

@ -72,24 +72,19 @@ set(RPN_SRC_FILES
${PROJECT_SOURCE_DIR}/src/rpn-trig.cc)
set(LINENOISE_NG_SRC_FILES
${PROJECT_SOURCE_DIR}/linenoise-ng/src/ConvertUTF.cpp
${PROJECT_SOURCE_DIR}/linenoise-ng/src/linenoise.cpp
${PROJECT_SOURCE_DIR}/linenoise-ng/src/wcwidth.cpp)
${PROJECT_SOURCE_DIR}/linenoise-ng/src/ConvertUTF.cpp
${PROJECT_SOURCE_DIR}/linenoise-ng/src/linenoise.cpp
${PROJECT_SOURCE_DIR}/linenoise-ng/src/wcwidth.cpp)
# compiler options
set_source_files_properties(${RPN_SRC_FILES} COMPILE_FLAGS # some harder warnings
"-Wall -Wextra -pedantic -Wno-missing-field-initializers")
# set_source_files_properties(${RPN_SRC_FILES} COMPILE_FLAGS "-Wall -Wextra -pedantic -Wno-missing-field-initializers")
set_source_files_properties(${RPN_SRC_FILES} COMPILE_FLAGS "-Wall -Wextra -pedantic")
set_source_files_properties(${LINENOISE_NG_SRC_FILES} COMPILE_FLAGS
"-fpermissive") # removing error on redeclaration of char8_t
if(CMAKE_COMPILER_IS_GNUCXX)
message(STATUS "Compiler type GNU: ${CMAKE_CXX_COMPILER}")
# TODO still up to date?
set(BASE_COMPILER_OPTIONS "-std=c++20 -Wl,--no-as-needed")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${BASE_COMPILER_OPTIONS}")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${BASE_COMPILER_OPTIONS} -O0 -g")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${BASE_COMPILER_OPTIONS} -O3 -s")
add_compile_options("-std=c++20" "-Wl,--no-as-needed"
"$<$<CONFIG:DEBUG>:-O0;-g3;-ggdb>"
"$<$<CONFIG:RELEASE>:-O3>")
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
add_compile_options("-Wl,--no-as-needed -Wc++20-extensions")
endif()
add_executable(rpn ${RPN_SRC_FILES} ${LINENOISE_NG_SRC_FILES})