diff -r b2b7af293c46 -r 2800a15e2a2f CMakeLists.txt --- a/CMakeLists.txt Mon Jun 27 01:09:18 2022 +0300 +++ b/CMakeLists.txt Mon Jun 27 01:28:04 2022 +0300 @@ -22,10 +22,10 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${GLM_INCLUDE_DIR}) add_definitions(-DQT_NO_KEYWORDS) -source_group("LDForge" REGULAR_EXPRESSION "src/.+\\.(cpp|h|ui)") +source_group(${PROJECT_NAME} REGULAR_EXPRESSION "src/.+\\.(cpp|h|ui)") add_subdirectory(widgets) -set (LDFORGE_SOURCES +set(SOURCE_FILES src/colors.cpp src/documentmanager.cpp src/geometry.cpp @@ -57,7 +57,7 @@ src/widgets/colorindexinput.cpp src/widgets/colorselectdialog.cpp ) -set (LDFORGE_HEADERS +set(HEADER_FILES src/basics.h src/circularprimitive.h src/colors.h @@ -96,7 +96,7 @@ src/widgets/colorindexinput.h src/widgets/colorselectdialog.h ) -set (LDFORGE_FORMS +set(FORM_FILES src/mainwindow.ui src/settingseditor/librarieseditor.ui src/settingseditor/settingseditor.ui @@ -106,23 +106,22 @@ src/widgets/colorindexinput.ui ) -set(LDFORGE_LOCALES +set(LOCALE_FILES locale/fi.ts locale/sv.ts ) -set (LDFORGE_OTHER_FILES +set (OTHER_FILES ) set(CMAKE_AUTOUIC_SEARCH_PATHS src/ui) -set(LDFORGE_RESOURCES ldforge.qrc) +set(QRC_FILE ldforge.qrc) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) include_directories("${PROJECT_BINARY_DIR}") include_directories("${PROJECT_BINARY_DIR}/src") include_directories("${PROJECT_SOURCE_DIR}") -add_custom_target(resources ALL DEPENDS ${LDFORGE_RESOURCES}) if (NOT MSVC) if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug" OR "${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo") @@ -143,32 +142,31 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wsuggest-override -Wundefined-func-template -Wundefined-reinterpret-cast") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wuninitialized-const-reference -Wunreachable-code -Wunreachable-code-break -Wunreachable-code-return") endif() -qt_add_resources(LDFORGE_QRC ${LDFORGE_RESOURCES}) -qt_wrap_ui(LDFORGE_FORMS_HEADERS ${LDFORGE_FORMS}) +qt_add_resources(QRC_SOURCE ${QRC_FILE}) +qt_wrap_ui(FORMS_HEADERS ${FORM_FILES}) -add_executable(ldforge WIN32 - ${LDFORGE_SOURCES} - ${LDFORGE_HEADERS} - ${LDFORGE_RESOURCES} - ${LDFORGE_QRC} - ${LDFORGE_FORMS_HEADERS} - ${LDFORGE_OTHER_FILES} +add_executable(${PROJECT_NAME} WIN32 + ${SOURCE_FILES} + ${HEADER_FILES} + ${QRC_FILE} + ${QRC_SOURCE} + ${FORMS_HEADERS} + ${OTHER_FILES} ) -set_source_files_properties(${LDFORGE_HEADERS} PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties(${LDFORGE_RESOURCES} PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties(${LDFORGE_OTHER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE) -set_target_properties(ldforge PROPERTIES AUTOMOC 1) -target_link_libraries(ldforge PRIVATE Qt::Core) -target_link_libraries(ldforge PRIVATE Qt::Widgets) -target_link_libraries(ldforge PRIVATE Qt::OpenGL) -target_link_libraries(ldforge PRIVATE ${OPENGL_LIBRARIES}) -target_link_libraries(ldforge PRIVATE ${GLEW_LIBRARIES}) -target_link_libraries(ldforge PRIVATE ldforgewidgets) -add_dependencies(ldforge resources) +set_source_files_properties(${HEADER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties(${QRC_FILE} PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties(${OTHER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE) +set_target_properties(${PROJECT_NAME} PROPERTIES AUTOMOC 1) +target_link_libraries(${PROJECT_NAME} PRIVATE Qt::Core) +target_link_libraries(${PROJECT_NAME} PRIVATE Qt::Widgets) +target_link_libraries(${PROJECT_NAME} PRIVATE Qt::OpenGL) +target_link_libraries(${PROJECT_NAME} PRIVATE ${OPENGL_LIBRARIES}) +target_link_libraries(${PROJECT_NAME} PRIVATE ${GLEW_LIBRARIES}) +target_link_libraries(${PROJECT_NAME} PRIVATE ${WIDGETLIB}) if (Qt6_FOUND) - target_link_libraries(ldforge PRIVATE Qt6::Core5Compat) - target_link_libraries(ldforge PRIVATE Qt6::OpenGLWidgets) + target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Core5Compat) + target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::OpenGLWidgets) endif() add_custom_target(linelength ALL @@ -177,12 +175,12 @@ ${LDFORGE_SOURCES} ${LDFORGE_HEADERS} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) -add_dependencies(ldforge linelength) +add_dependencies(${PROJECT_NAME} linelength) # Collect the current hg revision into hginfo.h add_custom_target(revision_check ALL COMMAND python3 "${CMAKE_SOURCE_DIR}/tools/updaterevision.py" --cwd "$(CMAKE_SOURCE_DIR)" hginfo.h WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) -add_dependencies(ldforge revision_check) +add_dependencies(${PROJECT_NAME} revision_check) -install(TARGETS ldforge RUNTIME DESTINATION bin) +install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)