culturered_client/TouchScreen/CMakeLists.txt
2024-09-07 11:34:44 +08:00

100 lines
2.3 KiB
CMake

PROJECT(TouchScreen)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
find_package(QT NAMES Qt6 COMPONENTS Widgets Network REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets Network REQUIRED)
FILE(GLOB_RECURSE HEADER_FILES ./*.h ../Common/*.h)
FILE(GLOB_RECURSE CPP_FILES ./*.cpp ../Common/*.cpp)
FILE(GLOB_RECURSE CC_FILES ./*.cc)
FILE(GLOB_RECURSE UI_FILES ./*.ui)
FILE(GLOB_RECURSE QRC_FILES ./*.qrc)
add_definitions(-DUSE_VLC)
SET(
ALL_FILES
${HEADER_FILES}
${CPP_FILES}
${CC_FILES}
${UI_FILES}
${QRC_FILES}
)
INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_SOURCE_DIR}
${ProjectDIR}/Common
${Thirdparty}/zmq/include
${Thirdparty}/spdlog/include
${Thirdparty}/vlc-3.0.8/sdk/include
${Thirdparty}/irrKlang/include
${Thirdparty}/breakpad/include
)
LINK_DIRECTORIES(
${Thirdparty}/zmq/lib
${Thirdparty}/spdlog/lib
${Thirdparty}/vlc-3.0.8/sdk/lib/
${Thirdparty}/irrKlang/lib/Winx64-visualStudio
${Thirdparty}/breakpad/lib
)
# IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
# LINK_DIRECTORIES(
# ${Thirdparty}/ffmpeg/lib/
# )
# ELSE(CMAKE_SIZEOF_VOID_P EQUAL 8)
# LINK_DIRECTORIES(
# ${Thirdparty}/ffmpeg_x86/lib/
# )
# ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 8)
SOURCE_GROUP_BY_DIR(ALL_FILES)
if(${QT_VERSION_MAJOR} GREATER_EQUAL 5)
add_executable(${PROJECT_NAME}
WIN32
${ALL_FILES}
)
endif()
IF(WIN32)
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/MP")
ENDIF(WIN32)
IF(WIN32)
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/Release")
set( CMAKE_EXE_LINKER_FLAGS_RELEASE "/debug /INCREMENTAL")
set( CMAKE_SHARED_LINKER_FLAGS_RELEASE "/debug /INCREMENTAL")
set( CMAKE_MODULE_LINKER_FLAGS_RELEASE "/debug /INCREMENTAL")
set( CMAKE_CXX_FLAGS_RELEASE "/MD /Zi /O2 /Ob1 /D NDEBUG")
set( CMAKE_C_FLAGS_RELEASE "/MD /Zi /O2 /Ob1 /D NDEBUG")
ENDIF(WIN32)
target_link_libraries(
${PROJECT_NAME}
PRIVATE
Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::Network
libzmq-mt-4_3_5
spdlog
libvlccore
libvlc
irrKlang
libbreakpad
libbreakpad_client
libdisasm
)
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${ProjectDIR}/bin)
TARGET_LINK_LIBRARIES(${PROJECT_NAME})