Disabled optimization settings on Windows because they were breaking the build

This commit is contained in:
ksuprynowicz 2021-10-24 18:06:45 +02:00
parent e474cb7f67
commit fc3177a23c
3 changed files with 77 additions and 67 deletions

View file

@ -84,23 +84,24 @@ if(NOT DEFINED VIRCADIA_OPTIMIZE)
set(VIRCADIA_OPTIMIZE true CACHE BOOL "Enable code optimization for Vircadia and compiled dependencies")
endif()
if( NOT WIN32 )
#compiler needs to be detected before building VCPKG dependencies
set(CMAKE_PLATFORM_INFO_DIR "${CMAKE_CURRENT_BINARY_DIR}")
include(CMakeDetermineCXXCompiler)
set(VIRCADIA_OPTIMIZE_FLAGS "")
set(VIRCADIA_OPTIMIZE_FLAGS "-O3 -fPIC")
if(VIRCADIA_OPTIMIZE)
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/_env/VIRCADIA_OPTIMIZE.txt" "${VIRCADIA_OPTIMIZE}")
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
message("Clang compiler detected, adding -O3 -fPIC flags")
set(VIRCADIA_OPTIMIZE_FLAGS "-O3 -fPIC")
elseif (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
message("GCC compiler detected, adding -O3 -fPIC flags")
set(VIRCADIA_OPTIMIZE_FLAGS "-O3 -fPIC")
elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
message("MSVC compiler detected, adding /O2 flag")
set(VIRCADIA_OPTIMIZE_FLAGS "/O2")
else()
message("No predefined optimization flags for compiler ${CMAKE_CXX_COMPILER_ID}")
endif()
endif()
MESSAGE(STATUS "VIRCADIA_OPTIMIZE: ${VIRCADIA_OPTIMIZE}")
@ -129,6 +130,7 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${VIRCADIA_OPTIMIZE_FLAGS}")
set(ENV{CXXFLAGS} "$ENV{CXXFLAGS} ${VIRCADIA_OPTIMIZE_FLAGS}")
set(ENV{CFLAGS} "$ENV{CFLAGS} ${VIRCADIA_OPTIMIZE_FLAGS}")
endif()
message($ENV{CXXFLAGS})

View file

@ -15,13 +15,6 @@
include(vcpkg_common_functions)
if(EXISTS "${VCPKG_ROOT_DIR}/_env/VIRCADIA_OPTIMIZE.txt")
file(READ "${VCPKG_ROOT_DIR}/_env/VIRCADIA_OPTIMIZE.txt" VIRCADIA_OPTIMIZE)
endif()
if(EXISTS "${VCPKG_ROOT_DIR}/_env/VIRCADIA_CPU_ARCHITECTURE.txt")
file(READ "${VCPKG_ROOT_DIR}/_env/VIRCADIA_CPU_ARCHITECTURE.txt" VIRCADIA_CPU_ARCHITECTURE)
endif()
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
message(WARNING "Dynamic not supported, building static")
@ -38,6 +31,16 @@ vcpkg_from_github(
PATCHES "bullet-git-fix-build-clang-8.patch"
)
if(WIN32)
set(VIRCADIA_BULLET_OPTIONS "")
else()
if(EXISTS "${VCPKG_ROOT_DIR}/_env/VIRCADIA_OPTIMIZE.txt")
file(READ "${VCPKG_ROOT_DIR}/_env/VIRCADIA_OPTIMIZE.txt" VIRCADIA_OPTIMIZE)
endif()
if(EXISTS "${VCPKG_ROOT_DIR}/_env/VIRCADIA_CPU_ARCHITECTURE.txt")
file(READ "${VCPKG_ROOT_DIR}/_env/VIRCADIA_CPU_ARCHITECTURE.txt" VIRCADIA_CPU_ARCHITECTURE)
endif()
if(VIRCADIA_OPTIMIZE)
set(VIRCADIA_BULLET_OPTIONS "-DCMAKE_BUILD_TYPE=Release")
@ -50,6 +53,7 @@ set(VIRCADIA_BULLET_OPTIONS "${VIRCADIA_BULLET_OPTIONS}")
if(DEFINED VIRCADIA_CPU_ARCHITECTURE)
set(VIRCADIA_BULLET_OPTIONS "${VIRCADIA_BULLET_OPTIONS} -DCMAKE_CXX_FLAGS=\"${VIRCADIA_CPU_ARCHITECTURE}\" -DCMAKE_C_FLAGS=\"${VIRCADIA_CPU_ARCHITECTURE}\" ")
endif()
endif()
message("Optimization options for Bullet: ${VIRCADIA_BULLET_OPTIONS}")

View file

@ -1,12 +1,5 @@
include(vcpkg_common_functions)
if(EXISTS "${VCPKG_ROOT_DIR}/_env/VIRCADIA_OPTIMIZE.txt")
file(READ "${VCPKG_ROOT_DIR}/_env/VIRCADIA_OPTIMIZE.txt" VIRCADIA_OPTIMIZE)
endif()
if(EXISTS "${VCPKG_ROOT_DIR}/_env/VIRCADIA_CPU_ARCHITECTURE.txt")
file(READ "${VCPKG_ROOT_DIR}/_env/VIRCADIA_CPU_ARCHITECTURE.txt" VIRCADIA_CPU_ARCHITECTURE)
endif()
vcpkg_from_github(
OUT_SOURCE_PATH
SOURCE_PATH
@ -19,6 +12,16 @@ vcpkg_from_github(
HEAD_REF
master)
if(WIN32)
set(VIRCADIA_BULLET_OPTIONS "")
else()
if(EXISTS "${VCPKG_ROOT_DIR}/_env/VIRCADIA_OPTIMIZE.txt")
file(READ "${VCPKG_ROOT_DIR}/_env/VIRCADIA_OPTIMIZE.txt" VIRCADIA_OPTIMIZE)
endif()
if(EXISTS "${VCPKG_ROOT_DIR}/_env/VIRCADIA_CPU_ARCHITECTURE.txt")
file(READ "${VCPKG_ROOT_DIR}/_env/VIRCADIA_CPU_ARCHITECTURE.txt" VIRCADIA_CPU_ARCHITECTURE)
endif()
if(VIRCADIA_OPTIMIZE)
set(VIRCADIA_OPUS_OPTIONS "-DCMAKE_BUILD_TYPE=Release")
else()
@ -30,6 +33,7 @@ set(VIRCADIA_OPUS_OPTIONS "${VIRCADIA_OPUS_OPTIONS}")
if(DEFINED VIRCADIA_CPU_ARCHITECTURE)
set(VIRCADIA_OPUS_OPTIONS "${VIRCADIA_OPUS_OPTIONS} -DCMAKE_CXX_FLAGS=\"${VIRCADIA_CPU_ARCHITECTURE}\" -DCMAKE_C_FLAGS=\"${VIRCADIA_CPU_ARCHITECTURE}\" ")
endif()
endif()
message("Optimization options for Opus: ${VIRCADIA_OPUS_OPTIONS}")