diff options
| author | NAKAMURA Takumi <geek4civic@gmail.com> | 2013-12-30 06:48:30 +0000 |
|---|---|---|
| committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2013-12-30 06:48:30 +0000 |
| commit | baa9f533fe242c657b8ce2949882e23813d7148b (patch) | |
| tree | 11f61d6f17f781d9f3b49618b889645d1540a79a /clang/lib | |
| parent | 4c141c3ef8b6ee99ce33542124afa23e6d9efb3c (diff) | |
| download | bcm5719-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.txt | 35 |
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 |

