[llvm-commits] [llvm] r114747 - in /llvm/trunk: CMakeLists.txt cmake/modules/AddLLVM.cmake unittests/CMakeLists.txt utils/unittest/CMakeLists.txt

Michael Spencer bigcheesegs at gmail.com
Fri Sep 24 12:26:39 PDT 2010


This was requested for the msvc build bot as building ALL_BUILD from
VSBuild doesn't build anything and we needed to disable building
unittests and examples.

I don't really like the implementation because it may be confusing to
the user because LLVM_INCLUDE_X is ignored if LLVM_BUILD_X is on. I
tried getting CMake to update the cache so ccmake and cmake-gui would
show the change, but it didn't work :(. I would appreciate any help in
making this implementation more robust.

- Michael Spencer



On Fri, Sep 24, 2010 at 3:10 PM, Michael J. Spencer
<bigcheesegs at gmail.com> wrote:
> Author: mspencer
> Date: Fri Sep 24 14:10:51 2010
> New Revision: 114747
>
> URL: http://llvm.org/viewvc/llvm-project?rev=114747&view=rev
> Log:
> CMake: Don't include tools, unittets, or examples as available targets
> unless LLVM_INCLUDE_X is ON. LLVM_BUILD_X implies LLVM_INCLUDE_X
>
> Modified:
>    llvm/trunk/CMakeLists.txt
>    llvm/trunk/cmake/modules/AddLLVM.cmake
>    llvm/trunk/unittests/CMakeLists.txt
>    llvm/trunk/utils/unittest/CMakeLists.txt
>
> Modified: llvm/trunk/CMakeLists.txt
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=114747&r1=114746&r2=114747&view=diff
> ==============================================================================
> --- llvm/trunk/CMakeLists.txt (original)
> +++ llvm/trunk/CMakeLists.txt Fri Sep 24 14:10:51 2010
> @@ -364,12 +364,18 @@
>  add_subdirectory(projects)
>
>  option(LLVM_BUILD_TOOLS "Build LLVM tool programs." ON)
> +option(LLVM_INCLUDE_TOOLS
> +  "Include LLVM tool programs as an available target." ON)
>  add_subdirectory(tools)
>
>  option(LLVM_BUILD_EXAMPLES "Build LLVM example programs." OFF)
> +option(LLVM_INCLUDE_EXAMPLES
> +  "Include LLVM example programs as an available target." OFF)
>  add_subdirectory(examples)
>
>  option(LLVM_BUILD_TESTS "Build LLVM unit tests." OFF)
> +option(LLVM_INCLUDE_TESTS
> +  "Include LLVM unit tests as an available target." OFF)
>  add_subdirectory(test)
>  add_subdirectory(utils/unittest)
>  add_subdirectory(unittests)
>
> Modified: llvm/trunk/cmake/modules/AddLLVM.cmake
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/AddLLVM.cmake?rev=114747&r1=114746&r2=114747&view=diff
> ==============================================================================
> --- llvm/trunk/cmake/modules/AddLLVM.cmake (original)
> +++ llvm/trunk/cmake/modules/AddLLVM.cmake Fri Sep 24 14:10:51 2010
> @@ -77,7 +77,9 @@
>   if( NOT LLVM_BUILD_TOOLS )
>     set(EXCLUDE_FROM_ALL ON)
>   endif()
> -  add_llvm_executable(${name} ${ARGN})
> +  if( LLVM_INCLUDE_TOOLS OR LLVM_BUILD_TOOLS )
> +    add_llvm_executable(${name} ${ARGN})
> +  endif()
>   if( LLVM_BUILD_TOOLS )
>     install(TARGETS ${name} RUNTIME DESTINATION bin)
>   endif()
> @@ -89,7 +91,9 @@
>   if( NOT LLVM_BUILD_EXAMPLES )
>     set(EXCLUDE_FROM_ALL ON)
>   endif()
> -  add_llvm_executable(${name} ${ARGN})
> +  if( LLVM_INCLUDE_EXAMPLES OR LLVM_BUILD_EXAMPLES )
> +    add_llvm_executable(${name} ${ARGN})
> +  endif()
>   if( LLVM_BUILD_EXAMPLES )
>     install(TARGETS ${name} RUNTIME DESTINATION examples)
>   endif()
>
> Modified: llvm/trunk/unittests/CMakeLists.txt
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/CMakeLists.txt?rev=114747&r1=114746&r2=114747&view=diff
> ==============================================================================
> --- llvm/trunk/unittests/CMakeLists.txt (original)
> +++ llvm/trunk/unittests/CMakeLists.txt Fri Sep 24 14:10:51 2010
> @@ -9,7 +9,9 @@
>   if( NOT LLVM_BUILD_TESTS )
>     set(EXCLUDE_FROM_ALL ON)
>   endif()
> -  add_llvm_executable(${test_name}Tests ${ARGN})
> +  if (LLVM_INCLUDE_TESTS OR LLVM_BUILD_TESTS)
> +    add_llvm_executable(${test_name}Tests ${ARGN})
> +  endif()
>  endfunction()
>
>  include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include)
>
> Modified: llvm/trunk/utils/unittest/CMakeLists.txt
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/unittest/CMakeLists.txt?rev=114747&r1=114746&r2=114747&view=diff
> ==============================================================================
> --- llvm/trunk/utils/unittest/CMakeLists.txt (original)
> +++ llvm/trunk/utils/unittest/CMakeLists.txt Fri Sep 24 14:10:51 2010
> @@ -20,15 +20,17 @@
>   add_definitions(-DGTEST_OS_WINDOWS=1)
>  endif()
>
> -add_llvm_library(gtest
> -  googletest/gtest.cc
> -  googletest/gtest-death-test.cc
> -  googletest/gtest-filepath.cc
> -  googletest/gtest-port.cc
> -  googletest/gtest-test-part.cc
> -  googletest/gtest-typed-test.cc
> -  )
> +if (LLVM_INCLUDE_TESTS OR LLVM_BUILD_TESTS)
> +  add_llvm_library(gtest
> +    googletest/gtest.cc
> +    googletest/gtest-death-test.cc
> +    googletest/gtest-filepath.cc
> +    googletest/gtest-port.cc
> +    googletest/gtest-test-part.cc
> +    googletest/gtest-typed-test.cc
> +    )
>
> -add_llvm_library(gtest_main
> -  UnitTestMain/TestMain.cpp
> -  )
> +  add_llvm_library(gtest_main
> +    UnitTestMain/TestMain.cpp
> +    )
> +endif()
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>




More information about the llvm-commits mailing list