diff options
-rwxr-xr-x | CMakeLists.txt | 2 | ||||
-rw-r--r-- | cmake/msvc.cmake | 39 | ||||
-rw-r--r-- | cmake/opentrack-build.cmake | 6 | ||||
-rw-r--r-- | cmake/opentrack-platform.cmake | 12 |
4 files changed, 27 insertions, 32 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 074e4011..a90720a9 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,10 +35,10 @@ set(opentrack-all-translations nl_NL ru_RU stub) include(opentrack-word-size) include(opentrack-hier) -include(opentrack-qt) include(opentrack-platform) include(opentrack-boilerplate) +include(opentrack-qt) include(opentrack-version) include(opentrack-install) diff --git a/cmake/msvc.cmake b/cmake/msvc.cmake index e5912f46..f5915d99 100644 --- a/cmake/msvc.cmake +++ b/cmake/msvc.cmake @@ -12,12 +12,11 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # oldest CPU supported here is Northwood-based Pentium 4. -sh 20150811 -set(cc "/O2it /Ob2 /fp:fast /GS- /GF /GL /Gw /Gy") +set(cc "/O2 /O2it /Ob2 /fp:fast /GS- /GF /GL /Gw /Gy /Gm /Zc:inline /Zo /FS /Zc:implicitNoexcept /Zc:threadSafeInit") set(warns_ "") -#C4244: 'return': conversion from '__int64' to 'long', possible loss of data -set(warns-disable 4530 4577 4789 4244) +set(warns-disable 4530 4577 4789 4244 4702) foreach(i ${warns-disable}) set(warns_ "${warns_} /wd${i}") @@ -43,59 +42,53 @@ if(CMAKE_PROJECT_NAME STREQUAL "opentrack") set(cc "${cc} /GR- /arch:SSE2") endif() -set(silly "${warns_} -MT -Gm -Zi") +set(base-cflags "${warns_} -MT -Zi") -set(_CFLAGS "${silly}") -set(_CXXFLAGS "${silly}") +set(_CFLAGS "${base-cflags}") +set(_CXXFLAGS "${base-cflags}") set(_CFLAGS_RELEASE "${cc}") set(_CFLAGS_DEBUG "/GS /sdl /Gs /guard:cf") set(_CXXFLAGS_RELEASE "${cc}") set(_CXXFLAGS_DEBUG "${_CFLAGS_DEBUG}") -set(_LDFLAGS "") +set(_LDFLAGS "/machine:X86 /DEBUG") set(_LDFLAGS_RELEASE "/LTCG:INCREMENTAL /OPT:REF /OPT:ICF=10") set(_LDFLAGS_DEBUG "") -set(_LDFLAGS_STATIC "/WX") +set(_LDFLAGS_STATIC "/machine:X86 /WX") set(_LDFLAGS_STATIC_RELEASE "/LTCG:INCREMENTAL") set(_LDFLAGS_STATIC_DEBUG "") foreach(j C CXX) foreach(i "" _DEBUG _RELEASE) - set(OVERRIDE_${j}_FLAGS${i} "" CACHE STRING "") - set(CMAKE_${j}_FLAGS${i} "${_${j}FLAGS${i}} ${OVERRIDE_${j}_FLAGS${i}}" CACHE STRING "" FORCE) + set(CMAKE_${j}_FLAGS${i} "${_${j}FLAGS${i}} ${CMAKE_${j}_FLAGS${i}}") endforeach() - set(CMAKE_${j}_FLAGS "${_${j}FLAGS} ${_${j}_WARNS} ${OVERRIDE_${j}_FLAGS}" CACHE STRING "" FORCE) + set(CMAKE_${j}_FLAGS "${_${j}FLAGS} ${_${j}_WARNS} ${CMAKE_${j}_FLAGS}") endforeach() foreach(j "" _DEBUG _RELEASE) foreach(i MODULE EXE SHARED) - set(OVERRIDE_LDFLAGS${j} "" CACHE STRING "") - set(CMAKE_${i}_LINKER_FLAGS${j} "${_LDFLAGS${j}} ${OVERRIDE_LDFLAGS${j}}" CACHE STRING "" FORCE) + set(CMAKE_${i}_LINKER_FLAGS${j} "${_LDFLAGS${j}} ${CMAKE_${i}_LINKER_FLAGS${j}}") endforeach() endforeach() -set(OVERRIDE_LDFLAGS_STATIC "" CACHE STRING "") -set(OVERRIDE_LDFLAGS_STATIC_RELEASE "" CACHE STRING "") -set(OVERRIDE_LDFLAGS_STATIC_DEBUG "" CACHE STRING "") - -set(CMAKE_STATIC_LINKER_FLAGS "${_LDFLAGS_STATIC} ${OVERRIDE_LDFLAGS_STATIC}" CACHE STRING "" FORCE) -set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${_LDFLAGS_STATIC_RELEASE} ${OVERRIDE_LDFLAGS_STATIC_RELEASE}" CACHE STRING "" FORCE) -set(CMAKE_STATIC_LINKER_FLAGS_DEBUG "${_LDFLAGS_STATIC_DEBUG} ${OVERRIDE_LDFLAGS_STATIC_DEBUG}" CACHE STRING "" FORCE) +set(CMAKE_STATIC_LINKER_FLAGS "${_LDFLAGS_STATIC} ${CMAKE_STATIC_LINKER_FLAGS}") +set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${_LDFLAGS_STATIC_RELEASE} ${CMAKE_STATIC_LINKER_FLAGS_RELEASE}") +set(CMAKE_STATIC_LINKER_FLAGS_DEBUG "${_LDFLAGS_STATIC_DEBUG} ${CMAKE_STATIC_LINKER_FLAGS_DEBUG}") set(CMAKE_BUILD_TYPE_INIT RELEASE) # for nmake/jom build directories if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE "RELEASE" CACHE STRING "" FORCE) + set(CMAKE_BUILD_TYPE "RELEASE") endif() if(CMAKE_PROJECT_NAME STREQUAL "opentrack") foreach (i CMAKE_CXX_FLAGS CMAKE_C_FLAGS) string(REGEX MATCH "((^| )[-/][W][0-9]( |\$))" ret "${${i}}") if(ret STREQUAL "") - set(${i} "-W3 ${${i}}" CACHE STRING "" FORCE) + set(${i} "-W3 ${${i}}") endif() endforeach() endif() -set(CMAKE_RC_FLAGS "-nologo -DWIN32" CACHE STRING "" FORCE) +set(CMAKE_RC_FLAGS "-nologo -DWIN32") diff --git a/cmake/opentrack-build.cmake b/cmake/opentrack-build.cmake index 4fe8fde0..ab2bb3b8 100644 --- a/cmake/opentrack-build.cmake +++ b/cmake/opentrack-build.cmake @@ -8,13 +8,15 @@ # PERFORMANCE OF THIS SOFTWARE. if(NOT CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "" FORCE) + set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install") endif() set(CMAKE_BUILD_TYPE_INIT "RELEASE") if(APPLE) - set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE STRING "" FORCE) + if(NOT CMAKE_OSX_ARCHITECTURES) + set(CMAKE_OSX_ARCHITECTURES "x86_64") + endif() endif() function(cleanup_build_dir) diff --git a/cmake/opentrack-platform.cmake b/cmake/opentrack-platform.cmake index 9d5b1abe..9c1d73a7 100644 --- a/cmake/opentrack-platform.cmake +++ b/cmake/opentrack-platform.cmake @@ -41,9 +41,10 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") endif() if(MSVC) - add_definitions(-DNOMINMAX -D_CRT_SECURE_NO_WARNINGS) - add_definitions(-D_ITERATOR_DEBUG_LEVEL=0 -D_HAS_ITERATOR_DEBUGGING=0 -D_SECURE_SCL=0) - add_definitions(-DHAS_EXCEPTIONS=0) + add_definitions(-DNOMINMAX -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS) + add_definitions(-D_ITERATOR_DEBUG_LEVEL=0 -D_ITERATOR_DEBUG_LEVEL=0) + add_definitions(-D_HAS_EXCEPTIONS=0) + set(CMAKE_CXX_FLAGS "-std:c++14 ${CMAKE_CXX_FLAGS}") if(SDK_INSTALL_DEBUG_INFO) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Zi") @@ -112,7 +113,6 @@ function(fix_flags lang flag replacement) if(".${replacement}" STREQUAL ".") set(pfx "") endif() - otr_escape_string(flag "${flag}") foreach(k _DEBUG _RELEASE _MINSIZEREL _RELWITHDEBINFO "") set(tmp "${CMAKE_${lang}_FLAGS${k}}") if(NOT ".${replacement}" STREQUAL ".") @@ -120,9 +120,9 @@ function(fix_flags lang flag replacement) endif() string(REGEX REPLACE "(^| )${part}${flag}(\$| )" " ${pfx}${replacement}" CMAKE_${lang}_FLAGS${k} "${CMAKE_${lang}_FLAGS${k}}") if(NOT ".${tmp}" STREQUAL ".${CMAKE_${lang}_FLAGS${k}}") - set(CMAKE_${lang}_FLAGS${k} "${CMAKE_${lang}_FLAGS${k}}" CACHE STRING "" FORCE) + set(CMAKE_${lang}_FLAGS${k} "${CMAKE_${lang}_FLAGS${k}}" CACHE STRING "") else() - set(CMAKE_${lang}_FLAGS${k} "${CMAKE_${lang}_FLAGS${k}} ${pfx}${replacement}" CACHE STRING "" FORCE) + set(CMAKE_${lang}_FLAGS${k} "${CMAKE_${lang}_FLAGS${k}} ${pfx}${replacement}" CACHE STRING "") endif() endforeach() endfunction() |