implement ui
This commit is contained in:
@@ -71,16 +71,44 @@ unset(SRCS)
|
||||
|
||||
# ============================================================
|
||||
# ui — QtWidgets + QOpenGLWidget
|
||||
# Depends on lib. No sources yet; declared as INTERFACE library.
|
||||
# When UI source files are added under src/ui/, change this to
|
||||
# a regular static library and enable AUTOMOC on the target.
|
||||
# Depends on lib.
|
||||
# ============================================================
|
||||
|
||||
set(HDRS)
|
||||
set(SRCS)
|
||||
|
||||
add_subdirectory(ui)
|
||||
|
||||
add_library(${TARGET_UI_NAME} INTERFACE)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
|
||||
target_link_libraries(${TARGET_UI_NAME} INTERFACE
|
||||
set(RELATIVE_HDRS)
|
||||
foreach (_file ${HDRS})
|
||||
file(RELATIVE_PATH _relPath "${SRC_DIR}" "${_file}")
|
||||
list(APPEND RELATIVE_HDRS "${_relPath}")
|
||||
endforeach()
|
||||
|
||||
set(RELATIVE_SRCS)
|
||||
foreach (_file ${SRCS})
|
||||
file(RELATIVE_PATH _relPath "${SRC_DIR}" "${_file}")
|
||||
list(APPEND RELATIVE_SRCS "${_relPath}")
|
||||
endforeach()
|
||||
|
||||
add_files(UI_FILES ${RELATIVE_HDRS} ${RELATIVE_SRCS})
|
||||
|
||||
add_library(${TARGET_UI_NAME} STATIC ${UI_FILES})
|
||||
create_source_groups(${UI_FILES})
|
||||
|
||||
set_target_properties(${TARGET_UI_NAME} PROPERTIES
|
||||
AUTOMOC ON
|
||||
CXX_STANDARD 17
|
||||
)
|
||||
set_property(TARGET ${TARGET_UI_NAME} PROPERTY INCLUDE_DIRECTORIES
|
||||
"${TARGET_UI_INCLUDE_DIRS}"
|
||||
"${TARGET_LIB_INCLUDE_DIRS}"
|
||||
"${LIB_INCLUDE_PATH}"
|
||||
)
|
||||
|
||||
target_link_libraries(${TARGET_UI_NAME}
|
||||
${TARGET_LIB_NAME}
|
||||
Qt5::Widgets
|
||||
${OPENGL_LIBRARIES}
|
||||
@@ -89,11 +117,13 @@ target_link_libraries(${TARGET_UI_NAME} INTERFACE
|
||||
Qt5::Charts
|
||||
)
|
||||
|
||||
target_include_directories(${TARGET_UI_NAME} INTERFACE
|
||||
"${TARGET_UI_INCLUDE_DIRS}"
|
||||
"${TARGET_LIB_INCLUDE_DIRS}"
|
||||
"${LIB_INCLUDE_PATH}"
|
||||
)
|
||||
set(CMAKE_AUTOMOC OFF)
|
||||
|
||||
unset(UI_FILES)
|
||||
unset(RELATIVE_HDRS)
|
||||
unset(RELATIVE_SRCS)
|
||||
unset(HDRS)
|
||||
unset(SRCS)
|
||||
|
||||
|
||||
# ============================================================
|
||||
@@ -145,6 +175,9 @@ set_property(TARGET ${TARGET_APP_NAME} PROPERTY CXX_STANDARD 17)
|
||||
set_target_properties(${TARGET_APP_NAME} PROPERTIES
|
||||
VS_DEBUGGER_WORKING_DIRECTORY "${OUTPUT_ROOT_PATH}/$(Configuration)/app/"
|
||||
)
|
||||
target_compile_definitions(${TARGET_APP_NAME} PRIVATE
|
||||
DOTA_FACTORY_CONFIG_DIR="${CMAKE_SOURCE_DIR}/bin/config"
|
||||
)
|
||||
target_link_libraries(${TARGET_APP_NAME} ${TARGET_UI_NAME})
|
||||
|
||||
unset(APP_FILES)
|
||||
|
||||
Reference in New Issue
Block a user