@@ -34,12 +34,6 @@ if(MSVC)
3434 )
3535endif ()
3636
37- add_library (${DRIVER_TARGET_NAME} SHARED ${driver_HDR} ${driver_SRC} ${driver_IDL} )
38- target_include_directories (${DRIVER_TARGET_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR} /include" )
39-
40- set_property (TARGET ${DRIVER_TARGET_NAME} PROPERTY CXX_STANDARD 20)
41- set_property (TARGET ${DRIVER_TARGET_NAME} PROPERTY CXX_STANDARD_REQUIRED ON )
42-
4337# ----------------------- MinHook support ----------------------
4438if (WIN32 AND USE_HOOKS)
4539 find_package (minhook CONFIG REQUIRED)
@@ -50,9 +44,6 @@ endif()
5044# ----------------------- Cap'n Proto --------------------------
5145find_package (CapnProto CONFIG REQUIRED)
5246
53- # Link libraries
54- target_link_libraries (${DRIVER_TARGET_NAME} PRIVATE CapnProto::capnp CapnProto::capnp-rpc CapnProto::kj CapnProto::kj-async)
55-
5647# Auto-generate sources from rpc/driver.capnp
5748set (CAPNP_SCHEMA "${CMAKE_CURRENT_SOURCE_DIR} /../vendor/k2vr/driver.capnp" )
5849set (CAPNP_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR} /generated_files/capnp" )
@@ -93,13 +84,6 @@ add_custom_command(
9384 VERBATIM
9485)
9586
96- # Add generated sources to the target and include directory
97- add_custom_target (capnp_generated ALL DEPENDS "${CAPNP_GEN_HDR} " "${CAPNP_GEN_SRC} " )
98- add_dependencies (${DRIVER_TARGET_NAME} capnp_generated)
99-
100- target_sources (${DRIVER_TARGET_NAME} PRIVATE "${CAPNP_GEN_SRC} " "${CAPNP_GEN_HDR} " )
101- target_include_directories (${DRIVER_TARGET_NAME} PRIVATE "${CAPNP_OUT_DIR} " )
102-
10387# Group generated files for IDEs
10488source_group (TREE "${CAPNP_OUT_DIR} " PREFIX "Generated Files" FILES "${CAPNP_GEN_SRC} " "${CAPNP_GEN_HDR} " )
10589# --------------------------------------------------------------
@@ -109,36 +93,41 @@ set(OPENVR_ROOT "${CMAKE_CURRENT_LIST_DIR}/../vendor/openvr")
10993set (OPENVR_INCLUDE_DIR "${OPENVR_ROOT} /headers" )
11094
11195if (WIN32 )
112- set (OPENVR_IMPLIB "${OPENVR_ROOT} /lib/win64/openvr_api.lib" )
113- set (OPENVR_RUNTIME "${OPENVR_ROOT} /bin/win64/openvr_api.dll" )
114- add_library (openvr::openvr SHARED IMPORTED )
115- set_target_properties (openvr::openvr PROPERTIES
116- IMPORTED_IMPLIB "${OPENVR_IMPLIB} "
117- IMPORTED_LOCATION "${OPENVR_RUNTIME} "
118- INTERFACE_INCLUDE_DIRECTORIES "${OPENVR_INCLUDE_DIR} "
119- )
96+ link_directories ("${OPENVR_ROOT} /lib/win64" )
97+ link_directories ("${OPENVR_ROOT} /bin/win64" )
12098elseif (UNIX AND NOT APPLE )
121- set (OPENVR_RUNTIME "${OPENVR_ROOT} /lib/linux64/libopenvr_api.so" )
122- add_library (openvr::openvr SHARED IMPORTED )
123- set_target_properties (openvr::openvr PROPERTIES
124- IMPORTED_LOCATION "${OPENVR_RUNTIME} "
125- INTERFACE_INCLUDE_DIRECTORIES "${OPENVR_INCLUDE_DIR} "
126- )
99+ link_directories ("${OPENVR_ROOT} /lib/linux64" )
127100endif ()
101+ # --------------------------------------------------------------
128102
129- if ( TARGET openvr::openvr)
130- target_link_libraries (${DRIVER_TARGET_NAME} PRIVATE openvr::openvr )
131- target_include_directories (${DRIVER_TARGET_NAME} PRIVATE "${OPENVR_INCLUDE_DIR} " )
103+ # -----------------------Main-----------------------------------
104+ add_library (${DRIVER_TARGET_NAME} SHARED ${driver_HDR} ${driver_SRC} ${driver_IDL} )
105+ target_include_directories (${DRIVER_TARGET_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR} /include " )
132106
133- add_custom_command (TARGET ${DRIVER_TARGET_NAME} POST_BUILD
134- COMMAND ${CMAKE_COMMAND} -E copy_if_different " ${OPENVR_RUNTIME} " "$<TARGET_FILE_DIR: ${DRIVER_TARGET_NAME} >"
135- VERBATIM )
107+ set_property (TARGET ${DRIVER_TARGET_NAME} PROPERTY CXX_STANDARD 20)
108+ set_property ( TARGET ${DRIVER_TARGET_NAME} PROPERTY CXX_STANDARD_REQUIRED ON )
109+ # --------------------------------------------------------------
136110
137- if (UNIX AND NOT APPLE )
138- set_target_properties (${DRIVER_TARGET_NAME} PROPERTIES
139- BUILD_RPATH "$ORIGIN"
140- INSTALL_RPATH "$ORIGIN" )
141- endif ()
111+ # ----------------------- Cap'n Proto --------------------------
112+ # Link libraries
113+ target_link_libraries (${DRIVER_TARGET_NAME} PRIVATE CapnProto::capnp CapnProto::capnp-rpc CapnProto::kj CapnProto::kj-async)
114+
115+ # Add generated sources to the target and include directory
116+ add_custom_target (capnp_generated ALL DEPENDS "${CAPNP_GEN_HDR} " "${CAPNP_GEN_SRC} " )
117+ add_dependencies (${DRIVER_TARGET_NAME} capnp_generated)
118+
119+ target_sources (${DRIVER_TARGET_NAME} PRIVATE "${CAPNP_GEN_SRC} " "${CAPNP_GEN_HDR} " )
120+ target_include_directories (${DRIVER_TARGET_NAME} PRIVATE "${CAPNP_OUT_DIR} " )
121+ # --------------------------------------------------------------
122+
123+ # ----------------------- OpenVR (vendor) ----------------------
124+ target_link_libraries (${DRIVER_TARGET_NAME} PRIVATE openvr_api)
125+ target_include_directories (${DRIVER_TARGET_NAME} PRIVATE "${OPENVR_INCLUDE_DIR} " )
126+
127+ if (UNIX AND NOT APPLE )
128+ set_target_properties (${DRIVER_TARGET_NAME} PROPERTIES
129+ BUILD_RPATH "$ORIGIN"
130+ INSTALL_RPATH "$ORIGIN" )
142131endif ()
143132# --------------------------------------------------------------
144133
@@ -186,11 +175,5 @@ else()
186175 VERBATIM
187176 )
188177endif ()
189-
190-
191- if (TARGET openvr::openvr)
192- add_custom_command (TARGET ${DRIVER_TARGET_NAME} POST_BUILD
193- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${OPENVR_RUNTIME} " "${PACK_BIN_DIR} "
194- VERBATIM )
195- endif ()
196178# --------------------------------------------------------------
179+
0 commit comments