in middle of ProjectConfig installation
This commit is contained in:
68
cmake/CompileSettings.cmake
Normal file
68
cmake/CompileSettings.cmake
Normal file
@@ -0,0 +1,68 @@
|
||||
######################### COMPILE SETTINGS ################################
|
||||
IF(NOT CMAKE_BUILD_TYPE)
|
||||
SET(CMAKE_BUILD_TYPE Release CACHE STRING
|
||||
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
|
||||
FORCE)
|
||||
ENDIF(NOT CMAKE_BUILD_TYPE)
|
||||
|
||||
MESSAGE(STATUS "===============================================================")
|
||||
MESSAGE(STATUS "============ Configuring CompileSettings =====================")
|
||||
|
||||
|
||||
IF(CMAKE_COMPILER_IS_GNUCC)
|
||||
|
||||
SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
|
||||
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
|
||||
SET (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -march=native -funroll-loops -ffast-math")
|
||||
SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -march=native -funroll-loops")
|
||||
|
||||
OPTION (USE_PEDANTIC_FLAGS "Use Pedantic Flags in GCC" ON)
|
||||
IF(USE_PEDANTIC_FLAGS)
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wno-long-long -Wno-variadic-macros")
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -pedantic -Wno-long-long -Wno-variadic-macros")
|
||||
ENDIF()
|
||||
|
||||
OPTION (USE_DEBUG_SYMBOLS "Use Debug Symbols" OFF)
|
||||
IF(USE_DEBUG_SYMBOLS)
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -g")
|
||||
ENDIF()
|
||||
|
||||
ENDIF(CMAKE_COMPILER_IS_GNUCC)
|
||||
|
||||
IF(NOT MSVC)
|
||||
OPTION (USE_CPP_11 "Use C++11 Compiler" ON)
|
||||
IF(USE_CPP_11)
|
||||
INCLUDE(CheckCXXCompilerFlag)
|
||||
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
|
||||
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
|
||||
|
||||
IF(COMPILER_SUPPORTS_CXX11)
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
ELSEIF(COMPILER_SUPPORTS_CXX0X)
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
|
||||
ELSE()
|
||||
SET(USE_CPP_11 OFF)
|
||||
MESSAGE(STATUS "Compiler ${CMAKE_CXX_COMPILER} has no C++11 support.")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF(CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
SET(CMAKE_BUILD_TYPE_FLAGS ${CMAKE_CXX_FLAGS_DEBUG})
|
||||
ELSEIF(CMAKE_BUILD_TYPE MATCHES RelWithDebInfo)
|
||||
SET(CMAKE_BUILD_TYPE_FLAGS ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
|
||||
ELSEIF(CMAKE_BUILD_TYPE MATCHES Release)
|
||||
SET(CMAKE_BUILD_TYPE_FLAGS ${CMAKE_CXX_FLAGS_RELEASE})
|
||||
ENDIF()
|
||||
|
||||
OPTION (USE_OpenMP "Use OpenMP" ON)
|
||||
IF(USE_OpenMP)
|
||||
FIND_PACKAGE(OpenMP)
|
||||
IF(OPENMP_FOUND)
|
||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
MESSAGE(STATUS "===============================================================")
|
||||
19
cmake/InstallProjectConfig.cmake
Normal file
19
cmake/InstallProjectConfig.cmake
Normal file
@@ -0,0 +1,19 @@
|
||||
###################### InstallProjectConfig ###########################
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
configure_package_config_file(
|
||||
${CMAKE_SOURCE_DIR}/cmake/${PROJECT_NAME}Config.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
||||
INSTALL_DESTINATION ${INSTALL_CMAKE_DIR}
|
||||
PATH_VARS INSTALL_INCLUDE_DIR
|
||||
)
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
||||
DESTINATION ${INSTALL_CMAKE_DIR}
|
||||
COMPONENT Devel
|
||||
)
|
||||
|
||||
install(EXPORT ${PROJECT_NAME}Targets
|
||||
DESTINATION ${INSTALL_CMAKE_DIR}
|
||||
)
|
||||
31
cmake/InstallSettings.cmake
Normal file
31
cmake/InstallSettings.cmake
Normal file
@@ -0,0 +1,31 @@
|
||||
###################### Installation Settings ###########################
|
||||
|
||||
# Set a local folder for default installation when CMAKE_INSTALL_PREFIX is NOT specified
|
||||
IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
IF(WIN32)
|
||||
SET(DEFAULT_INSTALL_PATH "$ENV{HOMEDRIVE}/${PROJECT_NAME}" )
|
||||
ELSE()
|
||||
SET(DEFAULT_INSTALL_PATH "$ENV{HOME}/local")
|
||||
ENDIF()
|
||||
SET(CMAKE_INSTALL_PREFIX "${DEFAULT_INSTALL_PATH}" CACHE PATH "${PROJECT_NAME} install prefix" FORCE)
|
||||
ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
|
||||
# Offer the user the choice of overriding the installation directories
|
||||
SET(INSTALL_LIB_DIR lib CACHE PATH "Install dir for libraries")
|
||||
SET(INSTALL_BIN_DIR bin CACHE PATH "Install dir for executables")
|
||||
SET(INSTALL_INCLUDE_DIR include/${PROJECT_NAME} CACHE PATH "Install dir for headers")
|
||||
IF(WIN32 AND NOT CYGWIN)
|
||||
SET(DEF_INSTALL_CMAKE_DIR CMake)
|
||||
ELSE()
|
||||
SET(DEF_INSTALL_CMAKE_DIR lib/CMake/${PROJECT_NAME})
|
||||
ENDIF()
|
||||
SET(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Install dir for CMake files")
|
||||
|
||||
# Make relative paths absolute (needed later on)
|
||||
FOREACH(p LIB BIN INCLUDE CMAKE)
|
||||
SET(var INSTALL_${p}_DIR)
|
||||
IF(NOT IS_ABSOLUTE "${${var}}")
|
||||
SET(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}")
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
|
||||
13
cmake/QtPropertyBrowserConfig.cmake.in
Normal file
13
cmake/QtPropertyBrowserConfig.cmake.in
Normal file
@@ -0,0 +1,13 @@
|
||||
# Config file for the QtPropertyBrowser package
|
||||
# It defines the following variables
|
||||
# QtPropertyBrowser_FOUND - standard CMake Package found indicator
|
||||
# QtPropertyBrowser_INCLUDE_DIRS - include directories for QtPropertyBrowser
|
||||
# QtPropertyBrowser_DEFINITIONS - Definitions needed to build with QtPropertyBrowser
|
||||
# QtPropertyBrowser_LIBRARIES - Libraries needed to build with QtPropertyBrowser
|
||||
|
||||
|
||||
set (QtPropertyBrowser_FOUND true)
|
||||
|
||||
@PACKAGE_INIT@
|
||||
set_and_check (QtPropertyBrowser_INCLUDE_DIRS "@PACKAGE_INSTALL_INCLUDE_DIR@")
|
||||
|
||||
38
cmake/cmake_uninstall.cmake
Normal file
38
cmake/cmake_uninstall.cmake
Normal file
@@ -0,0 +1,38 @@
|
||||
################ CMake Uninstall Template #######################
|
||||
# CMake Template file for uninstallation of files
|
||||
# mentioned in 'install_manifest.txt'
|
||||
#
|
||||
# Used by uinstall target
|
||||
#################################################################
|
||||
|
||||
MESSAGE(STATUS "======================================================")
|
||||
MESSAGE(STATUS "================ Uninstalling ======================")
|
||||
|
||||
SET(MANIFEST "${CMAKE_CURRENT_BINARY_DIR}/install_manifest.txt")
|
||||
|
||||
IF(NOT EXISTS ${MANIFEST})
|
||||
MESSAGE(FATAL_ERROR "Cannot find install manifest: '${MANIFEST}'")
|
||||
ENDIF()
|
||||
|
||||
FILE(STRINGS ${MANIFEST} files)
|
||||
FOREACH(file ${files})
|
||||
IF(EXISTS ${file})
|
||||
MESSAGE(STATUS "Removing file: '${file}'")
|
||||
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${CMAKE_COMMAND} -E remove ${file}
|
||||
OUTPUT_VARIABLE rm_out
|
||||
RESULT_VARIABLE rm_retval
|
||||
)
|
||||
|
||||
IF(NOT "${rm_retval}" STREQUAL 0)
|
||||
MESSAGE(FATAL_ERROR "Failed to remove file: '${file}'.")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
MESSAGE(STATUS "File '${file}' does not exist.")
|
||||
ENDIF()
|
||||
ENDFOREACH(file)
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user