Skip to content

Commit 2e13af6

Browse files
committed
Use PROJECT_*_DIR instead of CMAKE_*_DIR to support subproject builds
Replace CMAKE_[SOURCE/BINARY]_DIR usage with PROJECT_[SOURCE/BINARY]_DIR to support subproject builds. This helps make the project usable as a subproject (e.g. via add_subdirectory or FetchContent) without polluting the parent build tree. Signed-off-by: Schilling, Matthew <matthew.schilling@intel.com>
1 parent 0f246f6 commit 2e13af6

3 files changed

Lines changed: 182 additions & 177 deletions

File tree

CMakeLists.txt

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,19 @@ add_definitions(-DLOADER_VERSION_MAJOR=${PROJECT_VERSION_MAJOR})
7474
add_definitions(-DLOADER_VERSION_MINOR=${PROJECT_VERSION_MINOR})
7575
add_definitions(-DLOADER_VERSION_PATCH=${PROJECT_VERSION_PATCH})
7676

77-
file(WRITE "${CMAKE_BINARY_DIR}/VERSION" "${PROJECT_VERSION}")
77+
file(WRITE "${PROJECT_BINARY_DIR}/VERSION" "${PROJECT_VERSION}")
7878

7979
string(TIMESTAMP CURRENT_YEAR "%Y")
8080

81-
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
82-
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
83-
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
84-
81+
if (NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
82+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
83+
endif()
84+
if (NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
85+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
86+
endif()
87+
if (NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
88+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
89+
endif()
8590
#Define a path for custom commands to work around MSVC
8691
set(CUSTOM_COMMAND_BINARY_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
8792

source/drivers/null/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,15 +82,15 @@ if(BUILD_L0_LOADER_TESTS)
8282
set_target_properties(ze_intel_gpu PROPERTIES
8383
VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}"
8484
SOVERSION "${PROJECT_VERSION_MAJOR}"
85-
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib_fake"
86-
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin_fake"
85+
LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib_fake"
86+
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin_fake"
8787
)
8888

8989
set_target_properties(ze_intel_npu PROPERTIES
9090
VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}"
9191
SOVERSION "${PROJECT_VERSION_MAJOR}"
92-
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib_fake"
93-
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin_fake"
92+
LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib_fake"
93+
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin_fake"
9494
)
9595
target_include_directories(ze_intel_gpu
9696
PUBLIC

0 commit comments

Comments
 (0)