Browse Source

CMake: Post-merge fixes to CMake files

Sets template plugin version to more sane '1.0.0' default, also moves
`find_qt` back into the main CMake script (as plugins might not need
Qt by default).

Also enables automatic `ccache` discovery for all POSIX systems,
avoiding code duplication.
PatTheMav 3 năm trước cách đây
mục cha
commit
2dda1aeaca
2 tập tin đã thay đổi với 8 bổ sung20 xóa
  1. 4 3
      CMakeLists.txt
  2. 4 17
      cmake/ObsPluginHelpers.cmake

+ 4 - 3
CMakeLists.txt

@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16)
 
 # Change obs-plugintemplate to your plugin's name in a machine-readable format
 # (e.g.: obs-myawesomeplugin) and set
-project(obs-plugintemplate VERSION 1.0.5)
+project(obs-plugintemplate VERSION 1.0.0)
 add_library(${CMAKE_PROJECT_NAME} MODULE)
 
 # Replace `Your Name Here` with the name (yours or your organization's) you want
@@ -28,6 +28,7 @@ target_sources(${CMAKE_PROJECT_NAME} PRIVATE src/plugin-main.c)
 find_package(libobs REQUIRED)
 find_package(obs-frontend-api REQUIRED)
 include(cmake/ObsPluginHelpers.cmake)
+find_qt(VERSION ${QT_VERSION} COMPONENTS Widgets Core)
 
 configure_file(src/plugin-macros.h.in
                ${CMAKE_SOURCE_DIR}/src/plugin-macros.generated.h)
@@ -40,8 +41,8 @@ target_include_directories(${CMAKE_PROJECT_NAME}
                            PRIVATE ${CMAKE_SOURCE_DIR}/src)
 
 target_link_libraries(
-  ${CMAKE_PROJECT_NAME} PRIVATE OBS::libobs OBS::obs-frontend-api Qt5::Core
-                                Qt5::Widgets)
+  ${CMAKE_PROJECT_NAME} PRIVATE OBS::libobs OBS::obs-frontend-api Qt::Core
+                                Qt::Widgets)
 
 set_target_properties(
   ${CMAKE_PROJECT_NAME}

+ 4 - 17
cmake/ObsPluginHelpers.cmake

@@ -95,14 +95,12 @@ macro(find_qt)
   endforeach()
 endmacro()
 
-find_qt(VERSION ${QT_VERSION} COMPONENTS Widgets Core)
-
 file(RELATIVE_PATH RELATIVE_INSTALL_PATH ${CMAKE_SOURCE_DIR}
      ${CMAKE_INSTALL_PREFIX})
 file(RELATIVE_PATH RELATIVE_BUILD_PATH ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
 
 # Set up OS-specific environment and helper functions
-if(OS_MACOS)
+if(OS_POSIX)
   find_program(CCACHE_PROGRAM "ccache")
   set(CCACHE_SUPPORT
       ON
@@ -115,7 +113,9 @@ if(OS_MACOS)
     set(CMAKE_OBJCXX_COMPILER_LAUNCHER ${CCACHE_PROGRAM})
     set(CMAKE_CUDA_COMPILER_LAUNCHER ${CCACHE_PROGRAM}) # CMake 3.9+
   endif()
+endif()
 
+if(OS_MACOS)
   set(CMAKE_OSX_ARCHITECTURES
       "x86_64"
       CACHE STRING
@@ -274,20 +274,7 @@ else()
   set(OBS_OUTPUT_DIR ${CMAKE_BINARY_DIR}/rundir)
 
   if(OS_POSIX)
-    find_program(CCACHE_PROGRAM "ccache")
-    set(CCACHE_SUPPORT
-        ON
-        CACHE BOOL "Enable ccache support")
-    mark_as_advanced(CCACHE_PROGRAM)
-    if(CCACHE_PROGRAM AND CCACHE_SUPPORT)
-      set(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE_PROGRAM})
-      set(CMAKE_C_COMPILER_LAUNCHER ${CCACHE_PROGRAM})
-      set(CMAKE_OBJC_COMPILER_LAUNCHER ${CCACHE_PROGRAM})
-      set(CMAKE_OBJCXX_COMPILER_LAUNCHER ${CCACHE_PROGRAM})
-      set(CMAKE_CUDA_COMPILER_LAUNCHER ${CCACHE_PROGRAM}) # CMake 3.9+
-    endif()
-
-    option(LINUX_PORTABLE "Build portable version (Linux)" OFF)
+    option(LINUX_PORTABLE "Build portable version (Linux)" ON)
     if(NOT LINUX_PORTABLE)
       set(OBS_LIBRARY_DESTINATION ${CMAKE_INSTALL_LIBDIR})
       set(OBS_PLUGIN_DESTINATION ${OBS_LIBRARY_DESTINATION}/obs-plugins)