Update CMakeLists.txt

This commit is contained in:
Laurent Trinques
2026-05-21 03:40:14 +02:00
committed by GitHub
parent 96b8e4b19c
commit d85aff0c0f
+99 -86
View File
@@ -19,10 +19,10 @@ include(cmake/hoto_update_cmake_message.cmake)
cmake_minimum_required(VERSION 3.14...3.19 FATAL_ERROR) cmake_minimum_required(VERSION 3.14...3.19 FATAL_ERROR)
project(qelectrotech project(qelectrotech
VERSION 0.9.0 VERSION 0.100.1
DESCRIPTION "QET is a CAD/CAE editor focusing on schematics drawing features." DESCRIPTION "QET is a CAD/CAE editor focusing on schematics drawing features."
HOMEPAGE_URL "https://qelectrotech.org/" HOMEPAGE_URL "https://qelectrotech.org/"
LANGUAGES CXX) LANGUAGES CXX)
include(cmake/copyright_message.cmake) include(cmake/copyright_message.cmake)
@@ -31,8 +31,8 @@ set(QET_DIR ${PROJECT_SOURCE_DIR})
# Add sub directories # Add sub directories
option(PACKAGE_TESTS "Build the tests" ON) option(PACKAGE_TESTS "Build the tests" ON)
if(PACKAGE_TESTS) if(PACKAGE_TESTS)
message("Add sub directory tests") message("Add sub directory tests")
add_subdirectory(tests) add_subdirectory(tests)
endif() endif()
include(cmake/paths_compilation_installation.cmake) include(cmake/paths_compilation_installation.cmake)
@@ -46,31 +46,31 @@ include(cmake/fetch_pugixml.cmake)
include(cmake/qet_compilation_vars.cmake) include(cmake/qet_compilation_vars.cmake)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON) set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)
SET(CMAKE_CXX_STANDARD 17) SET(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package( find_package(
QT QT
NAMES NAMES
Qt5 Qt5
COMPONENTS COMPONENTS
${QET_COMPONENTS} ${QET_COMPONENTS}
REQUIRED REQUIRED
) )
find_package( find_package(
Qt${QT_VERSION_MAJOR} Qt${QT_VERSION_MAJOR}
COMPONENTS COMPONENTS
${QET_COMPONENTS} ${QET_COMPONENTS}
REQUIRED) REQUIRED)
find_package(SQLite3 REQUIRED) find_package(SQLite3 REQUIRED)
set(CMAKE_AUTOUIC_SEARCH_PATHS ${QET_DIR}/sources/ui) set(CMAKE_AUTOUIC_SEARCH_PATHS ${QET_DIR}/sources/ui)
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "${QET_DIR}/lang") set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "${QET_DIR}/lang")
qt5_add_translation(QM_FILES ${TS_FILES}) qt5_add_translation(QM_FILES ${TS_FILES})
@@ -78,78 +78,91 @@ qt5_add_translation(QM_FILES ${TS_FILES})
# als laatse # als laatse
include(cmake/define_definitions.cmake) include(cmake/define_definitions.cmake)
add_executable( # On Windows, WIN32 sets /SUBSYSTEM:WINDOWS to suppress the console window.
${PROJECT_NAME} # Qt automatically links qtmain.lib which provides the WinMain entry point,
${QET_RES_FILES} # so no source code change is needed.
${QET_SRC_FILES} if(WIN32)
${QM_FILES} add_executable(
${QET_DIR}/qelectrotech.qrc ${PROJECT_NAME}
) WIN32
${QET_RES_FILES}
${QET_SRC_FILES}
${QM_FILES}
${QET_DIR}/qelectrotech.qrc
)
else()
add_executable(
${PROJECT_NAME}
${QET_RES_FILES}
${QET_SRC_FILES}
${QM_FILES}
${QET_DIR}/qelectrotech.qrc
)
endif()
target_link_libraries( target_link_libraries(
${PROJECT_NAME} ${PROJECT_NAME}
PUBLIC PUBLIC
PRIVATE PRIVATE
pugixml::pugixml pugixml::pugixml
SingleApplication::SingleApplication SingleApplication::SingleApplication
SQLite::SQLite3 SQLite::SQLite3
${KF5_PRIVATE_LIBRARIES} ${KF5_PRIVATE_LIBRARIES}
${QET_PRIVATE_LIBRARIES} ${QET_PRIVATE_LIBRARIES}
) )
target_include_directories( target_include_directories(
${PROJECT_NAME} ${PROJECT_NAME}
PRIVATE PRIVATE
${QET_DIR}/sources/titleblock ${QET_DIR}/sources/titleblock
${QET_DIR}/sources/ui ${QET_DIR}/sources/ui
${QET_DIR}/sources/qetgraphicsitem ${QET_DIR}/sources/qetgraphicsitem
${QET_DIR}/sources/qetgraphicsitem/ViewItem ${QET_DIR}/sources/qetgraphicsitem/ViewItem
${QET_DIR}/sources/qetgraphicsitem/ViewItem/ui ${QET_DIR}/sources/qetgraphicsitem/ViewItem/ui
${QET_DIR}/sources/richtext ${QET_DIR}/sources/richtext
${QET_DIR}/sources/factory ${QET_DIR}/sources/factory
${QET_DIR}/sources/properties ${QET_DIR}/sources/properties
${QET_DIR}/sources/dvevent ${QET_DIR}/sources/dvevent
${QET_DIR}/sources/editor ${QET_DIR}/sources/editor
${QET_DIR}/sources/editor/esevent ${QET_DIR}/sources/editor/esevent
${QET_DIR}/sources/editor/graphicspart ${QET_DIR}/sources/editor/graphicspart
${QET_DIR}/sources/editor/ui ${QET_DIR}/sources/editor/ui
${QET_DIR}/sources/editor/UndoCommand ${QET_DIR}/sources/editor/UndoCommand
${QET_DIR}/sources/undocommand ${QET_DIR}/sources/undocommand
${QET_DIR}/sources/diagramevent ${QET_DIR}/sources/diagramevent
${QET_DIR}/sources/ElementsCollection ${QET_DIR}/sources/ElementsCollection
${QET_DIR}/sources/ElementsCollection/ui ${QET_DIR}/sources/ElementsCollection/ui
${QET_DIR}/sources/autoNum ${QET_DIR}/sources/autoNum
${QET_DIR}/sources/autoNum/ui ${QET_DIR}/sources/autoNum/ui
${QET_DIR}/sources/ui/configpage ${QET_DIR}/sources/ui/configpage
${QET_DIR}/sources/SearchAndReplace ${QET_DIR}/sources/SearchAndReplace
${QET_DIR}/sources/SearchAndReplace/ui ${QET_DIR}/sources/SearchAndReplace/ui
${QET_DIR}/sources/NameList ${QET_DIR}/sources/NameList
${QET_DIR}/sources/NameList/ui ${QET_DIR}/sources/NameList/ui
${QET_DIR}/sources/utils ${QET_DIR}/sources/utils
${QET_DIR}/pugixml/src ${QET_DIR}/pugixml/src
${QET_DIR}/sources/dataBase ${QET_DIR}/sources/dataBase
${QET_DIR}/sources/dataBase/ui ${QET_DIR}/sources/dataBase/ui
${QET_DIR}/sources/factory/ui ${QET_DIR}/sources/factory/ui
${QET_DIR}/sources/print ${QET_DIR}/sources/print
) )
install(TARGETS ${PROJECT_NAME}) install(TARGETS ${PROJECT_NAME})
if (NOT MINGW) if (NOT MINGW)
install(DIRECTORY ico/breeze-icons/16x16 DESTINATION ${QET_ICONS_PATH})
install(DIRECTORY ico/breeze-icons/16x16 DESTINATION ${QET_ICONS_PATH}) install(DIRECTORY ico/breeze-icons/22x22 DESTINATION ${QET_ICONS_PATH})
install(DIRECTORY ico/breeze-icons/22x22 DESTINATION ${QET_ICONS_PATH}) install(DIRECTORY ico/breeze-icons/32x32 DESTINATION ${QET_ICONS_PATH})
install(DIRECTORY ico/breeze-icons/32x32 DESTINATION ${QET_ICONS_PATH}) install(DIRECTORY ico/breeze-icons/48x48 DESTINATION ${QET_ICONS_PATH})
install(DIRECTORY ico/breeze-icons/48x48 DESTINATION ${QET_ICONS_PATH}) install(DIRECTORY ico/breeze-icons/64x64 DESTINATION ${QET_ICONS_PATH})
install(DIRECTORY ico/breeze-icons/64x64 DESTINATION ${QET_ICONS_PATH}) install(DIRECTORY ico/breeze-icons/128x128 DESTINATION ${QET_ICONS_PATH})
install(DIRECTORY ico/breeze-icons/128x128 DESTINATION ${QET_ICONS_PATH}) install(DIRECTORY ico/breeze-icons/256x256 DESTINATION ${QET_ICONS_PATH})
install(DIRECTORY ico/breeze-icons/256x256 DESTINATION ${QET_ICONS_PATH}) install(DIRECTORY elements DESTINATION share/qelectrotech)
install(DIRECTORY elements DESTINATION share/qelectrotech) install(DIRECTORY examples DESTINATION share/qelectrotech)
install(DIRECTORY examples DESTINATION share/qelectrotech) install(DIRECTORY titleblocks DESTINATION share/qelectrotech)
install(DIRECTORY titleblocks DESTINATION share/qelectrotech) install(FILES LICENSE ELEMENTS.LICENSE CREDIT README ChangeLog DESTINATION share/doc/qelectrotech)
install(FILES LICENSE ELEMENTS.LICENSE CREDIT README ChangeLog DESTINATION share/doc/qelectrotech) install(FILES misc/org.qelectrotech.qelectrotech.desktop DESTINATION share/applications)
install(FILES misc/org.qelectrotech.qelectrotech.desktop DESTINATION share/applications) install(FILES misc/qelectrotech.xml DESTINATION share/mime/packages)
install(FILES misc/qelectrotech.xml DESTINATION share/mime/packages) install(FILES misc/qelectrotech.appdata.xml DESTINATION ${QET_APPDATA_PATH})
install(FILES misc/qelectrotech.appdata.xml DESTINATION ${QET_APPDATA_PATH}) install(FILES ${QM_FILES} DESTINATION ${QET_LANG_PATH})
install(FILES ${QM_FILES} DESTINATION ${QET_LANG_PATH})
endif() endif()