1
0
mirror of https://github.com/altlinux/admc.git synced 2024-10-27 01:55:37 +03:00
admc/CMakeLists.txt

111 lines
3.1 KiB
CMake
Raw Normal View History

2020-05-21 17:11:45 +03:00
cmake_minimum_required(VERSION 3.0)
2020-07-13 14:59:57 +03:00
project(admc VERSION 0.1.0)
2020-05-21 17:11:45 +03:00
set(CMAKE_BUILD_TYPE Debug)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_C_STANDARD 99)
2020-07-21 13:48:47 +03:00
set(CMAKE_CXX_FLAGS "-Wall -Wshadow -Werror=switch")
2020-05-26 09:23:04 +03:00
2020-05-21 17:11:45 +03:00
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
# Suppress warnings on FindDoxygen.cmake
cmake_policy(SET CMP0054 NEW)
if(SYSTEM_NAME STREQUAL "FreeBSD")
set(Iconv_IS_BUILT_IN FALSE)
endif()
2020-05-21 17:11:45 +03:00
set(CMAKE_MODULE_PATH
2020-05-27 13:26:08 +03:00
${CMAKE_MODULE_PATH}
${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules
2020-05-21 17:11:45 +03:00
)
2020-07-17 15:54:53 +03:00
find_package(Qt5 COMPONENTS Core Widgets LinguistTools REQUIRED) # GUI
2020-05-21 17:11:45 +03:00
find_package(Doxygen) # Code documentation
# Definitions for configuration file
2020-07-13 14:59:57 +03:00
set(ADMC_APPLICATION_NAME "ADMC")
set(ADMC_APPLICATION_DISPLAY_NAME "ADMC")
set(ADMC_ORGANIZATION "BaseALT")
set(ADMC_ORGANIZATION_DOMAIN "basealt.ru")
2020-05-21 17:11:45 +03:00
configure_file("config.h.in" "config.h")
2020-06-03 18:45:21 +03:00
add_subdirectory(adldap)
2020-06-01 19:43:06 +03:00
add_subdirectory(gpgui)
2020-07-17 15:54:53 +03:00
# add_subdirectory(translations)
2020-06-01 19:43:06 +03:00
2020-07-13 14:59:57 +03:00
set(ADMC_HEADER_DIRS
2020-06-01 17:18:26 +03:00
${CMAKE_CURRENT_BINARY_DIR}
2020-05-27 13:26:08 +03:00
${CMAKE_CURRENT_SOURCE_DIR}/src
2020-06-03 18:45:21 +03:00
${CMAKE_CURRENT_SOURCE_DIR}/adldap/include
2020-05-21 17:11:45 +03:00
)
2020-07-13 14:59:57 +03:00
set(ADMC_SOURCES
2020-05-27 13:26:08 +03:00
${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/ad_interface.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/details_widget.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/attributes_widget.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/containers_widget.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/contents_widget.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/main_window.cpp
2020-06-16 12:31:34 +03:00
${CMAKE_CURRENT_SOURCE_DIR}/src/status.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/members_widget.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/object_model.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/settings.cpp
2020-06-22 17:07:03 +03:00
${CMAKE_CURRENT_SOURCE_DIR}/src/move_dialog.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/object_context_menu.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/confirmation_dialog.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/advanced_view_proxy.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/dn_column_proxy.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/utils.cpp
2020-06-30 16:13:31 +03:00
${CMAKE_CURRENT_SOURCE_DIR}/src/login_dialog.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/password_dialog.cpp
2020-07-22 13:00:05 +03:00
${CMAKE_CURRENT_SOURCE_DIR}/src/menubar.cpp
2020-05-21 17:11:45 +03:00
)
2020-07-17 15:54:53 +03:00
set(TS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/translations)
set(TS_FILES ${TS_DIR}/ru.ts)
# `make translations` to generate translation sources (.ts)
# NOTE: put this in a custom target so that translations aren't rebuilt on every source change
add_custom_target(translations
DEPENDS ${TS_FILES}
COMMAND ${Qt5_LUPDATE_EXECUTABLE} -recursive ${CMAKE_SOURCE_DIR} -ts ${TS_FILES}
)
# Generate translation binaries (.qm) from sources (.ts)
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION ${TS_DIR})
qt5_add_translation(QM_FILES ${TS_FILES})
2020-05-21 17:11:45 +03:00
add_definitions(${QT5_DEFINITIONS})
2020-07-13 14:59:57 +03:00
add_executable(admc
${ADMC_SOURCES}
2020-07-17 15:54:53 +03:00
${TS_DIR}/translations.qrc
2020-05-21 17:11:45 +03:00
)
2020-07-13 14:59:57 +03:00
doxygen_add_docs(admc_doc
${ADMC_HEADER_DIRS}
2020-05-27 13:26:08 +03:00
COMMENT
"Group Policy Editor GUI documentation"
2020-05-21 17:11:45 +03:00
)
2020-07-13 14:59:57 +03:00
target_link_libraries(admc
2020-05-27 13:26:08 +03:00
Qt5::Core
Qt5::Widgets
2020-06-04 10:19:50 +03:00
adldap++
2020-05-21 17:11:45 +03:00
)
2020-07-13 14:59:57 +03:00
target_include_directories(admc
2020-05-27 13:26:08 +03:00
PUBLIC
2020-07-13 14:59:57 +03:00
${ADMC_HEADER_DIRS}
2020-05-21 17:11:45 +03:00
)
2020-07-13 14:59:57 +03:00
install(TARGETS admc)
2020-05-21 17:11:45 +03:00