mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-03-22 15:05:03 +01:00
reenable precompiled header, add USE_LTO option, enable LTO in CI builds
This commit is contained in:
@@ -5,11 +5,13 @@ endif()
|
|||||||
if(POLICY CMP0074)
|
if(POLICY CMP0074)
|
||||||
cmake_policy(SET CMP0074 NEW)
|
cmake_policy(SET CMP0074 NEW)
|
||||||
endif()
|
endif()
|
||||||
|
if(POLICY CMP0069)
|
||||||
|
cmake_policy(SET CMP0069 NEW)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG TRUE)
|
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG TRUE)
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMake_modules/")
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMake_modules/")
|
||||||
|
|
||||||
#include(cotire)
|
|
||||||
set(DEPS_DIR ${DEPS_DIR} "${CMAKE_SOURCE_DIR}/ref")
|
set(DEPS_DIR ${DEPS_DIR} "${CMAKE_SOURCE_DIR}/ref")
|
||||||
project("eu07")
|
project("eu07")
|
||||||
|
|
||||||
@@ -48,6 +50,7 @@ option(WITH_UART "Compile with libserialport" ON)
|
|||||||
option(WITH_OPENVR "Compile with OpenVR" ON)
|
option(WITH_OPENVR "Compile with OpenVR" ON)
|
||||||
option(WITH_ZMQ "Compile with cppzmq" OFF)
|
option(WITH_ZMQ "Compile with cppzmq" OFF)
|
||||||
option(USE_VSDEV_CAMERA "Use VS_Dev camera preview implementation" OFF)
|
option(USE_VSDEV_CAMERA "Use VS_Dev camera preview implementation" OFF)
|
||||||
|
option(USE_LTO "Use link-time optimization" OFF)
|
||||||
|
|
||||||
set(SOURCES
|
set(SOURCES
|
||||||
"Texture.cpp"
|
"Texture.cpp"
|
||||||
@@ -318,7 +321,8 @@ add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS})
|
|||||||
if (${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC)
|
if (${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC)
|
||||||
# /wd4996: disable "deprecation" warnings
|
# /wd4996: disable "deprecation" warnings
|
||||||
# /wd4244: disable warnings for conversion with possible loss of data
|
# /wd4244: disable warnings for conversion with possible loss of data
|
||||||
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/wd4996 /wd4244")
|
# /wd5033: disable because it is all over Python headers
|
||||||
|
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/wd4996 /wd4244 /wd5033")
|
||||||
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/LARGEADDRESSAWARE")
|
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/LARGEADDRESSAWARE")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -332,6 +336,18 @@ set_target_properties( ${PROJECT_NAME}
|
|||||||
DEBUG_POSTFIX "_d"
|
DEBUG_POSTFIX "_d"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(NOT ${CMAKE_VERSION} VERSION_LESS "3.16.0")
|
||||||
|
option(USE_PCH "Use precompiled header" ON)
|
||||||
|
|
||||||
|
if (USE_PCH)
|
||||||
|
target_precompile_headers(${PROJECT_NAME} PRIVATE "$<$<COMPILE_LANGUAGE:CXX>:${CMAKE_CURRENT_SOURCE_DIR}/stdafx.h>")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (USE_LTO)
|
||||||
|
set_property(TARGET ${PROJECT_NAME} PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (WITH_OPENVR)
|
if (WITH_OPENVR)
|
||||||
include_directories(${OPENVR_INCLUDE_DIR})
|
include_directories(${OPENVR_INCLUDE_DIR})
|
||||||
target_link_libraries(${PROJECT_NAME} ${OPENVR_LIBRARY})
|
target_link_libraries(${PROJECT_NAME} ${OPENVR_LIBRARY})
|
||||||
@@ -391,10 +407,3 @@ if (WITH_ZMQ)
|
|||||||
include_directories(${cppzmq_INCLUDE_DIR})
|
include_directories(${cppzmq_INCLUDE_DIR})
|
||||||
target_link_libraries(${PROJECT_NAME} ${cppzmq_LIBRARY})
|
target_link_libraries(${PROJECT_NAME} ${cppzmq_LIBRARY})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#target_compile_options(${PROJECT_NAME} PRIVATE -flto)
|
|
||||||
#target_link_libraries(${PROJECT_NAME} -flto)
|
|
||||||
|
|
||||||
#set_target_properties(${PROJECT_NAME} PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT "stdafx.h")
|
|
||||||
#set_target_properties(${PROJECT_NAME} PROPERTIES COTIRE_ADD_UNITY_BUILD FALSE)
|
|
||||||
#cotire(${PROJECT_NAME})
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -38,7 +38,7 @@ jobs:
|
|||||||
- script: |
|
- script: |
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DWITH_ZMQ=OFF -DWITH_OPENVR=OFF
|
cmake .. -DCMAKE_BUILD_TYPE=Release -DWITH_ZMQ=OFF -DWITH_OPENVR=OFF -DUSE_LTO=ON
|
||||||
cmake --build .
|
cmake --build .
|
||||||
displayName: 'Build'
|
displayName: 'Build'
|
||||||
- task: PublishBuildArtifacts@1
|
- task: PublishBuildArtifacts@1
|
||||||
@@ -71,7 +71,7 @@ jobs:
|
|||||||
- script: |
|
- script: |
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_TOOLCHAIN_FILE=/tmp/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-osx -DWITH_ZMQ=OFF -DWITH_OPENVR=OFF -DWITH_UART=OFF
|
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_TOOLCHAIN_FILE=/tmp/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-osx -DWITH_ZMQ=OFF -DWITH_OPENVR=OFF -DWITH_UART=OFF -DUSE_LTO=ON
|
||||||
cmake --build .
|
cmake --build .
|
||||||
displayName: 'Build'
|
displayName: 'Build'
|
||||||
- task: PublishBuildArtifacts@1
|
- task: PublishBuildArtifacts@1
|
||||||
@@ -104,7 +104,7 @@ jobs:
|
|||||||
- script: |
|
- script: |
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_TOOLCHAIN_FILE=/tmp/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-osx -DWITH_ZMQ=OFF -DWITH_OPENVR=OFF -DWITH_UART=OFF -DUSE_IMGUI_GL3=OFF
|
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_TOOLCHAIN_FILE=/tmp/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-osx -DWITH_ZMQ=OFF -DWITH_OPENVR=OFF -DWITH_UART=OFF -DUSE_IMGUI_GL3=OFF -DUSE_LTO=ON
|
||||||
cmake --build .
|
cmake --build .
|
||||||
displayName: 'Build'
|
displayName: 'Build'
|
||||||
- task: PublishBuildArtifacts@1
|
- task: PublishBuildArtifacts@1
|
||||||
@@ -137,7 +137,7 @@ jobs:
|
|||||||
- script: |
|
- script: |
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=arm64 -DCMAKE_TOOLCHAIN_FILE=/tmp/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=arm64-osx -DWITH_ZMQ=OFF -DWITH_OPENVR=OFF -DWITH_UART=OFF
|
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=arm64 -DCMAKE_TOOLCHAIN_FILE=/tmp/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=arm64-osx -DWITH_ZMQ=OFF -DWITH_OPENVR=OFF -DWITH_UART=OFF -DUSE_LTO=ON
|
||||||
cmake --build .
|
cmake --build .
|
||||||
displayName: 'Build'
|
displayName: 'Build'
|
||||||
- task: PublishBuildArtifacts@1
|
- task: PublishBuildArtifacts@1
|
||||||
@@ -158,7 +158,7 @@ jobs:
|
|||||||
- script: |
|
- script: |
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake .. -A x64
|
cmake .. -A x64 -DUSE_LTO=ON
|
||||||
cmake --build . --config RelWithDebInfo
|
cmake --build . --config RelWithDebInfo
|
||||||
displayName: 'Build'
|
displayName: 'Build'
|
||||||
- task: PublishBuildArtifacts@1
|
- task: PublishBuildArtifacts@1
|
||||||
@@ -200,7 +200,7 @@ jobs:
|
|||||||
- script: |
|
- script: |
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake .. -A Win32 -T v141_xp
|
cmake .. -A Win32 -T v141_xp -DUSE_LTO=ON
|
||||||
cmake --build . --config RelWithDebInfo
|
cmake --build . --config RelWithDebInfo
|
||||||
displayName: 'Build'
|
displayName: 'Build'
|
||||||
- task: PublishBuildArtifacts@1
|
- task: PublishBuildArtifacts@1
|
||||||
|
|||||||
@@ -8,6 +8,5 @@ http://mozilla.org/MPL/2.0/.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "openglmatrixstack.h"
|
|
||||||
|
|
||||||
opengl_matrices OpenGLMatrices;
|
opengl_matrices OpenGLMatrices;
|
||||||
|
|||||||
@@ -11,9 +11,6 @@ http://mozilla.org/MPL/2.0/.
|
|||||||
|
|
||||||
#include <stack>
|
#include <stack>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <glm/glm.hpp>
|
|
||||||
#include <glm/gtc/matrix_transform.hpp>
|
|
||||||
#include <glm/gtc/type_ptr.hpp>
|
|
||||||
|
|
||||||
// encapsulation of the fixed pipeline opengl matrix stack
|
// encapsulation of the fixed pipeline opengl matrix stack
|
||||||
class opengl_matrices {
|
class opengl_matrices {
|
||||||
|
|||||||
2
stdafx.h
2
stdafx.h
@@ -112,6 +112,4 @@ int const null_handle = 0;
|
|||||||
#include "imgui/imgui.h"
|
#include "imgui/imgui.h"
|
||||||
#define ImVec2S(a, b) ImVec2(a * Global.ui_scale, b * Global.ui_scale)
|
#define ImVec2S(a, b) ImVec2(a * Global.ui_scale, b * Global.ui_scale)
|
||||||
|
|
||||||
#pragma warning( disable : 5033 ) // "register is no longer a supported storage class" but it's all over python headers
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user