Skip to content

Commit 8d89833

Browse files
committed
build: Fix pkgconfig file and link to threads better.
Signed-off-by: Ryan Pavlik <[email protected]>
1 parent 335daa4 commit 8d89833

File tree

3 files changed

+14
-6
lines changed

3 files changed

+14
-6
lines changed

src/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ elseif(BUILD_ALL_EXTENSIONS)
4040
message(FATAL_ERROR "Vulkan headers not found")
4141
endif()
4242

43+
find_package(Threads REQUIRED)
4344
find_package(JsonCpp)
4445

4546
### All options defined here

src/loader/CMakeLists.txt

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,13 @@ if(NOT BUILD_LOADER_WITH_EXCEPTION_HANDLING)
131131
PRIVATE XRLOADER_DISABLE_EXCEPTION_HANDLING
132132
)
133133
endif()
134-
target_link_libraries(openxr_loader PRIVATE openxr-all-supported)
135-
136-
target_compile_definitions(openxr_loader
137-
PRIVATE API_NAME="OpenXR"
134+
target_link_libraries(
135+
openxr_loader
136+
PRIVATE openxr-all-supported ${CMAKE_DL_LIBS}
137+
PUBLIC ${CMAKE_THREAD_LIBS_INIT}
138138
)
139+
140+
target_compile_definitions(openxr_loader PRIVATE API_NAME="OpenXR")
139141
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
140142
target_compile_definitions(openxr_loader
141143
PRIVATE FALLBACK_CONFIG_DIRS="${FALLBACK_CONFIG_DIRS}"
@@ -147,12 +149,17 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
147149
endif()
148150

149151
set_target_properties(openxr_loader PROPERTIES SOVERSION "${MAJOR}" VERSION "${MAJOR}.${MINOR}.${PATCH}")
150-
target_link_libraries(openxr_loader PRIVATE stdc++fs dl PUBLIC pthread m)
152+
target_link_libraries(
153+
openxr_loader
154+
PRIVATE stdc++fs
155+
PUBLIC m
156+
)
151157

152158
add_custom_target(libopenxr_loader.so.${MAJOR}.${MINOR} ALL
153159
COMMAND ${CMAKE_COMMAND} -E create_symlink libopenxr_loader.so.${MAJOR}.${MINOR}.${PATCH} libopenxr_loader.so.${MAJOR}.${MINOR})
154160

155161
set(XR_API_VERSION "${MAJOR}.${MINOR}")
162+
set(EXTRA_LIBS ${CMAKE_THREAD_LIBS_INIT})
156163
configure_file("openxr.pc.in" "openxr.pc" @ONLY)
157164
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/openxr.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
158165
elseif(WIN32)

src/loader/openxr.pc.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ includedir=${prefix}/include
66
Name: @CMAKE_PROJECT_NAME@
77
Description: OpenXR Loader
88
Version: @XR_API_VERSION@
9-
Libs: -L${libdir} -lopenxr_loader @PRIVATE_LIBS@
9+
Libs: -L${libdir} -lopenxr_loader @EXTRA_LIBS@
1010
Cflags: -I${includedir}
1111

0 commit comments

Comments
 (0)