2018-03-05 21:25:21 +08:00
|
|
|
cmake_minimum_required(VERSION 3.7)
|
|
|
|
|
|
|
|
set(VERSION 4.0)
|
|
|
|
|
2018-03-05 21:43:32 +08:00
|
|
|
project(dde-dock)
|
|
|
|
|
2018-03-05 21:25:21 +08:00
|
|
|
#set(CMAKE_VERBOSE_MAKEFILE ON)
|
|
|
|
set(CMAKE_CXX_STANDARD 14)
|
|
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
set(CMAKE_AUTORCC ON)
|
2018-03-06 15:15:50 +08:00
|
|
|
set(CMAKE_CXX_FLAGS "-g -Wall")
|
2018-03-05 21:25:21 +08:00
|
|
|
|
2020-10-14 15:08:18 +08:00
|
|
|
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "mips64")
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -ftree-vectorize -march=loongson3a -mhard-float -mno-micromips -mno-mips16 -flax-vector-conversions -mloongson-ext2 -mloongson-mmi -fPIE")
|
|
|
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
|
|
|
|
endif()
|
|
|
|
|
2019-03-13 14:01:38 +08:00
|
|
|
# generate a compile commands file as complete database for vim-YouCompleteMe or some other similar tools
|
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
|
2018-11-05 11:25:04 +08:00
|
|
|
include(GNUInstallDirs)
|
|
|
|
|
2018-03-05 21:25:21 +08:00
|
|
|
if (NOT (${CMAKE_BUILD_TYPE} MATCHES "Debug"))
|
2018-03-06 15:15:50 +08:00
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Ofast")
|
2018-03-05 21:25:21 +08:00
|
|
|
|
|
|
|
# generate qm
|
|
|
|
execute_process(COMMAND bash "translate_generation.sh"
|
|
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
|
|
|
|
endif ()
|
|
|
|
|
2018-12-14 14:55:41 +08:00
|
|
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DQT_DEBUG")
|
|
|
|
|
2018-05-10 17:26:41 +08:00
|
|
|
# Test architecture
|
2018-05-23 11:24:55 +08:00
|
|
|
execute_process(COMMAND dpkg-architecture -qDEB_BUILD_ARCH OUTPUT_VARIABLE ARCHITECTURE RESULT_VARIABLE EXIT_CODE)
|
|
|
|
if (${EXIT_CODE} EQUAL 0)
|
|
|
|
string(STRIP ${ARCHITECTURE} ARCHITECTURE)
|
|
|
|
|
|
|
|
if (${ARCHITECTURE} STREQUAL "sw_64")
|
|
|
|
# add compiler flags -mieee for mathmatic
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mieee")
|
2019-06-25 15:13:44 +08:00
|
|
|
add_definitions(-DDISABLE_SHOW_ANIMATION)
|
2018-05-23 11:24:55 +08:00
|
|
|
endif()
|
2018-05-10 17:26:41 +08:00
|
|
|
endif()
|
|
|
|
|
2018-03-05 21:25:21 +08:00
|
|
|
file(GLOB INTERFACES "interfaces/*.h")
|
|
|
|
|
|
|
|
add_subdirectory("frame")
|
|
|
|
add_subdirectory("plugins")
|
2020-07-15 20:12:25 +08:00
|
|
|
add_subdirectory("unittest")
|
2018-03-05 21:25:21 +08:00
|
|
|
|
|
|
|
# Install settings
|
|
|
|
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
|
|
|
set(CMAKE_INSTALL_PREFIX /usr)
|
|
|
|
endif ()
|
|
|
|
|
2018-03-05 21:43:32 +08:00
|
|
|
## qm files
|
2018-03-05 21:25:21 +08:00
|
|
|
file(GLOB QM_FILES "translations/*.qm")
|
|
|
|
install(FILES ${QM_FILES}
|
|
|
|
DESTINATION share/dde-dock/translations)
|
|
|
|
|
|
|
|
## dev files
|
2018-11-05 11:25:04 +08:00
|
|
|
install(FILES ${INTERFACES}
|
|
|
|
DESTINATION include/dde-dock)
|
|
|
|
|
|
|
|
install(FILES "dde-dock.pc"
|
|
|
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
|
|
|
|
|
|
|
install(FILES "cmake/DdeDock/DdeDockConfig.cmake"
|
|
|
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/DdeDock)
|
2018-03-05 21:43:32 +08:00
|
|
|
|
2020-05-20 17:38:00 +08:00
|
|
|
install(FILES gschema/com.deepin.dde.dock.module.gschema.xml
|
|
|
|
DESTINATION share/glib-2.0/schemas)
|