mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-24 14:49:42 -06:00
cmake: Remove PCH support
Compilers are very picky and don't use PCH when they have been compiled with different flags. I even got some ICE in MSVC, so removing them for now. Modules are the solution.
This commit is contained in:
@ -65,7 +65,7 @@ android {
|
||||
defaultConfig {
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
arguments "-DANDROID_STL=c++_static", "-DCMAKE_BUILD_TYPE=RelWithDebInfo", "-DENABLE_PCH=OFF" // , "-DENABLE_GENERIC=ON"
|
||||
arguments "-DANDROID_STL=c++_static", "-DCMAKE_BUILD_TYPE=RelWithDebInfo" // , "-DENABLE_GENERIC=ON"
|
||||
abiFilters "arm64-v8a" //, "armeabi-v7a", "x86_64", "x86"
|
||||
}
|
||||
}
|
||||
|
@ -8,52 +8,9 @@ endif()
|
||||
add_definitions(-D__STDC_LIMIT_MACROS)
|
||||
add_definitions(-D__STDC_CONSTANT_MACROS)
|
||||
|
||||
set(CMAKE_FAKELANG_CREATE_STATIC_LIBRARY "touch <TARGET>")
|
||||
if(ENABLE_PCH)
|
||||
# This is actually a .h file, but trick cmake into compiling it as a source file
|
||||
set(pch_out_filename "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/pch.dir/pch.h")
|
||||
if (ANDROID)
|
||||
set(pch_lib_filename "${LIBRARY_OUTPUT_PATH}/libpch.a")
|
||||
else()
|
||||
set(pch_lib_filename "${CMAKE_CURRENT_BINARY_DIR}/libpch.a")
|
||||
endif()
|
||||
set(pch_src_filename "${CMAKE_CURRENT_SOURCE_DIR}/PCH/pch.h")
|
||||
|
||||
if(APPLE)
|
||||
set(type objective-c++-header)
|
||||
else()
|
||||
set(type c++-header)
|
||||
endif()
|
||||
|
||||
set_source_files_properties(
|
||||
PCH/pch.h PROPERTIES
|
||||
COMPILE_FLAGS "-x ${type}"
|
||||
HEADER_FILE_ONLY 0
|
||||
LANGUAGE CXX)
|
||||
|
||||
add_library(pch STATIC PCH/pch.h)
|
||||
|
||||
add_custom_command(
|
||||
TARGET pch
|
||||
PRE_LINK
|
||||
COMMAND ln -fs "${pch_out_filename}.o" "${pch_out_filename}.gch"
|
||||
COMMAND ln -fs "${pch_out_filename}.o" "${pch_out_filename}.pch"
|
||||
COMMAND cp "${pch_src_filename}" "${pch_out_filename}")
|
||||
|
||||
set_target_properties(
|
||||
pch PROPERTIES
|
||||
LINKER_LANGUAGE FAKELANG)
|
||||
endif(ENABLE_PCH)
|
||||
macro(add_dolphin_library lib srcs libs)
|
||||
add_library(${lib} STATIC ${srcs})
|
||||
target_link_libraries(${lib} ${libs})
|
||||
if(ENABLE_PCH)
|
||||
add_dependencies(${lib} pch)
|
||||
set_source_files_properties(
|
||||
${srcs} PROPERTIES
|
||||
COMPILE_FLAGS "-include '${pch_out_filename}'"
|
||||
OBJECT_DEPENDS "${pch_lib_filename}")
|
||||
endif(ENABLE_PCH)
|
||||
endmacro(add_dolphin_library)
|
||||
|
||||
add_subdirectory(Core)
|
||||
|
Reference in New Issue
Block a user