Skip to content

Commit

Permalink
revert SetUpWindows.cmake
Browse files Browse the repository at this point in the history
  • Loading branch information
wlav committed Dec 15, 2024
1 parent 2aa62dc commit af42ccf
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 34 deletions.
5 changes: 5 additions & 0 deletions cling/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@ include(cmake/modules/CaptureCommandLine.cmake)

project(ROOT)

#---Set globally consistent use of __cplusplus ------------------------------------------------
if ((MSVC) AND (MSVC_VERSION GREATER_EQUAL 1914))
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:__cplusplus")
endif()

#---Set the locale to default C to prevent issued due to localization of commands--------------
# This is necessary as we for example call `clang -v` and parse its output. But on a localized
# program, the output parsing is much more error prone as certrain strings we're looking for
Expand Down
77 changes: 43 additions & 34 deletions cling/src/cmake/modules/SetUpWindows.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,62 +17,71 @@ if(CMAKE_COMPILER_IS_GNUCXX)

set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")

# Select flags.
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG")
set(CMAKE_CXX_FLAGS_DEBUG "-g")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG")
set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG")
set(CMAKE_C_FLAGS_DEBUG "-g")

#---Set Linker flags----------------------------------------------------------------------
set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS}")
set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS}")
elseif(MSVC)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(ARCH "-wd4267")
set(ROOT_ARCHITECTURE win64)
set(WIN_EXTRA_DEFS "-D_WINDOWS -DWIN32 -D_AMD64_")
set(MACHINE_ARCH X64)
set(WIN_EXTRA_DEFS "-D_WINDOWS -DWIN32 -D_AMD64_")
set(MACHINE_ARCH X64)
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(ROOT_ARCHITECTURE win32)
set(WIN_EXTRA_DEFS "-D_WINDOWS -DWIN32 -D_X86_")
set(MACHINE_ARCH X86)
set(WIN_EXTRA_DEFS "-D_WINDOWS -DWIN32 -D_X86_")
set(MACHINE_ARCH X86)
endif()

set(ROOT_ARCHITECTURE win32)

math(EXPR VC_MAJOR "${MSVC_VERSION} / 100")
math(EXPR VC_MINOR "${MSVC_VERSION} % 100")

if(winrtdebug)
set(BLDCXXFLAGS "-Zc:__cplusplus -std:c++${CMAKE_CXX_STANDARD} -MDd -GR")
set(BLDCFLAGS "-MDd")
if (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")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_ITERATOR_DEBUG_LEVEL=0")
endif()
endif()
set(BLDCXXFLAGS "-MDd")
set(BLDCFLAGS "-MDd")
else()
set(BLDCXXFLAGS "-Zc:__cplusplus -std:c++${CMAKE_CXX_STANDARD} -MD -GR")
set(BLDCFLAGS "-MD")
set(BLDCXXFLAGS "-MD")
set(BLDCFLAGS "-MD")
string(REPLACE "-MDd" "-MD" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
string(REPLACE "-MDd" "-MD" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
endif()

if(CMAKE_PROJECT_NAME STREQUAL ROOT)
set(CMAKE_CXX_FLAGS "-nologo -I${CMAKE_SOURCE_DIR}/build/win -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")
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()
if(win_broken_tests)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DR__ENABLE_BROKEN_WIN_TESTS")
endif()
if(llvm13_broken_tests)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DR__ENABLE_LLVM13_BROKEN_TESTS")
endif()
set(CMAKE_CXX_FLAGS "-nologo -I${CMAKE_SOURCE_DIR}/build/win -FIw32pragma.h -FIsehmap.h ${BLDCXXFLAGS} ${WIN_EXTRA_DEFS} -EHsc- -W3 -wd4141 -wd4291 -wd4244 -wd4049 -wd4146 -D_WIN32 ${ARCH} -D_XKEYCHECK_H -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS")
set(CMAKE_C_FLAGS "-nologo -I${CMAKE_SOURCE_DIR}/build/win -FIw32pragma.h -FIsehmap.h ${BLDCFLAGS} ${WIN_EXTRA_DEFS} -EHsc- -W3 -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -DNOMINMAX")
install(FILES ${CMAKE_SOURCE_DIR}/build/win/w32pragma.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT headers)
install(FILES ${CMAKE_SOURCE_DIR}/build/win/sehmap.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT headers)
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 ${BLDCXXFLAGS} ${WIN_EXTRA_DEFS} -EHsc- -W3 -wd4244")
set(CMAKE_C_FLAGS "-nologo -FIw32pragma.h -FIsehmap.h ${BLDCFLAGS} ${WIN_EXTRA_DEFS} -EHsc- -W3")
endif()

#---Select compiler flags----------------------------------------------------------------
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -Ob2 -Z7")
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -Ob2 -DNDEBUG")
set(CMAKE_CXX_FLAGS_DEBUG "-Od -Ob0 -Z7")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -Ob2 -Z7")
set(CMAKE_C_FLAGS_RELEASE "-O2 -Ob2 -DNDEBUG")
set(CMAKE_C_FLAGS_DEBUG "-Od -Ob0 -Z7")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-MD -O2 -Ob1 -Z7 -DNDEBUG")
set(CMAKE_CXX_FLAGS_MINSIZEREL "-MD -O1 -Ob1 -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_MINSIZEREL "-MD -O1 -Ob1 -DNDEBUG")
set(CMAKE_C_FLAGS_RELEASE "-MD -O2 -Ob2 -DNDEBUG")
set(CMAKE_C_FLAGS_DEBUG "-MDd -Od -Ob0 -Z7")

#---Set Linker flags----------------------------------------------------------------------
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -ignore:4049,4206,4217,4221 -incremental:no")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -ignore:4049,4206,4217,4221 -incremental:no")

string(TIMESTAMP CURRENT_YEAR "%Y")
set(ROOT_RC_SCRIPT ${CMAKE_BINARY_DIR}/etc/root.rc)
set(ROOT_MANIFEST ${CMAKE_BINARY_DIR}/etc/root-manifest.xml)

foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} )
Expand Down

0 comments on commit af42ccf

Please sign in to comment.