diff --git a/cmake/modules/FindBullet.cmake b/cmake/modules/FindBullet.cmake new file mode 100644 index 00000000..8d13e6e1 --- /dev/null +++ b/cmake/modules/FindBullet.cmake @@ -0,0 +1,17 @@ +# Override CMake's FindBullet module: +# create an IMPORTED TARGET + +include("${CMAKE_ROOT}/Modules/FindBullet.cmake") + +if(BULLET_FOUND) + list(GET BULLET_LIBRARIES 0 BULLET_FIRST_LIBRARY) + set(BULLET_OTHER_LIBRARIES "${BULLET_LIBRARIES}") + list(REMOVE_AT BULLET_OTHER_LIBRARIES 0) + add_library(bullet::bullet UNKNOWN IMPORTED) + set_target_properties(bullet::bullet PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "C;CXX" + IMPORTED_LOCATION "${BULLET_FIRST_LIBRARY}" + INTERFACE_LINK_LIBRARIES "${BULLET_OTHER_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${BULLET_INCLUDE_DIR}" + ) +endif() diff --git a/rwengine/CMakeLists.txt b/rwengine/CMakeLists.txt index cc256957..b826a76a 100644 --- a/rwengine/CMakeLists.txt +++ b/rwengine/CMakeLists.txt @@ -148,6 +148,7 @@ add_library(rwengine target_link_libraries(rwengine PUBLIC rwlib + bullet::bullet ffmpeg::ffmpeg glm::glm PRIVATE @@ -157,7 +158,6 @@ target_link_libraries(rwengine target_include_directories(rwengine SYSTEM PUBLIC - ${BULLET_INCLUDE_DIR} ${OPENAL_INCLUDE_DIR} ) diff --git a/rwgame/CMakeLists.txt b/rwgame/CMakeLists.txt index 98da85db..f9027a69 100644 --- a/rwgame/CMakeLists.txt +++ b/rwgame/CMakeLists.txt @@ -49,7 +49,6 @@ target_include_directories(rwgame SYSTEM PRIVATE ${Boost_INCLUDE_DIRS} - ${BULLET_INCLUDE_DIR} ${OPENAL_INCLUDE_DIR} ) @@ -63,7 +62,6 @@ target_link_libraries(rwgame rwengine ${Boost_PROGRAM_OPTIONS_LIBRARY} ${OPENGL_LIBRARIES} - ${BULLET_LIBRARIES} SDL2::SDL2 ) diff --git a/rwviewer/CMakeLists.txt b/rwviewer/CMakeLists.txt index 3c26be97..2472e5d2 100644 --- a/rwviewer/CMakeLists.txt +++ b/rwviewer/CMakeLists.txt @@ -24,16 +24,11 @@ add_executable(rwviewer AnimationListWidget.cpp ) -target_include_directories(rwviewer - SYSTEM - PRIVATE - ${BULLET_INCLUDE_DIR} - ) - target_link_libraries(rwviewer rwengine ${OPENGL_LIBRARIES} - ${BULLET_LIBRARIES}) + ) + qt5_use_modules(rwviewer Widgets OpenGL) install(TARGETS rwviewer RUNTIME DESTINATION "${BIN_DIR}") diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index b4f765a3..b03c3d77 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -60,7 +60,6 @@ target_include_directories(run_tests SYSTEM PRIVATE ${Boost_INCLUDE_DIRS} - ${BULLET_INCLUDE_DIR} ) target_include_directories(run_tests @@ -73,7 +72,6 @@ target_link_libraries(run_tests PRIVATE rwengine ${OPENGL_LIBRARIES} - ${BULLET_LIBRARIES} SDL2::SDL2 ${PNG_LIBRARIES} ${Boost_FILESYSTEM_LIBRARY}