mirror of https://github.com/OpenRCT2/OpenRCT2.git
Verify compilability of headers on Travis v2
Using approach described in https://github.com/OpenRCT2/OpenRCT2/pull/7369#issuecomment-393973857 with updates to ease readability and maintenance. Submitted as different PR, to keep history of the old approach. Supersedes #7369.
This commit is contained in:
parent
b43a9a6ccf
commit
949321762b
|
@ -59,8 +59,8 @@ if (NOT DISABLE_TTF)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Sources
|
# Sources
|
||||||
file(GLOB_RECURSE OPENRCT2_CORE_SOURCES "${CMAKE_CURRENT_LIST_DIR}/*.cpp"
|
file(GLOB_RECURSE OPENRCT2_CORE_SOURCES "${CMAKE_CURRENT_LIST_DIR}/*.cpp")
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/*.h"
|
file(GLOB_RECURSE OPENRCT2_CORE_HEADERS "${CMAKE_CURRENT_LIST_DIR}/*.h"
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/*.hpp")
|
"${CMAKE_CURRENT_LIST_DIR}/*.hpp")
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
file(GLOB_RECURSE OPENRCT2_CORE_MM_SOURCES "${CMAKE_CURRENT_LIST_DIR}/*.mm")
|
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/SSE41Drawing.cpp PROPERTIES COMPILE_FLAGS -msse4.1)
|
||||||
set_source_files_properties(${CMAKE_CURRENT_LIST_DIR}/drawing/AVX2Drawing.cpp PROPERTIES COMPILE_FLAGS -mavx2)
|
set_source_files_properties(${CMAKE_CURRENT_LIST_DIR}/drawing/AVX2Drawing.cpp PROPERTIES COMPILE_FLAGS -mavx2)
|
||||||
endif()
|
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 ${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 ()
|
||||||
|
|
Loading…
Reference in New Issue