From 6ef38d0873bc424ff72d0eb5363924b00b0cadc2 Mon Sep 17 00:00:00 2001 From: Jan Dalheimer Date: Sun, 6 Apr 2014 18:02:28 +0200 Subject: Coverity build and upload target. Also GitFunctions. --- CMakeLists.txt | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index d804e730..15f9a13d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -179,20 +179,9 @@ endif() ADD_CUSTOM_TARGET(version echo "Version: ${MultiMC_VERSION_STRING}") #### Check the current Git commit -execute_process(COMMAND git rev-parse HEAD - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - RESULT_VARIABLE GIT_COMMIT_CHECK_RESULTVAR - OUTPUT_VARIABLE GIT_COMMIT_CHECK_OUTVAR - OUTPUT_STRIP_TRAILING_WHITESPACE -) - -IF(GIT_COMMIT_CHECK_RESULTVAR EQUAL 0) - SET(MultiMC_GIT_COMMIT "${GIT_COMMIT_CHECK_OUTVAR}") - MESSAGE(STATUS "Git commit: ${MultiMC_GIT_COMMIT}") -ELSE() - SET(MultiMC_GIT_COMMIT "Unknown") - MESSAGE(STATUS "Failed to check Git commit. ${GIT_COMMIT_CHECK_RESULTVAR}") -ENDIF() +include(GitFunctions) +git_run(COMMAND rev-parse HEAD DEFAULT "Unknown" OUTPUT_VAR MultiMC_GIT_COMMIT) +message(STATUS "Git commit: ${MultiMC_GIT_COMMIT}") OPTION(MultiMC_CODE_COVERAGE "Compiles for code coverage" OFF) IF(MultiMC_CODE_COVERAGE) @@ -789,6 +778,8 @@ ENDIF() INCLUDE(CPack) +include(Coverity) + include_directories(${PROJECT_BINARY_DIR}/include) # Translations -- cgit v1.2.3 From eb246c4fa744bd50e008455f5f8363114b4de3eb Mon Sep 17 00:00:00 2001 From: Jan Dalheimer Date: Sun, 6 Apr 2014 18:12:48 +0200 Subject: .cmake files to reduce "code" duplicate --- CMakeLists.txt | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index d804e730..6df233ce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,10 @@ cmake_minimum_required(VERSION 2.8.9) +string(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BUILD_DIR}" IS_IN_SOURCE_BUILD) +if(IS_IN_SOURCE_BUILD) + message(AUTHOR_WARNING "You are building MultiMC in-source. This is NOT recommended!") +endif() + IF(WIN32) # In Qt 5.1+ we have our own main() function, don't autolink to qtmain on Windows cmake_policy(SET CMP0020 OLD) @@ -28,19 +33,10 @@ ENDIF() set(CMAKE_JAVA_TARGET_OUTPUT_DIR ${PROJECT_BINARY_DIR}/jars) ######## Set compiler flags ######## -IF(APPLE) - message(STATUS "Using APPLE CMAKE_CXX_FLAGS") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall") -ELSEIF(UNIX) - # assume GCC, add C++0x/C++11 stuff - MESSAGE(STATUS "Using UNIX CMAKE_CXX_FLAGS") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall") -ELSEIF(MINGW) - MESSAGE(STATUS "Using MINGW CMAKE_CXX_FLAGS") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11 -Wall") -ENDIF() +include(UseCXX11) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") +set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Werror=return-type") -SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Werror=return-type") ################################ 3rd Party Libs ################################ # Find the required Qt parts @@ -60,15 +56,7 @@ include_directories( ) # The Qt5 cmake files don't provide its install paths, so ask qmake. -get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION) -function(QUERY_QMAKE VAR RESULT) - exec_program(${QMAKE_EXECUTABLE} ARGS "-query ${VAR}" RETURN_VALUE return_code OUTPUT_VARIABLE output ) - if(NOT return_code) - file(TO_CMAKE_PATH "${output}" output) - set(${RESULT} ${output} PARENT_SCOPE) - endif(NOT return_code) -endfunction(QUERY_QMAKE) - +include(QMakeQuery) query_qmake(QT_INSTALL_PLUGINS QT_PLUGINS_DIR) query_qmake(QT_INSTALL_IMPORTS QT_IMPORTS_DIR) query_qmake(QT_INSTALL_LIBS QT_LIBS_DIR) -- cgit v1.2.3