mirror of
https://github.com/Xaymar/obs-StreamFX
synced 2024-11-13 23:35:06 +00:00
cmake: Only enable Qt on components, not on the module
The module only holds the resources file, so Qt is not needed here.
This commit is contained in:
parent
0ce977b9dd
commit
efb6e9f0cb
1 changed files with 30 additions and 20 deletions
|
@ -1851,15 +1851,6 @@ function(streamfx_add_library TARGET_NAME TARGET_TYPE)
|
||||||
# - Don't export by default, require attributes.
|
# - Don't export by default, require attributes.
|
||||||
# add_compile_options("-fvisibility=hidden")
|
# add_compile_options("-fvisibility=hidden")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Enable Qt if needed
|
|
||||||
set_target_properties(${TARGET_NAME} PROPERTIES
|
|
||||||
AUTOUIC ON
|
|
||||||
AUTOUIC_SEARCH_PATHS "${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_SOURCE_DIR}/ui"
|
|
||||||
AUTOMOC ON
|
|
||||||
AUTORCC ON
|
|
||||||
AUTOGEN_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated"
|
|
||||||
)
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
function(streamfx_add_component COMPONENT_NAME)
|
function(streamfx_add_component COMPONENT_NAME)
|
||||||
|
@ -1943,6 +1934,16 @@ function(streamfx_add_component COMPONENT_NAME)
|
||||||
HEADER_FILE_ONLY ON
|
HEADER_FILE_ONLY ON
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# Enable Qt if needed
|
||||||
|
set_target_properties(${TARGET_NAME} PROPERTIES
|
||||||
|
AUTOUIC ON
|
||||||
|
AUTOUIC_SEARCH_PATHS "${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_SOURCE_DIR}/ui"
|
||||||
|
AUTOMOC ON
|
||||||
|
AUTORCC ON
|
||||||
|
AUTOGEN_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated"
|
||||||
|
)
|
||||||
|
|
||||||
set_source_files_properties(
|
set_source_files_properties(
|
||||||
${TEMPLATES}
|
${TEMPLATES}
|
||||||
${SOURCE_PRIVATE}
|
${SOURCE_PRIVATE}
|
||||||
|
@ -2071,16 +2072,21 @@ endif()
|
||||||
streamfx_add_library(StreamFX_Core STATIC EXCLUDE_FROM_ALL)
|
streamfx_add_library(StreamFX_Core STATIC EXCLUDE_FROM_ALL)
|
||||||
add_library(StreamFX::Core ALIAS StreamFX_Core)
|
add_library(StreamFX::Core ALIAS StreamFX_Core)
|
||||||
|
|
||||||
target_link_libraries(StreamFX_Core
|
# Register the library
|
||||||
PUBLIC
|
target_sources(StreamFX_Core PRIVATE ${PROJECT_FILES})
|
||||||
OBS::libobs
|
target_link_libraries(StreamFX_Core
|
||||||
|
PRIVATE ${PROJECT_LIBRARIES}
|
||||||
|
PUBLIC OBS::libobs
|
||||||
)
|
)
|
||||||
|
target_include_directories(StreamFX_Core
|
||||||
target_include_directories(StreamFX_Core
|
PRIVATE ${PROJECT_INCLUDE_DIRS}
|
||||||
PUBLIC
|
PUBLIC
|
||||||
"${PROJECT_SOURCE_DIR}/source"
|
"${PROJECT_SOURCE_DIR}/source"
|
||||||
"${PROJECT_BINARY_DIR}/generated"
|
"${PROJECT_BINARY_DIR}/generated"
|
||||||
)
|
)
|
||||||
|
target_compile_definitions(StreamFX_Core
|
||||||
|
PRIVATE ${PROJECT_DEFINITIONS}
|
||||||
|
)
|
||||||
|
|
||||||
# Combine all variables that matter.
|
# Combine all variables that matter.
|
||||||
set(PROJECT_FILES
|
set(PROJECT_FILES
|
||||||
|
@ -2109,8 +2115,17 @@ set_source_files_properties(${PROJECT_DATA} ${PROJECT_TEMPLATES} ${PROJECT_UI} $
|
||||||
HEADER_FILE_ONLY ON
|
HEADER_FILE_ONLY ON
|
||||||
)
|
)
|
||||||
|
|
||||||
# Prevent non-UI files from being Qt'd
|
# Enable Qt if needed
|
||||||
if(Qt5_Found OR Qt6_FOUND)
|
if(Qt5_Found OR Qt6_FOUND)
|
||||||
|
set_target_properties(StreamFX_Core PROPERTIES
|
||||||
|
AUTOUIC ON
|
||||||
|
AUTOUIC_SEARCH_PATHS "${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_SOURCE_DIR}/ui"
|
||||||
|
AUTOMOC ON
|
||||||
|
AUTORCC ON
|
||||||
|
AUTOGEN_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Prevent non-UI files from being Qt'd
|
||||||
set_source_files_properties(${PROJECT_DATA} ${PROJECT_TEMPLATES} ${PROJECT_MEDIA} ${PROJECT_PRIVATE_GENERATED} ${PROJECT_PRIVATE_SOURCE} PROPERTIES
|
set_source_files_properties(${PROJECT_DATA} ${PROJECT_TEMPLATES} ${PROJECT_MEDIA} ${PROJECT_PRIVATE_GENERATED} ${PROJECT_PRIVATE_SOURCE} PROPERTIES
|
||||||
SKIP_AUTOGEN ON
|
SKIP_AUTOGEN ON
|
||||||
SKIP_AUTOMOC ON
|
SKIP_AUTOMOC ON
|
||||||
|
@ -2119,11 +2134,6 @@ if(Qt5_Found OR Qt6_FOUND)
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Register the library
|
|
||||||
target_sources(StreamFX_Core PRIVATE ${PROJECT_FILES})
|
|
||||||
target_link_libraries(StreamFX_Core PRIVATE ${PROJECT_LIBRARIES})
|
|
||||||
target_include_directories(StreamFX_Core PRIVATE ${PROJECT_INCLUDE_DIRS})
|
|
||||||
target_compile_definitions(StreamFX_Core PRIVATE ${PROJECT_DEFINITIONS})
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Components
|
# Components
|
||||||
|
|
Loading…
Reference in a new issue