summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2013-12-30 06:48:30 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2013-12-30 06:48:30 +0000
commitbaa9f533fe242c657b8ce2949882e23813d7148b (patch)
tree11f61d6f17f781d9f3b49618b889645d1540a79a /clang/lib
parent4c141c3ef8b6ee99ce33542124afa23e6d9efb3c (diff)
downloadbcm5719-llvm-baa9f533fe242c657b8ce2949882e23813d7148b.tar.gz
bcm5719-llvm-baa9f533fe242c657b8ce2949882e23813d7148b.zip
[CMake][VS][XCode] Restruct the output directory layout more comfortable, ${BINARY_DIR}/${BUILD_MODE}/(bin|lib)
We have been seeing nasty directory layout with CMake multiconfig, such as, bin/Release/clang.exe lib/clang/3.x/... lib/Release/clang/3.x/.. (duplicated) Move the layout similar to autoconf's; Release/bin/clang.exe Release/lib/clang/3.x/... Checked on Visual Studio 10. Could you guys please confirm my change on XCode(and other multiconfig builders)? Note: Don't set variables CMAKE_*_OUTPUT_DIRECTORY any more, or a certain builder, for eaxample, msbuild.exe, would be confused. llvm-svn: 198205
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Headers/CMakeLists.txt35
1 files changed, 1 insertions, 34 deletions
diff --git a/clang/lib/Headers/CMakeLists.txt b/clang/lib/Headers/CMakeLists.txt
index 95804c098c1..0bc1cd937f9 100644
--- a/clang/lib/Headers/CMakeLists.txt
+++ b/clang/lib/Headers/CMakeLists.txt
@@ -47,14 +47,7 @@ set(files
module.map
)
-set(output_dir ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/clang/${CLANG_VERSION}/include)
-
-# If we are in an IDE that has a configuration directory, we need to
-# create a second copy of the headers so that 'clang' can find them if
-# it's run from the build directory.
-if(MSVC_IDE OR XCODE)
- set(other_output_dir ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib/clang/${CLANG_VERSION}/include)
-endif()
+set(output_dir ${CLANG_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include)
# Generate arm_neon.h
clang_tablegen(arm_neon.h -gen-arm-neon
@@ -69,15 +62,6 @@ foreach( f ${files} )
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
COMMENT "Copying clang's ${f}...")
list(APPEND out_files ${dst})
-
- if(other_output_dir)
- set(other_dst ${other_output_dir}/${f})
- add_custom_command(OUTPUT ${other_dst}
- DEPENDS ${src}
- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${other_dst}
- COMMENT "Copying clang's ${f}...")
- list(APPEND out_files ${other_dst})
- endif()
endforeach( f )
add_custom_command(OUTPUT ${output_dir}/arm_neon.h
@@ -86,26 +70,9 @@ add_custom_command(OUTPUT ${output_dir}/arm_neon.h
COMMENT "Copying clang's arm_neon.h...")
list(APPEND out_files ${output_dir}/arm_neon.h)
-if (other_output_dir)
- set(other_dst ${other_output_dir}/arm_neon.h)
- add_custom_command(OUTPUT ${other_dst}
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h ${other_dst}
- COMMENT "Copying clang's arm_neon.h...")
- list(APPEND out_files ${other_dst})
-endif ()
-
add_custom_target(clang-headers ALL DEPENDS ${out_files})
set_target_properties(clang-headers PROPERTIES FOLDER "Misc")
-if (other_output_dir)
- if(UNIX)
- add_custom_command(TARGET clang-headers POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}"
- COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/lib/clang" "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/clang")
- endif()
-endif ()
-
install(
FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
OpenPOWER on IntegriCloud