|
|
@@ -492,14 +492,15 @@ macro (enable_pch)
|
|
|
string (MAKE_C_IDENTIFIER ${EXPORT_IMPORT_CONDITION} EXPORT_IMPORT_CONDITION)
|
|
|
endif ()
|
|
|
list (APPEND COMPILE_DEFINITIONS ${EXPORT_IMPORT_CONDITION})
|
|
|
- set (PIC -fPIC)
|
|
|
+ # Below is a hack as it assumes the compiler is modern enough to support these flags
|
|
|
+ set (COMPILER_EXPORT_FLAGS "-fPIC -fvisibility=hidden -fvisibility-inlines-hidden")
|
|
|
endif ()
|
|
|
string (REPLACE ";" " -D" COMPILE_DEFINITIONS "-D${COMPILE_DEFINITIONS}")
|
|
|
string (REPLACE ";" " -I" INCLUDE_DIRECTORIES "-I${INCLUDE_DIRECTORIES}")
|
|
|
file (MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${PCH_FILENAME})
|
|
|
foreach (CONFIG ${CMAKE_CONFIGURATION_TYPES} ${CMAKE_BUILD_TYPE})
|
|
|
string (TOUPPER ${CONFIG} UPPERCASE_CONFIG)
|
|
|
- file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/Precompiled.h.${CONFIG}.rsp.new "${COMPILE_DEFINITIONS} ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPERCASE_CONFIG}} ${PIC} ${INCLUDE_DIRECTORIES}")
|
|
|
+ file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/Precompiled.h.${CONFIG}.rsp.new "${COMPILE_DEFINITIONS} ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPERCASE_CONFIG}} ${COMPILER_EXPORT_FLAGS} ${INCLUDE_DIRECTORIES}")
|
|
|
execute_process (COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/Precompiled.h.${CONFIG}.rsp.new ${CMAKE_CURRENT_BINARY_DIR}/Precompiled.h.${CONFIG}.rsp)
|
|
|
file (REMOVE ${CMAKE_CURRENT_BINARY_DIR}/Precompiled.h.${CONFIG}.rsp.new)
|
|
|
# Make sure the precompiled headers are not stale
|