PROJECT(ProjectorDisplay) 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 OpenGLWidgets Svg Multimedia MultimediaWidgets 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) add_definitions(-DUSE_VLC) SET( ALL_FILES ${HEADER_FILES} ${CPP_FILES} ${CC_FILES} ${UI_FILES} ) INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR} ${ProjectDIR}/Common ${Thirdparty}/ffmpeg/include ${Thirdparty}/irrKlang/include ${Thirdparty}/vlc-3.0.8/sdk/include ${Thirdparty}/zmq/include ${Thirdparty}/spdlog/include ${Thirdparty}/breakpad/include ) LINK_DIRECTORIES( ${Thirdparty}/ffmpeg/lib/ ${Thirdparty}/irrKlang/lib/Winx64-visualStudio/ ${Thirdparty}/vlc-3.0.8/sdk/lib/ ${Thirdparty}/zmq/lib ${Thirdparty}/spdlog/lib ${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 # ${OpenCV}/lib/opencv_core480d.lib # ${OpenCV}/lib/opencv_highgui480d.lib # ${OpenCV}/lib/opencv_imgcodecs480d.lib # ${OpenCV}/lib/opencv_imgproc480d.lib Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Network Qt${QT_VERSION_MAJOR}::OpenGLWidgets Qt${QT_VERSION_MAJOR}::Svg Qt${QT_VERSION_MAJOR}::Multimedia Qt${QT_VERSION_MAJOR}::MultimediaWidgets avcodec avdevice avfilter avformat avutil postproc swresample swscale irrKlang libvlccore libvlc libzmq-mt-4_3_5 spdlog libbreakpad libbreakpad_client libdisasm ) SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${ProjectDIR}/bin) TARGET_LINK_LIBRARIES( ${PROJECT_NAME} )