Merge topic 'vs10_include_fix'
27aa446
One more try. Use full path by default, and relative on broken compilers.2dfc121
Use bin tree for inclues to avoid -I with spaces in the path.6d29b4b
Append and do not clobber CMAKE_CXX_FLAGS in the test.7815e90
Fix for bug#10798. VS10 did not append -I flags with COMPILE_FLAGS prop.
This commit is contained in:
commit
313a633b85
|
@ -299,7 +299,12 @@ cmVisualStudioGeneratorOptions
|
|||
{
|
||||
fout << "<" << m->first << ">";
|
||||
}
|
||||
fout << m->second << "</" << m->first << ">\n";
|
||||
fout << m->second;
|
||||
if (m->first == "AdditionalIncludeDirectories")
|
||||
{
|
||||
fout << ";%(AdditionalIncludeDirectories)";
|
||||
}
|
||||
fout << "</" << m->first << ">\n";
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
@ -2043,6 +2043,18 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
|
|||
ADD_TEST_MACRO(CompileCommandOutput
|
||||
"${CMake_BINARY_DIR}/Tests/CMakeLib/runcompilecommands")
|
||||
ENDIF()
|
||||
|
||||
ADD_TEST(IncludeDirectories ${CMAKE_CTEST_COMMAND}
|
||||
--build-and-test
|
||||
"${CMake_SOURCE_DIR}/Tests/IncludeDirectories"
|
||||
"${CMake_BINARY_DIR}/Tests/IncludeDirectories"
|
||||
--build-two-config
|
||||
--build-generator ${CMAKE_TEST_GENERATOR}
|
||||
--build-project IncludeDirectories
|
||||
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
|
||||
--test-command IncludeDirectories)
|
||||
LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/IncludeDirectories")
|
||||
|
||||
ENDIF(BUILD_TESTING)
|
||||
|
||||
SUBDIRS(CMakeTests)
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
cmake_minimum_required (VERSION 2.6)
|
||||
project(IncludeDirectories)
|
||||
|
||||
file(WRITE ${CMAKE_BINARY_DIR}/Flags/Flags.h
|
||||
"//Flags.h
|
||||
")
|
||||
file(WRITE ${CMAKE_BINARY_DIR}/IncDir/IncDir.h
|
||||
"//IncDir.h
|
||||
")
|
||||
file(WRITE ${CMAKE_BINARY_DIR}/SrcProp/SrcProp.h
|
||||
"//SrcProp.h
|
||||
")
|
||||
file(WRITE ${CMAKE_BINARY_DIR}/TarProp/TarProp.h
|
||||
"//TarProp.h
|
||||
")
|
||||
|
||||
# default to testing with full path
|
||||
# some compilers can not handle the escape for directories
|
||||
# with spaces in them.
|
||||
set(USE_FULLPATH TRUE)
|
||||
if(WATCOM OR MSVC60)
|
||||
set(USE_FULLPATH FALSE)
|
||||
endif()
|
||||
if(USE_FULLPATH)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \"-I${CMAKE_BINARY_DIR}/Flags\"")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -IFlags")
|
||||
endif()
|
||||
|
||||
include_directories(${CMAKE_BINARY_DIR}/IncDir)
|
||||
if(USE_FULLPATH)
|
||||
set_source_files_properties(main.cpp PROPERTIES COMPILE_FLAGS
|
||||
"\"-I${CMAKE_BINARY_DIR}/SrcProp\"")
|
||||
else()
|
||||
set_source_files_properties(main.cpp PROPERTIES COMPILE_FLAGS
|
||||
"-ISrcProp")
|
||||
endif()
|
||||
|
||||
add_executable(IncludeDirectories main.cpp)
|
||||
|
||||
if(USE_FULLPATH)
|
||||
set_target_properties(IncludeDirectories
|
||||
PROPERTIES COMPILE_FLAGS "\"-I${CMAKE_BINARY_DIR}/TarProp\"")
|
||||
else()
|
||||
set_target_properties(IncludeDirectories
|
||||
PROPERTIES COMPILE_FLAGS "-ITarProp")
|
||||
endif()
|
|
@ -0,0 +1,9 @@
|
|||
#include "Flags.h"
|
||||
#include "IncDir.h"
|
||||
#include "SrcProp.h"
|
||||
#include "TarProp.h"
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue