fix for using system includes, the include macro wasn't un-setting the previous include list so system includes could be mixed up with non system includes.

Also workaround for CMake 2.8.4 & GNU-Make which doesn't set CMAKE_INCLUDE_SYSTEM_FLAG_C
This commit is contained in:
Campbell Barton
2011-06-11 06:00:28 +00:00
parent 6fb82a85c9
commit c2e1f3a1e2
4 changed files with 62 additions and 21 deletions

View File

@@ -53,8 +53,17 @@ if(NOT DEFINED PYTHON_INCLUDE_DIRS)
if(NOT _Found_PYTHON_H) if(NOT _Found_PYTHON_H)
message(FATAL_ERROR "Python.h not found") message(FATAL_ERROR "Python.h not found")
endif() endif()
unset(_Found_PYTHON_H)
unset(_Python_HEADER)
unset(_CURRENT_ABI_FLAGS)
unset(_CURRENT_PATH)
endif() endif()
unset(_Python_ABI_FLAGS)
unset(_Python_PATHS)
#============================================================================= #=============================================================================
# now the python versions are found # now the python versions are found

View File

@@ -5,22 +5,28 @@
# use it instead of include_directories() # use it instead of include_directories()
macro(blender_include_dirs macro(blender_include_dirs
includes) includes)
set(_ALL_INCS "")
foreach(inc ${ARGV}) foreach(_INC ${ARGV})
get_filename_component(abs_inc ${inc} ABSOLUTE) get_filename_component(_ABS_INC ${_INC} ABSOLUTE)
list(APPEND all_incs ${abs_inc}) list(APPEND _ALL_INCS ${_ABS_INC})
endforeach() endforeach()
include_directories(${all_incs}) include_directories(${_ALL_INCS})
unset(_INC)
unset(_ABS_INC)
unset(_ALL_INCS)
endmacro() endmacro()
macro(blender_include_dirs_sys macro(blender_include_dirs_sys
includes) includes)
set(_ALL_INCS "")
foreach(inc ${ARGV}) foreach(_INC ${ARGV})
get_filename_component(abs_inc ${inc} ABSOLUTE) get_filename_component(_ABS_INC ${_INC} ABSOLUTE)
list(APPEND all_incs ${abs_inc}) list(APPEND _ALL_INCS ${_ABS_INC})
endforeach() endforeach()
include_directories(SYSTEM ${all_incs}) include_directories(SYSTEM ${_ALL_INCS})
unset(_INC)
unset(_ABS_INC)
unset(_ALL_INCS)
endmacro() endmacro()
macro(blender_source_group macro(blender_source_group
@@ -29,14 +35,17 @@ macro(blender_source_group
# Group by location on disk # Group by location on disk
source_group("Source Files" FILES CMakeLists.txt) source_group("Source Files" FILES CMakeLists.txt)
foreach(SRC ${sources}) foreach(_SRC ${sources})
get_filename_component(SRC_EXT ${SRC} EXT) get_filename_component(_SRC_EXT ${_SRC} EXT)
if(${SRC_EXT} MATCHES ".h" OR ${SRC_EXT} MATCHES ".hpp") if(${_SRC_EXT} MATCHES ".h" OR ${_SRC_EXT} MATCHES ".hpp")
source_group("Header Files" FILES ${SRC}) source_group("Header Files" FILES ${_SRC})
else() else()
source_group("Source Files" FILES ${SRC}) source_group("Source Files" FILES ${_SRC})
endif() endif()
endforeach() endforeach()
unset(_SRC)
unset(_SRC_EXT)
endmacro() endmacro()
@@ -196,10 +205,11 @@ macro(setup_liblinks
endif() endif()
if(WITH_IMAGE_OPENEXR) if(WITH_IMAGE_OPENEXR)
if(WIN32 AND NOT UNIX) if(WIN32 AND NOT UNIX)
foreach(loop_var ${OPENEXR_LIB}) foreach(_LOOP_VAR ${OPENEXR_LIB})
target_link_libraries(${target} debug ${loop_var}_d) target_link_libraries(${target} debug ${_LOOP_VAR}_d)
target_link_libraries(${target} optimized ${loop_var}) target_link_libraries(${target} optimized ${_LOOP_VAR})
endforeach() endforeach()
unset(_LOOP_VAR)
else() else()
target_link_libraries(${target} ${OPENEXR_LIB}) target_link_libraries(${target} ${OPENEXR_LIB})
endif() endif()
@@ -212,10 +222,11 @@ macro(setup_liblinks
endif() endif()
if(WITH_OPENCOLLADA) if(WITH_OPENCOLLADA)
if(WIN32 AND NOT UNIX) if(WIN32 AND NOT UNIX)
foreach(loop_var ${OPENCOLLADA_LIB}) foreach(_LOOP_VAR ${OPENCOLLADA_LIB})
target_link_libraries(${target} debug ${loop_var}_d) target_link_libraries(${target} debug ${_LOOP_VAR}_d)
target_link_libraries(${target} optimized ${loop_var}) target_link_libraries(${target} optimized ${_LOOP_VAR})
endforeach() endforeach()
unset(_LOOP_VAR)
target_link_libraries(${target} debug ${PCRE_LIB}_d) target_link_libraries(${target} debug ${PCRE_LIB}_d)
target_link_libraries(${target} optimized ${PCRE_LIB}) target_link_libraries(${target} optimized ${PCRE_LIB})
if(EXPAT_LIB) if(EXPAT_LIB)
@@ -472,4 +483,13 @@ macro(blender_project_hack_post)
unset(_reset_standard_cflags_rel) unset(_reset_standard_cflags_rel)
unset(_reset_standard_cxxflags_rel) unset(_reset_standard_cxxflags_rel)
# --------------------------------------------------
# workaround for omission in cmake 2.8.4's GNU.cmake
if(CMAKE_COMPILER_IS_GNUCC)
if(NOT DARWIN)
set(CMAKE_INCLUDE_SYSTEM_FLAG_C "-isystem ")
endif()
endif()
endmacro() endmacro()

View File

@@ -183,6 +183,12 @@ endif()
message(STATUS "Player Skipping: (${REM_MSG})") message(STATUS "Player Skipping: (${REM_MSG})")
endif() endif()
target_link_libraries(blenderplayer ${BLENDER_SORTED_LIBS}) target_link_libraries(blenderplayer ${BLENDER_SORTED_LIBS})
unset(SEARCHLIB)
unset(SORTLIB)
unset(REMLIB)
unset(REM_MSG)
# else() # else()
# target_link_libraries(blenderplayer ${BLENDER_LINK_LIBS}) # target_link_libraries(blenderplayer ${BLENDER_LINK_LIBS})
# endif() # endif()

View File

@@ -851,6 +851,12 @@ endif()
message(STATUS "Blender Skipping: (${REM_MSG})") message(STATUS "Blender Skipping: (${REM_MSG})")
endif() endif()
target_link_libraries(blender ${BLENDER_SORTED_LIBS}) target_link_libraries(blender ${BLENDER_SORTED_LIBS})
unset(SEARCHLIB)
unset(SORTLIB)
unset(REMLIB)
unset(REM_MSG)
#else() #else()
# target_link_libraries(blender ${BLENDER_LINK_LIBS}) # target_link_libraries(blender ${BLENDER_LINK_LIBS})
#endif() #endif()