CMakeLists.txt

changeset 28
c92c1daf735f
parent 26
3a9e761e4faa
child 33
4c41bfe2ec6e
equal deleted inserted replaced
27:c57fb7a5ffa3 28:c92c1daf735f
10 find_package(Qt5Core REQUIRED) 10 find_package(Qt5Core REQUIRED)
11 find_package(Qt5OpenGL REQUIRED) 11 find_package(Qt5OpenGL REQUIRED)
12 find_package(Qt5Network REQUIRED) 12 find_package(Qt5Network REQUIRED)
13 find_package(Qt5LinguistTools REQUIRED) 13 find_package(Qt5LinguistTools REQUIRED)
14 find_package(GLUT REQUIRED) 14 find_package(GLUT REQUIRED)
15 set (CMAKE_AUTOMOC ON) 15 find_package(GLM REQUIRED)
16 set(CMAKE_AUTOMOC ON)
17 set(CMAKE_AUTOUIC ON)
18 set(CMAKE_AUTORCC ON)
16 find_package(OpenGL REQUIRED) 19 find_package(OpenGL REQUIRED)
17 include_directories(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR}) 20 include_directories(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR})
18 include_directories(${GLUT_INCLUDE_DIR}) 21 include_directories(${GLUT_INCLUDE_DIR})
22 include_directories(${GLM_INCLUDE_DIR})
19 23
20 set (LDFORGE_SOURCES 24 set (LDFORGE_SOURCES
21 src/colors.cpp 25 src/colors.cpp
22 src/document.cpp 26 src/document.cpp
23 src/documentmanager.cpp 27 src/documentmanager.cpp
101 105
102 # Translations 106 # Translations
103 qt5_create_translation(QM_FILES ${LDFORGE_SOURCES} ${LDFORGE_HEADERS} ${LDFORGE_FORMS} ${LDFORGE_LOCALES}) 107 qt5_create_translation(QM_FILES ${LDFORGE_SOURCES} ${LDFORGE_HEADERS} ${LDFORGE_FORMS} ${LDFORGE_LOCALES})
104 add_custom_target(translations ALL DEPENDS ${QM_FILES}) 108 add_custom_target(translations ALL DEPENDS ${QM_FILES})
105 add_custom_target(resources ALL DEPENDS ${LDFORGE_RESOURCES}) 109 add_custom_target(resources ALL DEPENDS ${LDFORGE_RESOURCES})
106 add_dependencies(resources translations)
107 110
108 set(CMAKE_CXX_STANDARD 17) 111 set(CMAKE_CXX_STANDARD 17)
109 set(CMAKE_CXX_STANDARD_REQUIRED ON) 112 set(CMAKE_CXX_STANDARD_REQUIRED ON)
110 set(CMAKE_CXX_EXTENSIONS OFF) 113 set(CMAKE_CXX_EXTENSIONS OFF)
111 include_directories("${PROJECT_BINARY_DIR}") 114 include_directories("${PROJECT_BINARY_DIR}")
127 # https://stackoverflow.com/a/34798124 130 # https://stackoverflow.com/a/34798124
128 # https://gist.github.com/giraldeau/546ba5512a74dfe9d8ea0862d66db412 131 # https://gist.github.com/giraldeau/546ba5512a74dfe9d8ea0862d66db412
129 set(LANGUAGES_QRC "languages.qrc") 132 set(LANGUAGES_QRC "languages.qrc")
130 configure_file(${LANGUAGES_QRC} ${CMAKE_CURRENT_BINARY_DIR} COPYONLY) 133 configure_file(${LANGUAGES_QRC} ${CMAKE_CURRENT_BINARY_DIR} COPYONLY)
131 qt5_add_resources(LDFORGE_QM_RC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${LANGUAGES_QRC}) 134 qt5_add_resources(LDFORGE_QM_RC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${LANGUAGES_QRC})
135 set_source_files_properties(${LDFORGE_LOCALES} PROPERTIES HEADER_FILE_ONLY TRUE)
132 136
133 add_executable(ldforge WIN32 137 add_executable(ldforge WIN32
134 ${LDFORGE_SOURCES} 138 ${LDFORGE_SOURCES}
135 ${LDFORGE_HEADERS} 139 ${LDFORGE_HEADERS}
136 ${LDFORGE_RESOURCES} 140 ${LDFORGE_RESOURCES}
137 ${LDFORGE_QRC} 141 ${LDFORGE_QRC}
138 ${LDFORGE_QM_RC_FILE} 142 ${LDFORGE_QM_RC_FILE}
143 ${QM_FILES}
139 ${LDFORGE_FORMS_HEADERS} 144 ${LDFORGE_FORMS_HEADERS}
140 ) 145 )
141 146
142 set_source_files_properties(${LDFORGE_HEADERS} PROPERTIES HEADER_FILE_ONLY TRUE) 147 set_source_files_properties(${LDFORGE_HEADERS} PROPERTIES HEADER_FILE_ONLY TRUE)
143 set_source_files_properties(${LDFORGE_RESOURCES} PROPERTIES HEADER_FILE_ONLY TRUE) 148 set_source_files_properties(${LDFORGE_RESOURCES} PROPERTIES HEADER_FILE_ONLY TRUE)
144 set_target_properties(ldforge PROPERTIES AUTOMOC 1) 149 set_target_properties(ldforge PROPERTIES AUTOMOC 1)
145 target_link_libraries(ldforge Qt5::Widgets Qt5::Network Qt5::OpenGL ${OPENGL_LIBRARIES}) 150 target_link_libraries(ldforge Qt5::Widgets Qt5::Network Qt5::OpenGL ${OPENGL_LIBRARIES})
146 target_link_libraries(ldforge ${GLUT_LIBRARIES}) 151 target_link_libraries(ldforge ${GLUT_LIBRARIES})
152 add_dependencies(ldforge resources)
147 cotire(ldforge) 153 cotire(ldforge)
148 154
149 # Collect the current hg revision into hginfo.h 155 # Collect the current hg revision into hginfo.h
150 add_custom_target(revision_check ALL 156 add_custom_target(revision_check ALL
151 COMMAND python3 "${CMAKE_SOURCE_DIR}/tools/updaterevision.py" --cwd "$(CMAKE_SOURCE_DIR)" hginfo.h 157 COMMAND python3 "${CMAKE_SOURCE_DIR}/tools/updaterevision.py" --cwd "$(CMAKE_SOURCE_DIR)" hginfo.h

mercurial