$NetBSD: patch-CMakeLists.txt,v 1.2 2023/07/07 07:31:50 nia Exp $ - Always prefer SDL2 from pkgsrc. - Treat APPLE less specially. - Use proper dependencies when building libretro core. --- CMakeLists.txt.orig 2023-02-15 17:59:44.000000000 +0000 +++ CMakeLists.txt @@ -207,7 +207,7 @@ if(NINTENDO_SWITCH) endif() if(NOT LIBRETRO) - if((WIN32 AND NOT MSVC) OR (UNIX AND NOT APPLE AND NOT CMAKE_SYSTEM_NAME MATCHES "(FreeBSD|OpenBSD|NetBSD)")) + if((WIN32 AND NOT MSVC) OR (CMAKE_SYSTEM_NAME MATCHES "Linux")) add_subdirectory(core/deps/breakpad) if(WIN32) target_link_options(${PROJECT_NAME} PRIVATE "-Wl,--build-id") @@ -356,9 +356,7 @@ if(NOT LIBRETRO) endif() if(NOT ANDROID AND NOT IOS) - if(NOT APPLE AND (NOT UNIX OR CMAKE_SYSTEM_NAME MATCHES "(FreeBSD|OpenBSD|NetBSD)")) - find_package(SDL2) - endif() + find_package(SDL2) if(NOT SDL2_FOUND) add_subdirectory(core/deps/SDL EXCLUDE_FROM_ALL) set(SDL2_FOUND 1) @@ -395,7 +393,7 @@ if(NOT LIBRETRO) endif() find_package(Lua) - if(NOT APPLE AND LUA_FOUND) + if(LUA_FOUND) target_compile_definitions(${PROJECT_NAME} PRIVATE USE_LUA) target_include_directories(${PROJECT_NAME} PRIVATE ${LUA_INCLUDE_DIR} core/deps/luabridge/Source) list(TRANSFORM LUA_LIBRARIES REPLACE "\.dll" "") @@ -418,7 +416,7 @@ if(NOT WITH_SYSTEM_ZLIB) endif() find_package(PkgConfig) -if(PKG_CONFIG_FOUND AND NOT ANDROID AND NOT APPLE AND NOT LIBRETRO) +if(PKG_CONFIG_FOUND AND NOT ANDROID AND NOT LIBRETRO) pkg_check_modules(AO IMPORTED_TARGET ao) if(AO_FOUND) target_compile_definitions(${PROJECT_NAME} PRIVATE USE_LIBAO) @@ -445,22 +443,22 @@ if(PKG_CONFIG_FOUND AND NOT ANDROID AND target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::LIBPULSE) endif() - if(USE_HOST_LIBZIP) - pkg_check_modules(LIBZIP IMPORTED_TARGET libzip) - if(LIBZIP_FOUND) - target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::LIBZIP) - endif() - endif() - if(ENABLE_OPROFILE) target_compile_definitions(${PROJECT_NAME} PRIVATE DYNA_OPROF) target_link_libraries(${PROJECT_NAME} PRIVATE opagent) endif() +endif() - find_package(MiniUPnPc) - if(MINIUPNP_FOUND) - target_include_directories(${PROJECT_NAME} PRIVATE ${MINIUPNP_INCLUDE_DIRS}) - target_link_libraries(${PROJECT_NAME} PRIVATE ${MINIUPNP_LIBRARIES}) +find_package(MiniUPnPc) +if(MINIUPNP_FOUND) + target_include_directories(${PROJECT_NAME} PRIVATE ${MINIUPNP_INCLUDE_DIRS}) + target_link_libraries(${PROJECT_NAME} PRIVATE ${MINIUPNP_LIBRARIES}) +endif() + +if(USE_HOST_LIBZIP) + pkg_check_modules(LIBZIP IMPORTED_TARGET libzip) + if(LIBZIP_FOUND) + target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::LIBZIP) endif() endif() @@ -1664,10 +1662,14 @@ if(IOS) elseif(NINTENDO_SWITCH AND NOT LIBRETRO) install(FILES ${CMAKE_BINARY_DIR}/flycast.nro DESTINATION "${CMAKE_INSTALL_BINDIR}") else() - install(TARGETS ${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_BINDIR}") + if(NOT LIBRETRO) + install(TARGETS ${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_BINDIR}") + else() + install(TARGETS ${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_LIBDIR}/libretro") + endif() endif() -if(UNIX AND NOT APPLE AND NOT ANDROID AND NOT LIBRETRO) +if(UNIX AND NOT ANDROID AND NOT LIBRETRO) install(FILES shell/linux/man/${PROJECT_NAME}.1 DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" )