summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorSimon Rettberg2017-02-24 12:33:55 +0100
committerSimon Rettberg2017-02-24 12:33:55 +0100
commitd4f10f9fe446da2aff65088e5236d6ffcdd034b5 (patch)
tree5d7467a6f67272064619c000a14800e706368ac6 /CMakeLists.txt
downloadspeedcheck-d4f10f9fe446da2aff65088e5236d6ffcdd034b5.tar.gz
speedcheck-d4f10f9fe446da2aff65088e5236d6ffcdd034b5.tar.xz
speedcheck-d4f10f9fe446da2aff65088e5236d6ffcdd034b5.zip
initial commit
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt77
1 files changed, 77 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..a642836
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,77 @@
+cmake_minimum_required(VERSION 2.6)
+
+# cmake -G"Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug ..
+
+# project name
+project(speedcheck)
+
+set(CMAKE_BUILD_TYPE Debug)
+set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -Wall -Wextra -pedantic -Werror -Wno-multichar")
+set(CMAKE_CXX_FLAGS_RELEASE "-O2 -Wno-multichar")
+
+file(GLOB_RECURSE SPEEDCHECK_SOURCES src/*.cpp)
+file(GLOB_RECURSE SPEEDCHECK_MOC_HEADERS src/*.h)
+file(GLOB_RECURSE SPEEDCHECK_UIS src/ui/*.ui)
+file(GLOB_RECURSE SPEEDCHECK_RESOURCES src/*.qrc)
+file(GLOB_RECURSE SPEEDCHECK_TSS src/i18n/*.ts)
+
+include_directories(${CMAKE_CURRENT_BINARY_DIR} ./src)
+
+#
+# Qt4
+#
+find_package(Qt4 4.7.0 REQUIRED)
+if(QT4_FOUND)
+ message(STATUS "Qt4 found")
+else(QT4_FOUND)
+ message(FATAL_ERROR "Qt4 not found")
+endif(QT4_FOUND)
+
+set(QT_USE_QTSVG TRUE)
+set(QT_USE_QTNETWORK TRUE)
+
+include(${QT_USE_FILE})
+
+option(UPDATE_TRANSLATIONS "Update .ts files (WARNING: make clean will delete the .ts files!)")
+if(SPEEDCHECK_TSS)
+ if (UPDATE_TRANSLATIONS)
+ set (FILES_TO_TRANSLATE ${FILES_TO_TRANSLATE} ${SPEEDCHECK_SOURCES} ${SPEEDCHECK_UIS})
+ QT4_CREATE_TRANSLATION(SPEEDCHECK_QMS ${FILES_TO_TRANSLATE} ${SPEEDCHECK_TSS} OPTIONS -noobsolete)
+ message(STATUS ".tr files have been updated")
+ else (UPDATE_TRANSLATIONS)
+ QT4_ADD_TRANSLATION(SPEEDCHECK_QMS ${SPEEDCHECK_TSS})
+ endif (UPDATE_TRANSLATIONS)
+
+ # write a resource file for qm files
+ set(resource_file_content "<RCC>\n <qresource prefix=\"/\">\n")
+ foreach(file ${SPEEDCHECK_QMS})
+ get_filename_component(filename ${file} NAME)
+ set(resource_file_content "${resource_file_content} <file>${filename}</file>\n")
+ endforeach(file)
+ set(resource_file_content "${resource_file_content} </qresource>\n</RCC>\n")
+ file(WRITE "${CMAKE_BINARY_DIR}/translation.qrc" "${resource_file_content}")
+ set(SPEEDCHECK_RESOURCES ${SPEEDCHECK_RESOURCES} "${CMAKE_BINARY_DIR}/translation.qrc")
+
+ #add_custom_target(translations_target DEPENDS ${SPEEDCHECK_QMS})
+endif(SPEEDCHECK_TSS)
+
+QT4_ADD_RESOURCES(SPEEDCHECK_RC_SOURCES ${SPEEDCHECK_RESOURCES})
+QT4_WRAP_UI(SPEEDCHECK_UI_HEADERS ${SPEEDCHECK_UIS})
+QT4_WRAP_CPP(SPEEDCHECK_MOC_SOURCES ${SPEEDCHECK_MOC_HEADERS})
+
+#
+# build speedcheck
+#
+add_executable(speedcheck
+ ${SPEEDCHECK_SOURCES}
+ ${SPEEDCHECK_MOC_SOURCES}
+ ${SPEEDCHECK_UI_HEADERS}
+ ${SPEEDCHECK_RC_SOURCES}
+ ${SPEEDCHECK_QMS}
+)
+
+target_link_libraries(speedcheck
+ ${QT_LIBRARIES}
+)
+
+install(TARGETS speedcheck RUNTIME DESTINATION bin)