CMake: fix add_subdirectory(SwiftShader)
Essentially, do not assume CMAKE_SOURCE_DIR is the SwiftShader root
directory. Instead, we now set SWIFTSHADER_DIR in the root CMakeLists,
and use that everywhere.
Bug: b/145758253
Change-Id: I4968d0dc06ebd8e45791f7cd956e5aeeefddd54f
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/43949
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Antonio Maiorano <amaiorano@google.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1f990db..61e0653 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -175,9 +175,10 @@
# Directories
###########################################################
-set(SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
-set(THIRD_PARTY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party)
-set(TESTS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tests)
+set(SWIFTSHADER_DIR ${CMAKE_CURRENT_SOURCE_DIR})
+set(SOURCE_DIR ${SWIFTSHADER_DIR}/src)
+set(THIRD_PARTY_DIR ${SWIFTSHADER_DIR}/third_party)
+set(TESTS_DIR ${SWIFTSHADER_DIR}/tests)
###########################################################
# Initialize submodules
@@ -242,13 +243,13 @@
# Recursively calls source_group on the files of the directory
# so that Visual Studio has the files in a folder tree
macro(group_all_sources directory)
- file(GLOB files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/${directory} ${CMAKE_CURRENT_SOURCE_DIR}/${directory}/*)
+ file(GLOB files RELATIVE ${SWIFTSHADER_DIR}/${directory} ${SWIFTSHADER_DIR}/${directory}/*)
foreach(file ${files})
- if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${directory}/${file})
+ if(IS_DIRECTORY ${SWIFTSHADER_DIR}/${directory}/${file})
group_all_sources(${directory}/${file})
else()
string(REPLACE "/" "\\" groupname ${directory})
- source_group(${groupname} FILES ${CMAKE_CURRENT_SOURCE_DIR}/${directory}/${file})
+ source_group(${groupname} FILES ${SWIFTSHADER_DIR}/${directory}/${file})
endif()
endforeach()
endmacro()
@@ -618,15 +619,6 @@
endif()
###########################################################
-# Include Directories
-###########################################################
-
-set(VULKAN_INCLUDE_DIR
- ${SOURCE_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/include
-)
-
-###########################################################
# File Lists
###########################################################
diff --git a/src/Device/CMakeLists.txt b/src/Device/CMakeLists.txt
index 8f5f234..a0c72f4 100644
--- a/src/Device/CMakeLists.txt
+++ b/src/Device/CMakeLists.txt
@@ -65,7 +65,7 @@
target_include_directories(vk_device
PUBLIC
".."
- "${CMAKE_SOURCE_DIR}/include"
+ "${SWIFTSHADER_DIR}/include"
)
target_compile_options(vk_device
diff --git a/src/Main/CMakeLists.txt b/src/Main/CMakeLists.txt
index c548a72..5ab1def 100644
--- a/src/Main/CMakeLists.txt
+++ b/src/Main/CMakeLists.txt
@@ -68,7 +68,7 @@
PUBLIC
".."
PRIVATE
- ${CMAKE_SOURCE_DIR}/include # For EGL
+ ${SWIFTSHADER_DIR}/include # For EGL
)
target_compile_definitions(gl_main
diff --git a/src/OpenGL/common/CMakeLists.txt b/src/OpenGL/common/CMakeLists.txt
index 61e838a..872ddac 100644
--- a/src/OpenGL/common/CMakeLists.txt
+++ b/src/OpenGL/common/CMakeLists.txt
@@ -49,8 +49,8 @@
target_include_directories(libGLESCommon
PUBLIC
".."
- "${CMAKE_SOURCE_DIR}/include"
- "${CMAKE_SOURCE_DIR}/src"
+ "${SWIFTSHADER_DIR}/include"
+ "${SWIFTSHADER_DIR}/src"
)
target_compile_definitions(libGLESCommon
diff --git a/src/OpenGL/compiler/CMakeLists.txt b/src/OpenGL/compiler/CMakeLists.txt
index d636c53..31dfe7a 100644
--- a/src/OpenGL/compiler/CMakeLists.txt
+++ b/src/OpenGL/compiler/CMakeLists.txt
@@ -133,8 +133,8 @@
target_include_directories(GLCompiler
PRIVATE
".."
- "${CMAKE_SOURCE_DIR}/include"
- "${CMAKE_SOURCE_DIR}/src"
+ "${SWIFTSHADER_DIR}/include"
+ "${SWIFTSHADER_DIR}/src"
)
target_compile_definitions(GLCompiler
diff --git a/src/Pipeline/CMakeLists.txt b/src/Pipeline/CMakeLists.txt
index a4ca0cf..1afde4b 100644
--- a/src/Pipeline/CMakeLists.txt
+++ b/src/Pipeline/CMakeLists.txt
@@ -93,7 +93,7 @@
target_include_directories(vk_pipeline
PUBLIC
".."
- "${CMAKE_SOURCE_DIR}/include"
+ "${SWIFTSHADER_DIR}/include"
"${SPIRV-Headers_SOURCE_DIR}/include"
"${SPIRV_TOOLS_EXT_INC_DIR}"
)
diff --git a/src/Vulkan/CMakeLists.txt b/src/Vulkan/CMakeLists.txt
index 65e29ad..b6d4c6d 100644
--- a/src/Vulkan/CMakeLists.txt
+++ b/src/Vulkan/CMakeLists.txt
@@ -155,7 +155,6 @@
target_include_directories(vk_swiftshader
PRIVATE
".."
- # "${CMAKE_SOURCE_DIR}/include"
)
target_compile_options(vk_swiftshader
diff --git a/src/WSI/CMakeLists.txt b/src/WSI/CMakeLists.txt
index e395165..d2eb42c 100644
--- a/src/WSI/CMakeLists.txt
+++ b/src/WSI/CMakeLists.txt
@@ -66,7 +66,7 @@
target_include_directories(vk_wsi
PUBLIC
".."
- "${CMAKE_SOURCE_DIR}/include"
+ "${SWIFTSHADER_DIR}/include"
)
target_compile_options(vk_wsi
diff --git a/tests/GLESUnitTests/CMakeLists.txt b/tests/GLESUnitTests/CMakeLists.txt
index 1c51430..6ea50a7 100644
--- a/tests/GLESUnitTests/CMakeLists.txt
+++ b/tests/GLESUnitTests/CMakeLists.txt
@@ -39,7 +39,7 @@
target_include_directories(gles-unittests
PRIVATE
- "${CMAKE_SOURCE_DIR}/include"
+ "${SWIFTSHADER_DIR}/include"
)
target_compile_definitions(gles-unittests
diff --git a/tests/VulkanUnitTests/CMakeLists.txt b/tests/VulkanUnitTests/CMakeLists.txt
index aa6c298..81889ce 100644
--- a/tests/VulkanUnitTests/CMakeLists.txt
+++ b/tests/VulkanUnitTests/CMakeLists.txt
@@ -50,7 +50,7 @@
target_include_directories(vk-unittests
PRIVATE
- "${CMAKE_SOURCE_DIR}/include"
+ "${SWIFTSHADER_DIR}/include"
)
target_compile_definitions(vk-unittests