Skip to content

Commit

Permalink
[cmake] Try to standardise the compiler flags
Browse files Browse the repository at this point in the history
  • Loading branch information
bellenot committed Jul 11, 2024
1 parent 4cc8d43 commit 5815afb
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 17 deletions.
2 changes: 1 addition & 1 deletion cmake/modules/RootMacros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -1028,7 +1028,7 @@ function(ROOT_LINKER_LIBRARY library)
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries)
endif()
if(WIN32 AND ARG_TYPE STREQUAL SHARED)
if(WIN32)
install(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib${library}.pdb
CONFIGURATIONS Debug RelWithDebInfo
DESTINATION ${CMAKE_INSTALL_BINDIR}
Expand Down
24 changes: 9 additions & 15 deletions cmake/modules/SetUpWindows.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,6 @@ elseif(MSVC)

#---Select compiler flags----------------------------------------------------------------
if(CMAKE_GENERATOR MATCHES Ninja)
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
if (CMAKE_BUILD_TYPE MATCHES Debug AND CMAKE_SIZEOF_VOID_P EQUAL 8)
string(REGEX MATCH "-D_ITERATOR_DEBUG_LEVEL=0" result ${CMAKE_CXX_FLAGS_DEBUG})
if(NOT result MATCHES "-D_ITERATOR_DEBUG_LEVEL=0")
Expand All @@ -46,26 +42,24 @@ elseif(MSVC)
set(BLDCXXFLAGS "${CMAKE_CXX_FLAGS_${UPPER_BUILD_TYPE}}")
set(BLDCFLAGS "${CMAKE_C_FLAGS_${UPPER_BUILD_TYPE}}" )
else()
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-MD -O2 -Ob1 -Z7 -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE "-MD -O2 -Ob2 -DNDEBUG")
set(CMAKE_CXX_FLAGS_DEBUG "-MDd -Od -Ob0 -Z7")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-MD -O2 -Ob1 -Z7 -DNDEBUG")
set(CMAKE_C_FLAGS_RELEASE "-MD -O2 -Ob2 -DNDEBUG")
set(CMAKE_C_FLAGS_DEBUG "-MDd -Od -Ob0 -Z7")
if(winrtdebug)
string(REGEX MATCH "-D_ITERATOR_DEBUG_LEVEL=0" result ${CMAKE_CXX_FLAGS_DEBUG})
if(NOT result MATCHES "-D_ITERATOR_DEBUG_LEVEL=0")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_ITERATOR_DEBUG_LEVEL=0")
endif()
set(BLDCXXFLAGS "-MDd")
set(BLDCFLAGS "-MDd")
else()
string(REPLACE "-MDd" "-MD" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
string(REPLACE "-MDd" "-MD" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
string(REPLACE "MDd" "MD" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
string(REPLACE "MDd" "MD" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
set(BLDCXXFLAGS "-MD")
set(BLDCFLAGS "-MD")
endif()
endif()

if(CMAKE_PROJECT_NAME STREQUAL ROOT)
set(CMAKE_CXX_FLAGS "-nologo -I${CMAKE_SOURCE_DIR}/build/win -Zc:__cplusplus -std:c++${CMAKE_CXX_STANDARD} -GR -FIw32pragma.h -FIsehmap.h ${BLDCXXFLAGS} -EHsc- -W3 -wd4141 -wd4291 -wd4244 -wd4049 -wd4146 -wd4250 -wd4624 ${ARCH} -D_XKEYCHECK_H -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS")
set(CMAKE_C_FLAGS "-nologo -I${CMAKE_SOURCE_DIR}/build/win -FIw32pragma.h -FIsehmap.h ${BLDCFLAGS} -EHsc- -W3 ${ARCH} -DNOMINMAX")
set(CMAKE_C_FLAGS "-nologo -I${CMAKE_SOURCE_DIR}/build/win -FIw32pragma.h -FIsehmap.h -GR ${BLDCFLAGS} -EHsc- -W3 ${ARCH} -DNOMINMAX")
if(CMAKE_CXX_STANDARD GREATER_EQUAL 17)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING -D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING")
endif()
Expand All @@ -76,8 +70,8 @@ elseif(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DR__ENABLE_LLVM13_BROKEN_TESTS")
endif()
else()
set(CMAKE_CXX_FLAGS "-nologo -FIw32pragma.h -FIsehmap.h ${BLDCXXFLAGS} -EHsc- -W3 -wd4244 ${ARCH}")
set(CMAKE_C_FLAGS "-nologo -FIw32pragma.h -FIsehmap.h ${BLDCFLAGS} -EHsc- -W3 ${ARCH}")
set(CMAKE_CXX_FLAGS "-nologo -FIw32pragma.h -FIsehmap.h -Zc:__cplusplus -std:c++${CMAKE_CXX_STANDARD} -GR ${BLDCXXFLAGS} -EHsc- -W3 -wd4244 ${ARCH}")
set(CMAKE_C_FLAGS "-nologo -FIw32pragma.h -FIsehmap.h -GR ${BLDCFLAGS} -EHsc- -W3 ${ARCH}")
endif()

#---Set Linker flags----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion io/io/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ if(MSVC)
set_source_files_properties(src/TStreamerInfoReadBuffer.cxx COMPILE_FLAGS "/O2")
endif()
else()
set_source_files_properties(src/TStreamerInfoReadBuffer.cxx COMPILE_FLAGS "/O2")
set_source_files_properties(src/TStreamerInfoReadBuffer.cxx COMPILE_FLAGS $<IF:$<CONFIG:Debug>,"/Od","/O2">)
endif()
else()
set_source_files_properties(src/TStreamerInfoReadBuffer.cxx COMPILE_FLAGS "-O3")
Expand Down

0 comments on commit 5815afb

Please sign in to comment.