summaryrefslogtreecommitdiff
path: root/parallel-libs
diff options
context:
space:
mode:
authorJustin Lebar <jlebar@google.com>2016-09-09 21:01:02 +0000
committerJustin Lebar <jlebar@google.com>2016-09-09 21:01:02 +0000
commitc74b13aa7505cad00edf6a344c32c5ba51e8e560 (patch)
tree0fee02a248ddf914c35cceaa0bacecd11e6fde87 /parallel-libs
parentc2cf4e8ee800fdcb1c0a1f663e28bad69a81ddbb (diff)
[StreamExecutor] Make SE work with an in-tree LLVM build.
Summary: With these changes, we can put parallel-libs within llvm/projects and build as normal. This is kind of the minimal change I could figure out how to make while still making us compatible with llvm's build system. Some things I'm not thrilled about include: * The creation of a CoreTests directory (the macros really seemed to want this) * Pulling SimpleHostPlatformDevice.h into CoreTests. It seems to me this should live inside unittests/include, or maybe tests/include, but I didn't want to make that change in this patch. One important piece of work that remains to be done is to make $ ninja check-streamexecutor run all the tests. Right now the only way I've figured out to run the tests is $ ninja projects/parallel-libs/streamexecutor/unittests/StreamExecutorUnitTests $ projects/parallel-libs/streamexecutor/unittests/CoreTests/CoreTests Reviewers: jhen Subscribers: beanz, parallel_libs-commits, jprice Differential Revision: https://reviews.llvm.org/D24368
Diffstat (limited to 'parallel-libs')
-rw-r--r--parallel-libs/CMakeLists.txt3
-rw-r--r--parallel-libs/streamexecutor/CMakeLists.txt14
-rw-r--r--parallel-libs/streamexecutor/lib/CMakeLists.txt24
-rw-r--r--parallel-libs/streamexecutor/lib/Utils/CMakeLists.txt3
-rw-r--r--parallel-libs/streamexecutor/lib/unittests/CMakeLists.txt41
-rw-r--r--parallel-libs/streamexecutor/unittests/CMakeLists.txt9
-rw-r--r--parallel-libs/streamexecutor/unittests/CoreTests/CMakeLists.txt7
-rw-r--r--parallel-libs/streamexecutor/unittests/CoreTests/DeviceTest.cpp (renamed from parallel-libs/streamexecutor/lib/unittests/DeviceTest.cpp)0
-rw-r--r--parallel-libs/streamexecutor/unittests/CoreTests/KernelSpecTest.cpp (renamed from parallel-libs/streamexecutor/lib/unittests/KernelSpecTest.cpp)0
-rw-r--r--parallel-libs/streamexecutor/unittests/CoreTests/PackedKernelArgumentArrayTest.cpp (renamed from parallel-libs/streamexecutor/lib/unittests/PackedKernelArgumentArrayTest.cpp)0
-rw-r--r--parallel-libs/streamexecutor/unittests/CoreTests/SimpleHostPlatformDevice.h (renamed from parallel-libs/streamexecutor/lib/unittests/SimpleHostPlatformDevice.h)0
-rw-r--r--parallel-libs/streamexecutor/unittests/CoreTests/StreamTest.cpp (renamed from parallel-libs/streamexecutor/lib/unittests/StreamTest.cpp)0
12 files changed, 45 insertions, 56 deletions
diff --git a/parallel-libs/CMakeLists.txt b/parallel-libs/CMakeLists.txt
new file mode 100644
index 00000000000..e96b2e4a479
--- /dev/null
+++ b/parallel-libs/CMakeLists.txt
@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 3.1)
+
+add_subdirectory(streamexecutor)
diff --git a/parallel-libs/streamexecutor/CMakeLists.txt b/parallel-libs/streamexecutor/CMakeLists.txt
index fde628f75a1..c2901045a6c 100644
--- a/parallel-libs/streamexecutor/CMakeLists.txt
+++ b/parallel-libs/streamexecutor/CMakeLists.txt
@@ -38,9 +38,9 @@ if(STREAM_EXECUTOR_STANDALONE)
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LLVM_CXXFLAGS}")
- # Find the libraries that correspond to the LLVM components
- # that we wish to use
- llvm_map_components_to_libnames(llvm_libs support symbolize)
+ set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm")
+ list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}")
+ include(AddLLVM)
if(STREAM_EXECUTOR_UNIT_TESTS)
enable_testing()
@@ -55,6 +55,10 @@ else(NOT STREAM_EXECUTOR_STANDALONE)
endif()
endif(STREAM_EXECUTOR_STANDALONE)
+# Find the libraries that correspond to the LLVM components
+# that we wish to use
+llvm_map_components_to_libnames(llvm_libs support symbolize)
+
# Insist on C++ 11 features.
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -65,6 +69,10 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-unused-parameter")
add_subdirectory(lib)
add_subdirectory(examples)
+if(STREAM_EXECUTOR_UNIT_TESTS)
+ add_subdirectory(unittests)
+endif()
+
if(STREAM_EXECUTOR_ENABLE_CONFIG_TOOL )
add_subdirectory(tools/streamexecutor-config)
endif(STREAM_EXECUTOR_ENABLE_CONFIG_TOOL )
diff --git a/parallel-libs/streamexecutor/lib/CMakeLists.txt b/parallel-libs/streamexecutor/lib/CMakeLists.txt
index 8c3ac025168..11873c42390 100644
--- a/parallel-libs/streamexecutor/lib/CMakeLists.txt
+++ b/parallel-libs/streamexecutor/lib/CMakeLists.txt
@@ -1,11 +1,12 @@
-add_library(
- utils
- OBJECT
- Utils/Error.cpp)
+macro(add_se_library name)
+ add_llvm_library(${name} ${ARGN})
+ set_target_properties(${name} PROPERTIES FOLDER "streamexecutor libraries")
+endmacro(add_se_library)
-add_library(
+add_subdirectory(Utils)
+
+add_se_library(
streamexecutor
- $<TARGET_OBJECTS:utils>
Device.cpp
DeviceMemory.cpp
Kernel.cpp
@@ -14,11 +15,10 @@ add_library(
Platform.cpp
PlatformDevice.cpp
PlatformManager.cpp
- Stream.cpp)
-target_link_libraries(streamexecutor ${llvm_libs})
+ Stream.cpp
-install(TARGETS streamexecutor DESTINATION lib)
+ LINK_LIBS
+ utils
+ )
-if(STREAM_EXECUTOR_UNIT_TESTS)
- add_subdirectory(unittests)
-endif()
+install(TARGETS streamexecutor DESTINATION lib)
diff --git a/parallel-libs/streamexecutor/lib/Utils/CMakeLists.txt b/parallel-libs/streamexecutor/lib/Utils/CMakeLists.txt
new file mode 100644
index 00000000000..2cbbc3b170f
--- /dev/null
+++ b/parallel-libs/streamexecutor/lib/Utils/CMakeLists.txt
@@ -0,0 +1,3 @@
+add_se_library(
+ utils
+ Error.cpp)
diff --git a/parallel-libs/streamexecutor/lib/unittests/CMakeLists.txt b/parallel-libs/streamexecutor/lib/unittests/CMakeLists.txt
deleted file mode 100644
index e12b675f2c4..00000000000
--- a/parallel-libs/streamexecutor/lib/unittests/CMakeLists.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-add_executable(
- device_test
- DeviceTest.cpp)
-target_link_libraries(
- device_test
- streamexecutor
- ${GTEST_BOTH_LIBRARIES}
- ${CMAKE_THREAD_LIBS_INIT})
-add_test(DeviceTest device_test)
-
-add_executable(
- kernel_spec_test
- KernelSpecTest.cpp)
-target_link_libraries(
- kernel_spec_test
- streamexecutor
- ${GTEST_BOTH_LIBRARIES}
- ${CMAKE_THREAD_LIBS_INIT})
-add_test(KernelSpecTest kernel_spec_test)
-
-add_executable(
- packed_kernel_argument_array_test
- PackedKernelArgumentArrayTest.cpp)
-target_link_libraries(
- packed_kernel_argument_array_test
- streamexecutor
- ${llvm_libs}
- ${GTEST_BOTH_LIBRARIES}
- ${CMAKE_THREAD_LIBS_INIT})
-add_test(PackedKernelArgumentArrayTest packed_kernel_argument_array_test)
-
-add_executable(
- stream_test
- StreamTest.cpp)
-target_link_libraries(
- stream_test
- streamexecutor
- ${llvm_libs}
- ${GTEST_BOTH_LIBRARIES}
- ${CMAKE_THREAD_LIBS_INIT})
-add_test(StreamTest stream_test)
diff --git a/parallel-libs/streamexecutor/unittests/CMakeLists.txt b/parallel-libs/streamexecutor/unittests/CMakeLists.txt
new file mode 100644
index 00000000000..3a8142273a5
--- /dev/null
+++ b/parallel-libs/streamexecutor/unittests/CMakeLists.txt
@@ -0,0 +1,9 @@
+add_custom_target(StreamExecutorUnitTests)
+set_target_properties(StreamExecutorUnitTests PROPERTIES FOLDER "streamexecutor tests")
+
+function(add_se_unittest testdir_name)
+ add_unittest(StreamExecutorUnitTests ${testdir_name} ${ARGN})
+ target_link_libraries(${testdir_name} streamexecutor)
+endfunction()
+
+add_subdirectory(CoreTests)
diff --git a/parallel-libs/streamexecutor/unittests/CoreTests/CMakeLists.txt b/parallel-libs/streamexecutor/unittests/CoreTests/CMakeLists.txt
new file mode 100644
index 00000000000..3365dd07e76
--- /dev/null
+++ b/parallel-libs/streamexecutor/unittests/CoreTests/CMakeLists.txt
@@ -0,0 +1,7 @@
+add_se_unittest(
+ CoreTests
+ DeviceTest.cpp
+ KernelSpecTest.cpp
+ PackedKernelArgumentArrayTest.cpp
+ StreamTest.cpp
+)
diff --git a/parallel-libs/streamexecutor/lib/unittests/DeviceTest.cpp b/parallel-libs/streamexecutor/unittests/CoreTests/DeviceTest.cpp
index 5b16c3c865c..5b16c3c865c 100644
--- a/parallel-libs/streamexecutor/lib/unittests/DeviceTest.cpp
+++ b/parallel-libs/streamexecutor/unittests/CoreTests/DeviceTest.cpp
diff --git a/parallel-libs/streamexecutor/lib/unittests/KernelSpecTest.cpp b/parallel-libs/streamexecutor/unittests/CoreTests/KernelSpecTest.cpp
index fc9eb549968..fc9eb549968 100644
--- a/parallel-libs/streamexecutor/lib/unittests/KernelSpecTest.cpp
+++ b/parallel-libs/streamexecutor/unittests/CoreTests/KernelSpecTest.cpp
diff --git a/parallel-libs/streamexecutor/lib/unittests/PackedKernelArgumentArrayTest.cpp b/parallel-libs/streamexecutor/unittests/CoreTests/PackedKernelArgumentArrayTest.cpp
index dd6d0e1c655..dd6d0e1c655 100644
--- a/parallel-libs/streamexecutor/lib/unittests/PackedKernelArgumentArrayTest.cpp
+++ b/parallel-libs/streamexecutor/unittests/CoreTests/PackedKernelArgumentArrayTest.cpp
diff --git a/parallel-libs/streamexecutor/lib/unittests/SimpleHostPlatformDevice.h b/parallel-libs/streamexecutor/unittests/CoreTests/SimpleHostPlatformDevice.h
index 5c5953098c4..5c5953098c4 100644
--- a/parallel-libs/streamexecutor/lib/unittests/SimpleHostPlatformDevice.h
+++ b/parallel-libs/streamexecutor/unittests/CoreTests/SimpleHostPlatformDevice.h
diff --git a/parallel-libs/streamexecutor/lib/unittests/StreamTest.cpp b/parallel-libs/streamexecutor/unittests/CoreTests/StreamTest.cpp
index 65598540d67..65598540d67 100644
--- a/parallel-libs/streamexecutor/lib/unittests/StreamTest.cpp
+++ b/parallel-libs/streamexecutor/unittests/CoreTests/StreamTest.cpp