mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-15 11:03:00 +01:00
Merge pull request #7625 from janisozaur/headers-check-2
Verify compilability of headers on Travis v2
This commit is contained in:
@@ -35,7 +35,8 @@ endif ()
|
||||
|
||||
# Sources
|
||||
file(GLOB_RECURSE OPENRCT2_UI_SOURCES
|
||||
"${CMAKE_CURRENT_LIST_DIR}/*.cpp"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/*.cpp")
|
||||
file(GLOB_RECURSE OPENRCT2_UI_HEADERS
|
||||
"${CMAKE_CURRENT_LIST_DIR}/*.h"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/*.hpp")
|
||||
|
||||
@@ -97,3 +98,19 @@ endif ()
|
||||
if (MSVC)
|
||||
add_definitions(-D__DISABLE_DLL_PROXY__)
|
||||
endif ()
|
||||
|
||||
# Add headers check to verify all headers carry their dependencies.
|
||||
# Only valid for Clang for now:
|
||||
# - GCC 8 does not support -Wno-pragma-once-outside-header
|
||||
# - Other compilers status unknown
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
set(OPENRCT2_HEADERS_CHECK ${OPENRCT2_UI_HEADERS})
|
||||
# OpenGLAPIProc.h is not meant to be included directly.
|
||||
list(REMOVE_ITEM OPENRCT2_HEADERS_CHECK "${CMAKE_CURRENT_LIST_DIR}/drawing/engines/opengl/OpenGLAPIProc.h")
|
||||
add_library(${PROJECT}-headers-check OBJECT ${OPENRCT2_HEADERS_CHECK})
|
||||
set_target_properties(${PROJECT}-headers-check PROPERTIES LINKER_LANGUAGE CXX)
|
||||
set_source_files_properties(${OPENRCT2_HEADERS_CHECK} PROPERTIES LANGUAGE CXX)
|
||||
add_definitions("-x c++ -Wno-pragma-once-outside-header -Wno-unused-const-variable")
|
||||
get_target_property(OPENRCT2_INCLUDE_DIRS ${PROJECT} INCLUDE_DIRECTORIES)
|
||||
set_target_properties(${PROJECT}-headers-check PROPERTIES INCLUDE_DIRECTORIES ${OPENRCT2_INCLUDE_DIRS})
|
||||
endif ()
|
||||
|
||||
@@ -59,8 +59,8 @@ if (NOT DISABLE_TTF)
|
||||
endif ()
|
||||
|
||||
# Sources
|
||||
file(GLOB_RECURSE OPENRCT2_CORE_SOURCES "${CMAKE_CURRENT_LIST_DIR}/*.cpp"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/*.h"
|
||||
file(GLOB_RECURSE OPENRCT2_CORE_SOURCES "${CMAKE_CURRENT_LIST_DIR}/*.cpp")
|
||||
file(GLOB_RECURSE OPENRCT2_CORE_HEADERS "${CMAKE_CURRENT_LIST_DIR}/*.h"
|
||||
"${CMAKE_CURRENT_LIST_DIR}/*.hpp")
|
||||
if (APPLE)
|
||||
file(GLOB_RECURSE OPENRCT2_CORE_MM_SOURCES "${CMAKE_CURRENT_LIST_DIR}/*.mm")
|
||||
@@ -179,3 +179,19 @@ if((X86 OR X86_64) AND NOT MSVC)
|
||||
set_source_files_properties(${CMAKE_CURRENT_LIST_DIR}/drawing/SSE41Drawing.cpp PROPERTIES COMPILE_FLAGS -msse4.1)
|
||||
set_source_files_properties(${CMAKE_CURRENT_LIST_DIR}/drawing/AVX2Drawing.cpp PROPERTIES COMPILE_FLAGS -mavx2)
|
||||
endif()
|
||||
|
||||
# Add headers check to verify all headers carry their dependencies.
|
||||
# Only valid for Clang for now:
|
||||
# - GCC 8 does not support -Wno-pragma-once-outside-header
|
||||
# - Other compilers status unknown
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
add_library(${PROJECT}-headers-check OBJECT ${OPENRCT2_CORE_HEADERS})
|
||||
set_target_properties(${PROJECT}-headers-check PROPERTIES LINKER_LANGUAGE CXX)
|
||||
set_source_files_properties(${OPENRCT2_CORE_HEADERS} PROPERTIES LANGUAGE CXX)
|
||||
add_definitions("-x c++ -Wno-pragma-once-outside-header -Wno-unused-const-variable")
|
||||
get_target_property(LIBOPENRCT2_INCLUDE_DIRS ${PROJECT} INCLUDE_DIRECTORIES)
|
||||
set_target_properties(${PROJECT}-headers-check PROPERTIES INCLUDE_DIRECTORIES ${LIBOPENRCT2_INCLUDE_DIRS})
|
||||
else ()
|
||||
# Dummy target to ease invocation
|
||||
add_custom_target(${PROJECT}-headers-check)
|
||||
endif ()
|
||||
|
||||
@@ -84,7 +84,7 @@ extern const rct_string_id DateDayNames[31];
|
||||
extern const rct_string_id DateGameMonthNames[MONTH_COUNT];
|
||||
extern const rct_string_id DateGameShortMonthNames[MONTH_COUNT];
|
||||
|
||||
static inline void set_format_arg_body(uint8 *args, size_t offset, uintptr_t value, size_t size)
|
||||
[[maybe_unused]] static inline void set_format_arg_body(uint8 *args, size_t offset, uintptr_t value, size_t size)
|
||||
{
|
||||
memcpy(args + offset, &value, size);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user