From c8e8c93b0f0718e4de503c30368dce62ee3f020c Mon Sep 17 00:00:00 2001 From: Jose Luis Rivero Date: Tue, 22 Jun 2021 14:00:42 -0700 Subject: [PATCH] Remove all cmake code related to compilations (#55) * Remove all cmake code related to compilations Signed-off-by: Jose Luis Rivero Signed-off-by: Michael Carroll --- CMakeLists.txt | 85 ---------------------- Changelog.md | 3 + cmake/CodeCoverage.cmake | 125 --------------------------------- cmake/DefaultCFlags.cmake | 52 -------------- cmake/FindOS.cmake | 55 --------------- cmake/FindSSE.cmake | 113 ----------------------------- cmake/HostCFlags.cmake | 28 -------- cmake/SearchForStuff.cmake | 3 - cmake/Utils.cmake | 45 ------------ cmake/ignition-config.cmake.in | 13 ---- 10 files changed, 3 insertions(+), 519 deletions(-) delete mode 100644 cmake/CodeCoverage.cmake delete mode 100644 cmake/DefaultCFlags.cmake delete mode 100644 cmake/FindOS.cmake delete mode 100644 cmake/FindSSE.cmake delete mode 100644 cmake/HostCFlags.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 579f755..c6b3b6e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -133,76 +133,6 @@ message (STATUS "\n\n====== Finding 3rd Party Packages ======") include (${project_cmake_dir}/SearchForStuff.cmake) message (STATUS "----------------------------------------\n") -##################################### -MESSAGE(STATUS "Checking ignition build type") -# Set the default build type -if (NOT CMAKE_BUILD_TYPE) - set (CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING - "Choose the type of build, options are: Debug Release RelWithDebInfo Profile Check" FORCE) -endif (NOT CMAKE_BUILD_TYPE) -# TODO: still convert to uppercase to keep backwards compatibility with -# uppercase old supported and deprecated modes -string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPERCASE) - -set (BUILD_TYPE_PROFILE FALSE) -set (BUILD_TYPE_RELEASE FALSE) -set (BUILD_TYPE_RELWITHDEBINFO FALSE) -set (BUILD_TYPE_DEBUG FALSE) - -if ("${CMAKE_BUILD_TYPE_UPPERCASE}" STREQUAL "PROFILE") - set (BUILD_TYPE_PROFILE TRUE) -elseif ("${CMAKE_BUILD_TYPE_UPPERCASE}" STREQUAL "RELEASE") - set (BUILD_TYPE_RELEASE TRUE) -elseif ("${CMAKE_BUILD_TYPE_UPPERCASE}" STREQUAL "RELWITHDEBINFO") - set (BUILD_TYPE_RELWITHDEBINFO TRUE) -elseif ("${CMAKE_BUILD_TYPE_UPPERCASE}" STREQUAL "DEBUG") - set (BUILD_TYPE_DEBUG TRUE) -elseif ("${CMAKE_BUILD_TYPE_UPPERCASE}" STREQUAL "COVERAGE") - include (${project_cmake_dir}/CodeCoverage.cmake) - set (BUILD_TYPE_DEBUG TRUE) - SETUP_TARGET_FOR_COVERAGE(coverage ctest coverage) -else() - build_error("CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} unknown. Valid options are: Debug Release RelWithDebInfo Profile Check") -endif() - -##################################### -# Handle CFlags -unset (CMAKE_C_FLAGS_ALL CACHE) -unset (CMAKE_CXX_FLAGS CACHE) - -# USE_HOST_CFLAGS (default TRUE) -# Will check building host machine for proper cflags -if(NOT DEFINED USE_HOST_CFLAGS OR USE_HOST_CFLAGS) - message(STATUS "Enable host CFlags") - include (${project_cmake_dir}/HostCFlags.cmake) -endif() - -# USE_UPSTREAM_CFLAGS (default TRUE) -# Will use predefined ignition developers cflags -if(NOT DEFINED USE_UPSTREAM_CFLAGS OR USE_UPSTREAM_CFLAGS) - message(STATUS "Enable upstream CFlags") - include(${project_cmake_dir}/DefaultCFlags.cmake) -endif() - -# Check if warning options are avaliable for the compiler and return WARNING_CXX_FLAGS variable -filter_valid_compiler_warnings(-Wall -Wextra -Wno-long-long - -Wno-unused-value -Wno-unused-value -Wno-unused-value -Wno-unused-value - -Wfloat-equal -Wshadow -Winit-self -Wswitch-default - -Wmissing-include-dirs -pedantic) -set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}${WARNING_CXX_FLAGS}") - -################################################# -# OS Specific initialization -if (UNIX) - ign_setup_unix() -else (WIN32) - ign_setup_windows() -endif() - -if(APPLE) - ign_setup_apple() -endif() - ################################################# # Print warnings and errors if ( build_warnings ) @@ -232,22 +162,7 @@ if (build_errors) "Please see the BUILD ERRORS above.") else (build_errors) - link_directories(${PROJECT_BINARY_DIR}/src) - - if (DEFINED CMAKE_CXX_FLAGS) - message (STATUS "Custom CFlags:${CMAKE_CXX_FLAGS}") - else() - message (STATUS "Use default CFlags") - endif() - message (STATUS "Build Type: ${CMAKE_BUILD_TYPE}") message (STATUS "Install path: ${CMAKE_INSTALL_PREFIX}") - - if (BUILD_IGNITION) - set(TEST_TYPE "UNIT") - add_subdirectory(src) - #add_subdirectory(test) - endif (BUILD_IGNITION) - ######################################## # Make the package config files set(PC_CONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/pkgconfig) diff --git a/Changelog.md b/Changelog.md index ef6646c..5f0645b 100644 --- a/Changelog.md +++ b/Changelog.md @@ -2,6 +2,9 @@ ### Ignition Tools 1.X.X (20XX-XX-XX) +1. Remove unused cmake code related to compilations (CFlags, BUILD_TYPE, etc.) + * [Pull request #55](https://github.com/ignitionrobotics/ign-tools/pull/55) + ### Ignition Tools 1.2.0 (2021-04-26) 1. Relax version verification diff --git a/cmake/CodeCoverage.cmake b/cmake/CodeCoverage.cmake deleted file mode 100644 index b57bd0f..0000000 --- a/cmake/CodeCoverage.cmake +++ /dev/null @@ -1,125 +0,0 @@ -# -# 2012-01-31, Lars Bilke -# - Enable Code Coverage -# -# 2013-09-17, Joakim Söderberg -# - Added support for Clang. -# - Some additional usage instructions. -# -# USAGE: -# 1. Copy this file into your cmake modules path. -# -# 2. Add the following line to your CMakeLists.txt: -# INCLUDE(CodeCoverage) -# -# 3. Set compiler flags to turn off optimization and enable coverage: -# SET(CMAKE_CXX_FLAGS "-g -O0 -fprofile-arcs -ftest-coverage") -# SET(CMAKE_C_FLAGS "-g -O0 -fprofile-arcs -ftest-coverage") -# -# 3. Use the function SETUP_TARGET_FOR_COVERAGE to create a custom make target -# which runs your test executable and produces a lcov code coverage report: -# Example: -# SETUP_TARGET_FOR_COVERAGE( -# my_coverage_target # Name for custom target. -# test_driver # Name of the test driver executable that runs the tests. -# # NOTE! This should always have a ZERO as exit code -# # otherwise the coverage generation will not complete. -# coverage # Name of output directory. -# ) -# -# 4. Build a Debug build: -# cmake -DCMAKE_BUILD_TYPE=Debug .. -# make -# make my_coverage_target -# -# - -# Check prereqs -FIND_PROGRAM( GCOV_PATH gcov ) -FIND_PROGRAM( LCOV_PATH lcov ) -FIND_PROGRAM( GENHTML_PATH genhtml ) -FIND_PROGRAM( GCOVR_PATH gcovr PATHS ${CMAKE_SOURCE_DIR}/tests) - -IF(NOT GCOV_PATH) - MESSAGE(FATAL_ERROR "gcov not found! Aborting...") -ENDIF() # NOT GCOV_PATH - -IF(NOT CMAKE_COMPILER_IS_GNUCXX) - # Clang version 3.0.0 and greater now supports gcov as well. - MESSAGE(WARNING "Compiler is not GNU gcc! Clang Version 3.0.0 and greater supports gcov as well, but older versions don't.") - - IF(NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - MESSAGE(FATAL_ERROR "Compiler is not GNU gcc! Aborting...") - ENDIF() -ENDIF() # NOT CMAKE_COMPILER_IS_GNUCXX - -SET(CMAKE_CXX_FLAGS_COVERAGE - "-g -O0 --coverage -fprofile-arcs -ftest-coverage" - CACHE STRING "Flags used by the C++ compiler during coverage builds." - FORCE ) -SET(CMAKE_C_FLAGS_COVERAGE - "-g -O0 --coverage -fprofile-arcs -ftest-coverage" - CACHE STRING "Flags used by the C compiler during coverage builds." - FORCE ) -SET(CMAKE_EXE_LINKER_FLAGS_COVERAGE - "" - CACHE STRING "Flags used for linking binaries during coverage builds." - FORCE ) -SET(CMAKE_SHARED_LINKER_FLAGS_COVERAGE - "" - CACHE STRING "Flags used by the shared libraries linker during coverage builds." - FORCE ) -MARK_AS_ADVANCED( - CMAKE_CXX_FLAGS_COVERAGE - CMAKE_C_FLAGS_COVERAGE - CMAKE_EXE_LINKER_FLAGS_COVERAGE - CMAKE_SHARED_LINKER_FLAGS_COVERAGE ) - -IF ( NOT (CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "Coverage")) - MESSAGE( WARNING "Code coverage results with an optimized (non-Debug) build may be misleading" ) -ENDIF() # NOT CMAKE_BUILD_TYPE STREQUAL "Debug" - - -# Param _targetname The name of new the custom make target -# Param _testrunner The name of the target which runs the tests. -# MUST return ZERO always, even on errors. -# If not, no coverage report will be created! -# Param _outputname lcov output is generated as _outputname.info -# HTML report is generated in _outputname/index.html -# Optional fourth parameter is passed as arguments to _testrunner -# Pass them in list form, e.g.: "-j;2" for -j 2 -FUNCTION(SETUP_TARGET_FOR_COVERAGE _targetname _testrunner _outputname) - - IF(NOT LCOV_PATH) - MESSAGE(FATAL_ERROR "lcov not found! Aborting...") - ENDIF() # NOT LCOV_PATH - - IF(NOT GENHTML_PATH) - MESSAGE(FATAL_ERROR "genhtml not found! Aborting...") - ENDIF() # NOT GENHTML_PATH - - # Setup target - ADD_CUSTOM_TARGET(${_targetname} - - # Capturing lcov counters and generating report - COMMAND ${LCOV_PATH} -q --no-checksum --directory ${PROJECT_BINARY_DIR} - --capture --output-file ${_outputname}.info 2>/dev/null - COMMAND ${LCOV_PATH} -q --remove ${_outputname}.info - 'test/*' '/usr/*' '*_TEST*' --output-file ${_outputname}.info.cleaned - COMMAND ${GENHTML_PATH} -q --legend -o ${_outputname} - ${_outputname}.info.cleaned - COMMAND ${CMAKE_COMMAND} -E remove ${_outputname}.info - ${_outputname}.info.cleaned - - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - COMMENT "Resetting code coverage counters to zero.\n" - "Processing code coverage counters and generating report." - ) - - # Show info where to find the report - ADD_CUSTOM_COMMAND(TARGET ${_targetname} POST_BUILD - COMMAND COMMAND ${LCOV_PATH} -q --zerocounters --directory ${PROJECT_BINARY_DIR}; - COMMENT "Open ./${_outputname}/index.html in your browser to view the coverage report." - ) - -ENDFUNCTION() # SETUP_TARGET_FOR_COVERAGE diff --git a/cmake/DefaultCFlags.cmake b/cmake/DefaultCFlags.cmake deleted file mode 100644 index ebad32c..0000000 --- a/cmake/DefaultCFlags.cmake +++ /dev/null @@ -1,52 +0,0 @@ -# Build type link flags -set (CMAKE_LINK_FLAGS_RELEASE " " CACHE INTERNAL "Link flags for release" FORCE) -set (CMAKE_LINK_FLAGS_RELWITHDEBINFO " " CACHE INTERNAL "Link flags for release with debug support" FORCE) -set (CMAKE_LINK_FLAGS_DEBUG " " CACHE INTERNAL "Link flags for debug" FORCE) -set (CMAKE_LINK_FLAGS_PROFILE " -pg" CACHE INTERNAL "Link flags for profile" FORCE) -set (CMAKE_LINK_FLAGS_COVERAGE " --coverage" CACHE INTERNAL "Link flags for static code checking" FORCE) - -set (CMAKE_C_FLAGS_RELEASE "") -if (NOT APPLE) - # -s doesn't work with default osx compiler clang, alternative: - # http://stackoverflow.com/questions/6085491/gcc-vs-clang-symbol-strippingu - set (CMAKE_C_FLAGS_RELEASE "-s") -endif() -set (CMAKE_C_FLAGS_RELEASE " ${CMAKE_C_FLAGS_RELEASE} -O3 -DNDEBUG ${CMAKE_C_FLAGS_ALL}" CACHE INTERNAL "C Flags for release" FORCE) -set (CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) - -set (CMAKE_C_FLAGS_RELWITHDEBINFO " -g -O2 ${CMAKE_C_FLAGS_ALL}" CACHE INTERNAL "C Flags for release with debug support" FORCE) -set (CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_C_FLAGS_RELWITHDEBINFO}) - -set (CMAKE_C_FLAGS_DEBUG " -ggdb3 ${CMAKE_C_FLAGS_ALL}" CACHE INTERNAL "C Flags for debug" FORCE) -set (CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) - -set (CMAKE_C_FLAGS_PROFILE " -fno-omit-frame-pointer -g -pg ${CMAKE_C_FLAGS_ALL}" CACHE INTERNAL "C Flags for profile" FORCE) -set (CMAKE_CXX_FLAGS_PROFILE ${CMAKE_C_FLAGS_PROFILE}) - -set (CMAKE_C_FLAGS_COVERAGE " -g -O0 -Wformat=2 --coverage -fno-inline ${CMAKE_C_FLAGS_ALL}" CACHE INTERNAL "C Flags for static code checking" FORCE) -set (CMAKE_CXX_FLAGS_COVERAGE "${CMAKE_C_FLAGS_COVERAGE} -fno-elide-constructors -fno-default-inline -fno-implicit-inline-templates") - -##################################### -# Set all the global build flags -set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE_UPPERCASE}}") -set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE_UPPERCASE}} -std=c++11") -set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_LINK_FLAGS_${CMAKE_BUILD_TYPE_UPPERCASE}}") -set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_LINK_FLAGS_${CMAKE_BUILD_TYPE_UPPERCASE}}") -set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${CMAKE_LINK_FLAGS_${CMAKE_BUILD_TYPE_UPPERCASE}}") - -# Compiler-specific C++11 activation. -if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") - execute_process( - COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) - if (NOT (GCC_VERSION VERSION_GREATER 4.7)) - message(FATAL_ERROR "${PROJECT_NAME} requires g++ 4.8 or greater.") - endif () -elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") -elseif ("${CMAKE_CXX_COMPILER_ID} " STREQUAL "MSVC ") - if (MSVC_VERSION LESS 1800) - message(FATAL_ERROR "${PROJECT_NAME} requires VS 2013 or greater.") - endif() -else () - message(FATAL_ERROR "Your C++ compiler does not support C++11.") -endif () diff --git a/cmake/FindOS.cmake b/cmake/FindOS.cmake deleted file mode 100644 index 7a12f95..0000000 --- a/cmake/FindOS.cmake +++ /dev/null @@ -1,55 +0,0 @@ -# Check the OS type. - -# CMake does not distinguish Linux from other Unices. -STRING (REGEX MATCH "Linux" PLAYER_OS_LINUX ${CMAKE_SYSTEM_NAME}) -# Nor *BSD -STRING (REGEX MATCH "BSD" PLAYER_OS_BSD ${CMAKE_SYSTEM_NAME}) -# Or Solaris. I'm seeing a trend, here -STRING (REGEX MATCH "SunOS" PLAYER_OS_SOLARIS ${CMAKE_SYSTEM_NAME}) - -# Windows is easy (for once) -IF (WIN32) - SET (PLAYER_OS_WIN TRUE BOOL INTERNAL) -ENDIF (WIN32) - -# Check if it's an Apple OS -IF (APPLE) - # Check if it's OS X or another MacOS (that's got to be pretty unlikely) - STRING (REGEX MATCH "Darwin" PLAYER_OS_OSX ${CMAKE_SYSTEM_NAME}) - IF (NOT PLAYER_OS_OSX) - SET (PLAYER_OS_MACOS TRUE BOOL INTERNAL) - ENDIF (NOT PLAYER_OS_OSX) -ENDIF (APPLE) - -# QNX -IF (QNXNTO) - SET (PLAYER_OS_QNX TRUE BOOL INTERNAL) -ENDIF (QNXNTO) - -IF (PLAYER_OS_LINUX) - MESSAGE (STATUS "Operating system is Linux") -ELSEIF (PLAYER_OS_BSD) - MESSAGE (STATUS "Operating system is BSD") -ELSEIF (PLAYER_OS_WIN) - MESSAGE (STATUS "Operating system is Windows") -ELSEIF (PLAYER_OS_OSX) - MESSAGE (STATUS "Operating system is Apple MacOS X") -ELSEIF (PLAYER_OS_MACOS) - MESSAGE (STATUS "Operating system is Apple MacOS (not OS X)") -ELSEIF (PLAYER_OS_QNX) - MESSAGE (STATUS "Operating system is QNX") -ELSEIF (PLAYER_OS_SOLARIS) - MESSAGE (STATUS "Operating system is Solaris") -ELSE (PLAYER_OS_LINUX) - MESSAGE (STATUS "Operating system is generic Unix") -ENDIF (PLAYER_OS_LINUX) - -################################################# -# Check for non-case-sensitive filesystems -execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tools/case_sensitive_filesystem - RESULT_VARIABLE FILESYSTEM_CASE_SENSITIVE_RETURN) -if (${FILESYSTEM_CASE_SENSITIVE_RETURN} EQUAL 0) - set(FILESYSTEM_CASE_SENSITIVE TRUE) -else() - set(FILESYSTEM_CASE_SENSITIVE FALSE) -endif() diff --git a/cmake/FindSSE.cmake b/cmake/FindSSE.cmake deleted file mode 100644 index 26ad717..0000000 --- a/cmake/FindSSE.cmake +++ /dev/null @@ -1,113 +0,0 @@ -# Check if SSE instructions are available on the machine where -# the project is compiled. - -IF(CMAKE_SYSTEM_NAME MATCHES "Linux") - EXEC_PROGRAM(cat ARGS "/proc/cpuinfo" OUTPUT_VARIABLE CPUINFO) - - STRING(REGEX REPLACE "^.*(sse2).*$" "\\1" SSE_THERE ${CPUINFO}) - STRING(COMPARE EQUAL "sse2" "${SSE_THERE}" SSE2_TRUE) - IF (SSE2_TRUE) - set(SSE2_FOUND true CACHE BOOL "SSE2 available on host") - ELSE (SSE2_TRUE) - set(SSE2_FOUND false CACHE BOOL "SSE2 available on host") - ENDIF (SSE2_TRUE) - - # /proc/cpuinfo apparently omits sse3 :( - STRING(REGEX REPLACE "^.*[^s](sse3).*$" "\\1" SSE_THERE ${CPUINFO}) - STRING(COMPARE EQUAL "sse3" "${SSE_THERE}" SSE3_TRUE) - IF (NOT SSE3_TRUE) - STRING(REGEX REPLACE "^.*(T2300).*$" "\\1" SSE_THERE ${CPUINFO}) - STRING(COMPARE EQUAL "T2300" "${SSE_THERE}" SSE3_TRUE) - ENDIF (NOT SSE3_TRUE) - - STRING(REGEX REPLACE "^.*(ssse3).*$" "\\1" SSE_THERE ${CPUINFO}) - STRING(COMPARE EQUAL "ssse3" "${SSE_THERE}" SSSE3_TRUE) - IF (SSE3_TRUE OR SSSE3_TRUE) - set(SSE3_FOUND true CACHE BOOL "SSE3 available on host") - ELSE (SSE3_TRUE OR SSSE3_TRUE) - set(SSE3_FOUND false CACHE BOOL "SSE3 available on host") - ENDIF (SSE3_TRUE OR SSSE3_TRUE) - IF (SSSE3_TRUE) - set(SSSE3_FOUND true CACHE BOOL "SSSE3 available on host") - ELSE (SSSE3_TRUE) - set(SSSE3_FOUND false CACHE BOOL "SSSE3 available on host") - ENDIF (SSSE3_TRUE) - - STRING(REGEX REPLACE "^.*(sse4_1).*$" "\\1" SSE_THERE ${CPUINFO}) - STRING(COMPARE EQUAL "sse4_1" "${SSE_THERE}" SSE41_TRUE) - IF (SSE41_TRUE) - set(SSE4_1_FOUND true CACHE BOOL "SSE4.1 available on host") - ELSE (SSE41_TRUE) - set(SSE4_1_FOUND false CACHE BOOL "SSE4.1 available on host") - ENDIF (SSE41_TRUE) - - STRING(REGEX REPLACE "^.*(sse4_2).*$" "\\1" SSE_THERE ${CPUINFO}) - STRING(COMPARE EQUAL "sse4_2" "${SSE_THERE}" SSE42_TRUE) - IF (SSE42_TRUE) - set(SSE4_2_FOUND true CACHE BOOL "SSE4.2 available on host") - ELSE (SSE42_TRUE) - set(SSE4_2_FOUND false CACHE BOOL "SSE4.2 available on host") - ENDIF (SSE42_TRUE) - -ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Darwin") - EXEC_PROGRAM("/usr/sbin/sysctl -n machdep.cpu.features" OUTPUT_VARIABLE - CPUINFO) - - STRING(REGEX REPLACE "^.*[^S](SSE2).*$" "\\1" SSE_THERE ${CPUINFO}) - STRING(COMPARE EQUAL "SSE2" "${SSE_THERE}" SSE2_TRUE) - IF (SSE2_TRUE) - set(SSE2_FOUND true CACHE BOOL "SSE2 available on host") - ELSE (SSE2_TRUE) - set(SSE2_FOUND false CACHE BOOL "SSE2 available on host") - ENDIF (SSE2_TRUE) - - STRING(REGEX REPLACE "^.*[^S](SSE3).*$" "\\1" SSE_THERE ${CPUINFO}) - STRING(COMPARE EQUAL "SSE3" "${SSE_THERE}" SSE3_TRUE) - IF (SSE3_TRUE) - set(SSE3_FOUND true CACHE BOOL "SSE3 available on host") - ELSE (SSE3_TRUE) - set(SSE3_FOUND false CACHE BOOL "SSE3 available on host") - ENDIF (SSE3_TRUE) - - STRING(REGEX REPLACE "^.*(SSSE3).*$" "\\1" SSE_THERE ${CPUINFO}) - STRING(COMPARE EQUAL "SSSE3" "${SSE_THERE}" SSSE3_TRUE) - IF (SSSE3_TRUE) - set(SSSE3_FOUND true CACHE BOOL "SSSE3 available on host") - ELSE (SSSE3_TRUE) - set(SSSE3_FOUND false CACHE BOOL "SSSE3 available on host") - ENDIF (SSSE3_TRUE) - - STRING(REGEX REPLACE "^.*(SSE4.1).*$" "\\1" SSE_THERE ${CPUINFO}) - STRING(COMPARE EQUAL "SSE4.1" "${SSE_THERE}" SSE41_TRUE) - IF (SSE41_TRUE) - set(SSE4_1_FOUND true CACHE BOOL "SSE4.1 available on host") - ELSE (SSE41_TRUE) - set(SSE4_1_FOUND false CACHE BOOL "SSE4.1 available on host") - ENDIF (SSE41_TRUE) -ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Windows") - # TODO - set(SSE2_FOUND true CACHE BOOL "SSE2 available on host") - set(SSE3_FOUND false CACHE BOOL "SSE3 available on host") - set(SSSE3_FOUND false CACHE BOOL "SSSE3 available on host") - set(SSE4_1_FOUND false CACHE BOOL "SSE4.1 available on host") -ELSE(CMAKE_SYSTEM_NAME MATCHES "Linux") - set(SSE2_FOUND true CACHE BOOL "SSE2 available on host") - set(SSE3_FOUND false CACHE BOOL "SSE3 available on host") - set(SSSE3_FOUND false CACHE BOOL "SSSE3 available on host") - set(SSE4_1_FOUND false CACHE BOOL "SSE4.1 available on host") -ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux") - -if(NOT SSE2_FOUND) - MESSAGE(STATUS "Could not find hardware support for SSE2 on this machine.") -endif(NOT SSE2_FOUND) -if(NOT SSE3_FOUND) - MESSAGE(STATUS "Could not find hardware support for SSE3 on this machine.") -endif(NOT SSE3_FOUND) -if(NOT SSSE3_FOUND) - MESSAGE(STATUS "Could not find hardware support for SSSE3 on this machine.") -endif(NOT SSSE3_FOUND) -if(NOT SSE4_1_FOUND) - MESSAGE(STATUS "Could not find hardware support for SSE4.1 on this machine.") -endif(NOT SSE4_1_FOUND) - -mark_as_advanced(SSE2_FOUND SSE3_FOUND SSSE3_FOUND SSE4_1_FOUND) diff --git a/cmake/HostCFlags.cmake b/cmake/HostCFlags.cmake deleted file mode 100644 index a58bcbf..0000000 --- a/cmake/HostCFlags.cmake +++ /dev/null @@ -1,28 +0,0 @@ -include (${project_cmake_dir}/FindSSE.cmake) - -if (SSE2_FOUND) - set (CMAKE_C_FLAGS_ALL "-msse -msse2 ${CMAKE_C_FLAGS_ALL}") - if (NOT APPLE) - set (CMAKE_C_FLAGS_ALL "-mfpmath=sse ${CMAKE_C_FLAGS_ALL}") - endif() -endif() - -if (SSE3_FOUND) - set (CMAKE_C_FLAGS_ALL "-msse3 ${CMAKE_C_FLAGS_ALL}") -endif() -if (SSSE3_FOUND) - set (CMAKE_C_FLAGS_ALL "-mssse3 ${CMAKE_C_FLAGS_ALL}") -endif() - -if (ENABLE_SSE4) - message(STATUS "\nSSE4 will be enabled if system supports it.\n") - if (SSE4_1_FOUND) - set (CMAKE_C_FLAGS_ALL "-msse4.1 ${CMAKE_C_FLAGS_ALL}") - endif() - if (SSE4_2_FOUND) - set (CMAKE_C_FLAGS_ALL "-msse4.2 ${CMAKE_C_FLAGS_ALL}") - endif() -else() - message(STATUS "\nSSE4 disabled.\n") -endif() - diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake index 8314ea1..ebfdc2f 100644 --- a/cmake/SearchForStuff.cmake +++ b/cmake/SearchForStuff.cmake @@ -1,7 +1,4 @@ include (${project_cmake_dir}/Utils.cmake) -include (CheckCXXSourceCompiles) - -include (${project_cmake_dir}/FindOS.cmake) include (FindPkgConfig) ######################################## diff --git a/cmake/Utils.cmake b/cmake/Utils.cmake index a6b16ce..e046a18 100644 --- a/cmake/Utils.cmake +++ b/cmake/Utils.cmake @@ -86,37 +86,6 @@ macro (ign_install_executable _name) manpage(${_name} 1) endmacro () -################################################# -macro (ign_setup_unix) -endmacro() - -################################################# -macro (ign_setup_windows) -endmacro() - -################################################# -macro (ign_setup_apple) - # NOTE MacOSX provides different system versions than CMake is parsing. - # The following table lists the most recent OSX versions - # 9.x.x = Mac OSX Leopard (10.5) - # 10.x.x = Mac OSX Snow Leopard (10.6) - # 11.x.x = Mac OSX Lion (10.7) - # 12.x.x = Mac OSX Mountain Lion (10.8) - if (${CMAKE_SYSTEM_VERSION} LESS 10) - add_definitions(-DMAC_OS_X_VERSION=1050) - elseif (${CMAKE_SYSTEM_VERSION} GREATER 10 AND ${CMAKE_SYSTEM_VERSION} LESS 11) - add_definitions(-DMAC_OS_X_VERSION=1060) - elseif (${CMAKE_SYSTEM_VERSION} GREATER 11 AND ${CMAKE_SYSTEM_VERSION} LESS 12) - add_definitions(-DMAC_OS_X_VERSION=1070) - elseif (${CMAKE_SYSTEM_VERSION} GREATER 12 OR ${CMAKE_SYSTEM_VERSION} EQUAL 12) - add_definitions(-DMAC_OS_X_VERSION=1080) - else () - add_definitions(-DMAC_OS_X_VERSION=0) - endif () - - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-undefined -Wl,dynamic_lookup") -endmacro() - # This should be migrated to more fine control solution based on set_property APPEND # directories. It's present on cmake 2.8.8 while precise version is 2.8.7 link_directories(${PROJECT_BINARY_DIR}/test) @@ -136,17 +105,3 @@ endmacro() if (ENABLE_TESTS_COMPILATION) include (${project_cmake_dir}/TestUtils.cmake) endif() - -################################################# -# Macro to setup supported compiler warnings -# Based on work of Florent Lamiraux, Thomas Moulard, JRL, CNRS/AIST. -include(CheckCXXCompilerFlag) - -macro(filter_valid_compiler_warnings) - foreach(flag ${ARGN}) - CHECK_CXX_COMPILER_FLAG(${flag} R${flag}) - if(${R${flag}}) - set(WARNING_CXX_FLAGS "${WARNING_CXX_FLAGS} ${flag}") - endif() - endforeach() -endmacro() diff --git a/cmake/ignition-config.cmake.in b/cmake/ignition-config.cmake.in index f2465b8..ba3e111 100644 --- a/cmake/ignition-config.cmake.in +++ b/cmake/ignition-config.cmake.in @@ -7,17 +7,6 @@ set(@PKG_NAME@_CONFIG_INCLUDED TRUE) list(APPEND @PKG_NAME@_BINARY_DIRS ${PACKAGE_PREFIX_DIR}/bin) -list(APPEND @PKG_NAME@_INCLUDE_DIRS ${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@) - -list(APPEND @PKG_NAME@_LIBRARY_DIRS ${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@) - -list(APPEND @PKG_NAME@_CFLAGS -I${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@) - -list(APPEND @PKG_NAME@_CXX_FLAGS -std=c++11) -if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - set(@PKG_NAME@_CXX_FLAGS "${@PKG_NAME@_CXX_FLAGS} -stdlib=libc++") -endif () - foreach(dep @PKG_DEPENDS@) if(NOT ${dep}_FOUND) find_package(${dep} REQUIRED) @@ -26,5 +15,3 @@ foreach(dep @PKG_DEPENDS@) list(APPEND @PKG_NAME@_INCLUDE_DIRS ${${dep_upper}_INCLUDE_DIRS}) list(APPEND @PKG_NAME@_LIBRARIES ${${dep_upper}_LIBRARIES}) endforeach() - -list(APPEND @PKG_NAME@_LDFLAGS -L${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@)