cmake_minimum_required(VERSION 3.7) set(BIN_NAME dde-dock) configure_file(environments.h.in environments.h @ONLY) # Sources files file(GLOB_RECURSE SRCS "*.h" "*.cpp" "../widgets/*.h" "../widgets/*.cpp") # Find the library find_package(PkgConfig REQUIRED) find_package(Qt5Widgets REQUIRED) find_package(Qt5Concurrent REQUIRED) find_package(Qt5X11Extras REQUIRED) find_package(Qt5DBus REQUIRED) find_package(Qt5Svg REQUIRED) find_package(DtkWidget REQUIRED) find_package(DtkCMake REQUIRED) pkg_check_modules(XCB_EWMH REQUIRED xcb-ewmh x11) pkg_check_modules(DFrameworkDBus REQUIRED dframeworkdbus) pkg_check_modules(QGSettings REQUIRED gsettings-qt) pkg_check_modules(DtkGUI REQUIRED dtkgui) # driver-manager add_executable(${BIN_NAME} ${SRCS} ${INTERFACES} ${SRC_PATH} item/item.qrc frame.qrc) target_include_directories(${BIN_NAME} PUBLIC ${DtkWidget_INCLUDE_DIRS} ${XCB_EWMH_INCLUDE_DIRS} ${DFrameworkDBus_INCLUDE_DIRS} ${Qt5Gui_PRIVATE_INCLUDE_DIRS} ${PROJECT_BINARY_DIR} ${QGSettings_INCLUDE_DIRS} ${DtkGUI_INCLUDE_DIRS} ${Qt5Svg_INCLUDE_DIRS} ../interfaces util ) target_link_libraries(${BIN_NAME} PRIVATE ${XCB_EWMH_LIBRARIES} ${DFrameworkDBus_LIBRARIES} ${DtkWidget_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Concurrent_LIBRARIES} ${Qt5X11Extras_LIBRARIES} ${Qt5DBus_LIBRARIES} ${QGSettings_LIBRARIES} ${DtkGUI_LIBRARIES} ${Qt5Svg_LIBRARIES} ) if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "sw_64") target_compile_definitions(${BIN_NAME} PUBLIC DISABLE_SHOW_ANIMATION) endif() if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "mips64") target_compile_definitions(${BIN_NAME} PUBLIC DISABLE_SHOW_ANIMATION) endif() if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") target_compile_definitions(${BIN_NAME} PUBLIC DISABLE_SHOW_ANIMATION) endif() # bin install(TARGETS ${BIN_NAME} DESTINATION bin) # Address Sanitizer 内存错误检测工具,打开下面的编译选项可以看到调试信息,正常运行时不需要这些信息 #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -fsanitize=address -O2") #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fsanitize=address -O2")