diff -r 9a482f506747 -r fb319526ba6c CMakeLists.txt --- a/CMakeLists.txt Mon Jun 27 01:29:03 2022 +0300 +++ b/CMakeLists.txt Mon Jun 27 01:49:20 2022 +0300 @@ -1,4 +1,14 @@ -project(ldforge) +project(LDForge) +set(VERSION_MAJOR 1) +set(VERSION_MINOR 0) +set(VERSION_PATCH 0) + +set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}") +if (NOT ${VERSION_PATCH} EQUAL 0) + set(VERSION_STRING "${VERSION_STRING}.${VERSION_PATCH}") +endif() + +string(TOLOWER ${PROJECT_NAME} TARGET_NAME) cmake_minimum_required(VERSION 2.8.12) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake") set(OpenGL_GL_PREFERENCE GLVND) @@ -123,6 +133,12 @@ include_directories("${PROJECT_BINARY_DIR}/src") include_directories("${PROJECT_SOURCE_DIR}") +add_definitions(-DVERSION_MAJOR=${VERSION_MAJOR}) +add_definitions(-DVERSION_MINOR=${VERSION_MINOR}) +add_definitions(-DVERSION_PATCH=${VERSION_PATCH}) +add_definitions(-DAPPNAME="${PROJECT_NAME}") +add_definitions(-DVERSION_STRING="${VERSION_STRING}") + if (NOT MSVC) if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug" OR "${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEBUG") @@ -145,7 +161,7 @@ qt_add_resources(QRC_SOURCE ${QRC_FILE}) qt_wrap_ui(FORMS_HEADERS ${FORM_FILES}) -add_executable(${PROJECT_NAME} WIN32 +add_executable(${TARGET_NAME} WIN32 ${SOURCE_FILES} ${HEADER_FILES} ${QRC_FILE} @@ -157,30 +173,30 @@ 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}) +set_target_properties(${TARGET_NAME} PROPERTIES AUTOMOC 1) +target_link_libraries(${TARGET_NAME} PRIVATE Qt::Core) +target_link_libraries(${TARGET_NAME} PRIVATE Qt::Widgets) +target_link_libraries(${TARGET_NAME} PRIVATE Qt::OpenGL) +target_link_libraries(${TARGET_NAME} PRIVATE ${OPENGL_LIBRARIES}) +target_link_libraries(${TARGET_NAME} PRIVATE ${GLEW_LIBRARIES}) +target_link_libraries(${TARGET_NAME} PRIVATE ${WIDGETLIB}) if (Qt6_FOUND) - target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Core5Compat) - target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::OpenGLWidgets) + target_link_libraries(${TARGET_NAME} PRIVATE Qt6::Core5Compat) + target_link_libraries(${TARGET_NAME} PRIVATE Qt6::OpenGLWidgets) endif() add_custom_target(linelength ALL COMMAND python3 "${CMAKE_SOURCE_DIR}/tools/linelength.py" ${SOURCE_FILES} - ${HEADER_FILES} + ${HEADER_FILESl} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) -add_dependencies(${PROJECT_NAME} linelength) +add_dependencies(${TARGET_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(${PROJECT_NAME} revision_check) +add_dependencies(${TARGET_NAME} revision_check) -install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin) +install(TARGETS ${TARGET_NAME} RUNTIME DESTINATION bin)