From 0cff7ae12e4672f7b8272830691bfbfe92dd56c3 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 17 Oct 2015 10:49:01 +0200 Subject: cmake: drop -ffast-math, allow for NaN check --- cmake/mingw-w64.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'cmake') diff --git a/cmake/mingw-w64.cmake b/cmake/mingw-w64.cmake index f8ee1d41..2705c068 100644 --- a/cmake/mingw-w64.cmake +++ b/cmake/mingw-w64.cmake @@ -26,7 +26,8 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # oldest CPU supported here is Northwood-based Pentium 4. -sh 20150811 -set(cpu "-O3 -march=pentium4 -mtune=corei7-avx -ffast-math -mfpmath=both -msse -msse2 -mno-sse3") +set(fpu "-fno-math-errno -funsafe-math-optimizations -fno-signed-zeros -mfpmath=both") +set(cpu "-O3 -march=pentium4 -mtune=corei7-avx ${fpu} -msse -msse2 -mno-sse3") set(CFLAGS-OVERRIDE "" CACHE STRING "") -- cgit v1.2.3 From 82f6e8acfd87d7e03ff696616b09b042035eb3a9 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 17 Oct 2015 11:31:16 +0200 Subject: cmake: retab git module --- cmake/GetGitRevisionDescription.cmake | 136 +++++++++++++++++----------------- 1 file changed, 68 insertions(+), 68 deletions(-) (limited to 'cmake') diff --git a/cmake/GetGitRevisionDescription.cmake b/cmake/GetGitRevisionDescription.cmake index e16d8c37..8a7f0eeb 100644 --- a/cmake/GetGitRevisionDescription.cmake +++ b/cmake/GetGitRevisionDescription.cmake @@ -31,7 +31,7 @@ # http://www.boost.org/LICENSE_1_0.txt) if(__get_git_revision_description) - return() + return() endif() set(__get_git_revision_description YES) @@ -40,84 +40,84 @@ set(__get_git_revision_description YES) get_filename_component(_gitdescmoddir ${CMAKE_CURRENT_LIST_FILE} PATH) function(get_git_head_revision _refspecvar _hashvar) - set(GIT_PARENT_DIR "${CMAKE_SOURCE_DIR}") - set(GIT_DIR "${GIT_PARENT_DIR}/.git") - while(NOT EXISTS "${GIT_DIR}") # .git dir not found, search parent directories - set(GIT_PREVIOUS_PARENT "${GIT_PARENT_DIR}") - get_filename_component(GIT_PARENT_DIR ${GIT_PARENT_DIR} PATH) - if(GIT_PARENT_DIR STREQUAL GIT_PREVIOUS_PARENT) - # We have reached the root directory, we are not in git - set(${_refspecvar} "GITDIR-NOTFOUND" PARENT_SCOPE) - set(${_hashvar} "GITDIR-NOTFOUND" PARENT_SCOPE) - return() - endif() - set(GIT_DIR "${GIT_PARENT_DIR}/.git") - endwhile() - set(GIT_DATA "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/git-data") - if(NOT EXISTS "${GIT_DATA}") - file(MAKE_DIRECTORY "${GIT_DATA}") - endif() + set(GIT_PARENT_DIR "${CMAKE_SOURCE_DIR}") + set(GIT_DIR "${GIT_PARENT_DIR}/.git") + while(NOT EXISTS "${GIT_DIR}") # .git dir not found, search parent directories + set(GIT_PREVIOUS_PARENT "${GIT_PARENT_DIR}") + get_filename_component(GIT_PARENT_DIR ${GIT_PARENT_DIR} PATH) + if(GIT_PARENT_DIR STREQUAL GIT_PREVIOUS_PARENT) + # We have reached the root directory, we are not in git + set(${_refspecvar} "GITDIR-NOTFOUND" PARENT_SCOPE) + set(${_hashvar} "GITDIR-NOTFOUND" PARENT_SCOPE) + return() + endif() + set(GIT_DIR "${GIT_PARENT_DIR}/.git") + endwhile() + set(GIT_DATA "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/git-data") + if(NOT EXISTS "${GIT_DATA}") + file(MAKE_DIRECTORY "${GIT_DATA}") + endif() - if(NOT EXISTS "${GIT_DIR}/HEAD") - return() - endif() - set(HEAD_FILE "${GIT_DATA}/HEAD") - configure_file("${GIT_DIR}/HEAD" "${HEAD_FILE}" COPYONLY) + if(NOT EXISTS "${GIT_DIR}/HEAD") + return() + endif() + set(HEAD_FILE "${GIT_DATA}/HEAD") + configure_file("${GIT_DIR}/HEAD" "${HEAD_FILE}" COPYONLY) - configure_file("${_gitdescmoddir}/GetGitRevisionDescription.cmake.in" - "${GIT_DATA}/grabRef.cmake" - @ONLY) - include("${GIT_DATA}/grabRef.cmake") + configure_file("${_gitdescmoddir}/GetGitRevisionDescription.cmake.in" + "${GIT_DATA}/grabRef.cmake" + @ONLY) + include("${GIT_DATA}/grabRef.cmake") - set(${_refspecvar} "${HEAD_REF}" PARENT_SCOPE) - set(${_hashvar} "${HEAD_HASH}" PARENT_SCOPE) + set(${_refspecvar} "${HEAD_REF}" PARENT_SCOPE) + set(${_hashvar} "${HEAD_HASH}" PARENT_SCOPE) endfunction() function(git_describe _var) - if(NOT GIT_FOUND) - find_package(Git QUIET) - endif() - get_git_head_revision(refspec hash) - if(NOT GIT_FOUND) - set(${_var} "GIT-NOTFOUND" PARENT_SCOPE) - return() - endif() - if(NOT hash) - set(${_var} "HEAD-HASH-NOTFOUND" PARENT_SCOPE) - return() - endif() + if(NOT GIT_FOUND) + find_package(Git QUIET) + endif() + get_git_head_revision(refspec hash) + if(NOT GIT_FOUND) + set(${_var} "GIT-NOTFOUND" PARENT_SCOPE) + return() + endif() + if(NOT hash) + set(${_var} "HEAD-HASH-NOTFOUND" PARENT_SCOPE) + return() + endif() - # TODO sanitize - #if((${ARGN}" MATCHES "&&") OR - # (ARGN MATCHES "||") OR - # (ARGN MATCHES "\\;")) - # message("Please report the following error to the project!") - # message(FATAL_ERROR "Looks like someone's doing something nefarious with git_describe! Passed arguments ${ARGN}") - #endif() + # TODO sanitize + #if((${ARGN}" MATCHES "&&") OR + # (ARGN MATCHES "||") OR + # (ARGN MATCHES "\\;")) + # message("Please report the following error to the project!") + # message(FATAL_ERROR "Looks like someone's doing something nefarious with git_describe! Passed arguments ${ARGN}") + #endif() - #message(STATUS "Arguments to execute_process: ${ARGN}") + #message(STATUS "Arguments to execute_process: ${ARGN}") - execute_process(COMMAND - "${GIT_EXECUTABLE}" - describe - ${hash} - ${ARGN} - WORKING_DIRECTORY - "${CMAKE_SOURCE_DIR}" - RESULT_VARIABLE - res - OUTPUT_VARIABLE - out - ERROR_QUIET - OUTPUT_STRIP_TRAILING_WHITESPACE) - if(NOT res EQUAL 0) - set(out "${out}-${res}-NOTFOUND") - endif() + execute_process(COMMAND + "${GIT_EXECUTABLE}" + describe + ${hash} + ${ARGN} + WORKING_DIRECTORY + "${CMAKE_SOURCE_DIR}" + RESULT_VARIABLE + res + OUTPUT_VARIABLE + out + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE) + if(NOT res EQUAL 0) + set(out "${out}-${res}-NOTFOUND") + endif() - set(${_var} "${out}" PARENT_SCOPE) + set(${_var} "${out}" PARENT_SCOPE) endfunction() function(git_get_exact_tag _var) - git_describe(out ${ARGN}) - set(${_var} "${out}" PARENT_SCOPE) + git_describe(out ${ARGN}) + set(${_var} "${out}" PARENT_SCOPE) endfunction() -- cgit v1.2.3 From 3266cba9e0e9e3dec20bd25e836cf500967b143d Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 17 Oct 2015 11:32:13 +0200 Subject: cmake: fix git describe --dirty --- cmake/GetGitRevisionDescription.cmake | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'cmake') diff --git a/cmake/GetGitRevisionDescription.cmake b/cmake/GetGitRevisionDescription.cmake index 8a7f0eeb..e4ac79c0 100644 --- a/cmake/GetGitRevisionDescription.cmake +++ b/cmake/GetGitRevisionDescription.cmake @@ -77,15 +77,15 @@ function(git_describe _var) if(NOT GIT_FOUND) find_package(Git QUIET) endif() - get_git_head_revision(refspec hash) + #get_git_head_revision(refspec hash) if(NOT GIT_FOUND) set(${_var} "GIT-NOTFOUND" PARENT_SCOPE) return() endif() - if(NOT hash) - set(${_var} "HEAD-HASH-NOTFOUND" PARENT_SCOPE) - return() - endif() + #if(NOT hash) + # set(${_var} "HEAD-HASH-NOTFOUND" PARENT_SCOPE) + # return() + #endif() # TODO sanitize #if((${ARGN}" MATCHES "&&") OR @@ -100,7 +100,6 @@ function(git_describe _var) execute_process(COMMAND "${GIT_EXECUTABLE}" describe - ${hash} ${ARGN} WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" -- cgit v1.2.3 From f1e71e68512bc58f3f41ba4566f9d1574773d742 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 18 Oct 2015 09:44:47 +0200 Subject: cmake: regen before making tarball Updates timestamp as it should. --- CMakeLists.txt | 9 +++++---- cmake/tarball.cmake | 8 ++++++++ make-tar.sh | 1 - 3 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 cmake/tarball.cmake (limited to 'cmake') diff --git a/CMakeLists.txt b/CMakeLists.txt index 482bdb6c..78d9cab8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -216,10 +216,11 @@ set(filename_0 "${OPENTRACK_COMMIT}") string(TIMESTAMP filename_1 "%Y%m%d%H%M%S") set(filename "${CMAKE_BINARY_DIR}/${filename_0}-${filename_1}.zip") -add_custom_command(OUTPUT ${filename} COMMAND /usr/bin/env sh - "${CMAKE_SOURCE_DIR}/make-tar.sh" "${CMAKE_INSTALL_PREFIX}" - "${filename}" "${CMAKE_BINARY_DIR}") -add_custom_target(tarball DEPENDS "${filename}") +add_custom_target(tarball-real) +add_custom_target(tarball-real2) +add_custom_command(TARGET tarball-real COMMAND cmake -P ${CMAKE_SOURCE_DIR}/cmake/tarball.cmake) +add_custom_command(TARGET tarball-real2 COMMAND /usr/bin/env sh "${CMAKE_SOURCE_DIR}/make-tar.sh" "${CMAKE_INSTALL_PREFIX}" "${filename}" "${CMAKE_BINARY_DIR}") +add_custom_target(tarball DEPENDS tarball-real) opentrack_module(opentrack-api opentrack) opentrack_qt(opentrack-api) diff --git a/cmake/tarball.cmake b/cmake/tarball.cmake new file mode 100644 index 00000000..5761e24a --- /dev/null +++ b/cmake/tarball.cmake @@ -0,0 +1,8 @@ +execute_process(COMMAND cmake ${CMAKE_BINARY_DIR} RESULT_VARIABLE ret) +if(NOT ret EQUAL 0) + message(FATAL_ERROR "can't regen") +endif() +execute_process(COMMAND cmake --build ${CMAKE_BINARY_DIR} --target tarball-real2) +if(NOT ret EQUAL 0) + message(FATAL_ERROR "can't make tarball") +endif() diff --git a/make-tar.sh b/make-tar.sh index 9d1af1f3..3e119d12 100644 --- a/make-tar.sh +++ b/make-tar.sh @@ -4,7 +4,6 @@ prefix="$1" filename="$2" bin="$3" -cmake "$bin" || exit 1 cmake --build "$bin" --target install || exit 1 if : && -- cgit v1.2.3 From a4fb405d0d78adf2a97d828bc516ac9ee6cae77d Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Tue, 20 Oct 2015 08:37:21 +0200 Subject: cmake: add toolchain file for OSX --- cmake/apple.cmake | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 cmake/apple.cmake (limited to 'cmake') diff --git a/cmake/apple.cmake b/cmake/apple.cmake new file mode 100644 index 00000000..c16ff575 --- /dev/null +++ b/cmake/apple.cmake @@ -0,0 +1,25 @@ +SET(CMAKE_SYSTEM_NAME Darwin) +SET(CMAKE_SYSTEM_VERSION 1) + +SET(CMAKE_C_COMPILER ${c}cc) +SET(CMAKE_CXX_COMPILER ${c}c++) +set(CMAKE_LINKER ${c}c++) + +set(CMAKE_OSX_ARCHITECTURES x86_64) +set(CMAKE_OSX_DEPLOYMENT_TARGET 10.8) +# change this +set(CMAKE_OSX_SYSROOT /var/root/MacOSX10.8.sdk) + +# oldest CPU supported here is Northwood-based Pentium 4. -sh 20150811 +set(fpu "-fno-math-errno -funsafe-math-optimizations -fno-signed-zeros") +set(cpu "-O3 -DNDEBUG -flto ${fpu}") +set(cxx "-std=c++11 -stdlib=libc++") + +set(CFLAGS-OVERRIDE "" CACHE STRING "") + +set(CMAKE_C_FLAGS_RELEASE "${cpu} ${CFLAGS-OVERRIDE}" CACHE STRING "" FORCE) +set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${cxx}" CACHE STRING "" FORCE) +set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${cpu} ${CFLAGS-OVERRIDE}" CACHE STRING "" FORCE) +set(CMAKE_EXE_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE} CACHE STRING "" FORCE) +set(CMAKE_MODULE_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE} CACHE STRING "" FORCE) +set(CMAKE_BUILD_TYPE "RELEASE" CACHE STRING "" FORCE) -- cgit v1.2.3 From 446ed900af4b0c1bad1334918a6f36c4db314d02 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Tue, 20 Oct 2015 08:42:25 +0200 Subject: cmake: fix copy-paste comment --- cmake/apple.cmake | 1 - 1 file changed, 1 deletion(-) (limited to 'cmake') diff --git a/cmake/apple.cmake b/cmake/apple.cmake index c16ff575..054e1ae5 100644 --- a/cmake/apple.cmake +++ b/cmake/apple.cmake @@ -10,7 +10,6 @@ set(CMAKE_OSX_DEPLOYMENT_TARGET 10.8) # change this set(CMAKE_OSX_SYSROOT /var/root/MacOSX10.8.sdk) -# oldest CPU supported here is Northwood-based Pentium 4. -sh 20150811 set(fpu "-fno-math-errno -funsafe-math-optimizations -fno-signed-zeros") set(cpu "-O3 -DNDEBUG -flto ${fpu}") set(cxx "-std=c++11 -stdlib=libc++") -- cgit v1.2.3 From fe3bc42f80bb8cef37dea68539e8a1fd9752baa8 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Wed, 21 Oct 2015 08:43:24 +0200 Subject: cmake: update toolchain file --- cmake/mingw-w64-debug.cmake | 38 -------------------------------------- cmake/mingw-w64.cmake | 2 +- 2 files changed, 1 insertion(+), 39 deletions(-) delete mode 100644 cmake/mingw-w64-debug.cmake (limited to 'cmake') diff --git a/cmake/mingw-w64-debug.cmake b/cmake/mingw-w64-debug.cmake deleted file mode 100644 index 7a371e5d..00000000 --- a/cmake/mingw-w64-debug.cmake +++ /dev/null @@ -1,38 +0,0 @@ -# this file only serves as toolchain file when specified so explicitly -# when building the software. from repository's root directory: -# mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=$(pwd)/../cmake/mingw-w64.cmake -# -sh 20140922 - -SET(CMAKE_SYSTEM_NAME Windows) -SET(CMAKE_SYSTEM_VERSION 1) - -# specify the cross compiler -set(c i686-w64-mingw32-) - -SET(CMAKE_C_COMPILER ${c}gcc) -SET(CMAKE_CXX_COMPILER ${c}g++) -set(CMAKE_RC_COMPILER ${c}windres) -set(CMAKE_LINKER ${c}ld) -set(CMAKE_AR ${c}gcc-ar CACHE STRING "" FORCE) -set(CMAKE_NM ${c}gcc-nm CACHE STRING "" FORCE) -set(CMAKE_RANLIB ${c}gcc-ranlib CACHE STRING "" FORCE) - -SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32) - -# search for programs in the host directories -SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -# don't poison with system compile-time data -SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) - -set(cpu "-O2 -march=i686 -mtune=corei7-avx -ffast-math -mfpmath=both -msse -msse2 -mno-sse3 -mno-avx") -set(rice "-ggdb") - -set(CFLAGS-OVERRIDE "" CACHE STRING "") - -set(CMAKE_C_FLAGS_RELEASE "${rice} ${cpu} ${CFLAGS-OVERRIDE}" CACHE STRING "" FORCE) -set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE} CACHE STRING "" FORCE) -set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${cpu} ${CFLAGS-OVERRIDE}" CACHE STRING "" FORCE) -set(CMAKE_EXE_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE} CACHE STRING "" FORCE) -set(CMAKE_MODULE_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE} CACHE STRING "" FORCE) -set(CMAKE_BUILD_TYPE "RELEASE" CACHE STRING "" FORCE) diff --git a/cmake/mingw-w64.cmake b/cmake/mingw-w64.cmake index 2705c068..1f60993a 100644 --- a/cmake/mingw-w64.cmake +++ b/cmake/mingw-w64.cmake @@ -26,7 +26,7 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # oldest CPU supported here is Northwood-based Pentium 4. -sh 20150811 -set(fpu "-fno-math-errno -funsafe-math-optimizations -fno-signed-zeros -mfpmath=both") +set(fpu "-ffast-math -fno-finite-math-only -mfpmath=both") set(cpu "-O3 -march=pentium4 -mtune=corei7-avx ${fpu} -msse -msse2 -mno-sse3") set(CFLAGS-OVERRIDE "" CACHE STRING "") -- cgit v1.2.3