source: pacpusframework/branches/0.0.x/CMakeLists.txt@ 261

Last change on this file since 261 was 256, checked in by DHERBOMEZ Gérald, 11 years ago

update of the pacpus numbering in the 0.0.x branche for 0.0.2 tag creation

  • Property svn:keywords set to Id
File size: 4.6 KB
RevLine 
[7]1#################################################
2# ___________ ____ ______ __ __ _____ #
3# \____ \__ \ _/ ___\\____ \| | \/ ___/ #
4# | |_> > __ \\ \___| |_> > | /\___ \ #
5# | __(____ /\___ > __/|____//____ > #
6# |__| \/ \/|__| \/ #
7# #
8#################################################
9
10project(Pacpus)
11cmake_minimum_required(VERSION 2.8)
12
13# ========================================
14# Pacpus version
15# ========================================
16set(PACPUS_MAJOR_VERSION 0)
[91]17set(PACPUS_MINOR_VERSION 0)
[256]18set(PACPUS_PATCH_VERSION 2)
[7]19set(PACPUS_VERSION
[58]20 "${PACPUS_MAJOR_VERSION}.${PACPUS_MINOR_VERSION}.${PACPUS_PATCH_VERSION}")
[7]21
22# ========================================
23# CMake variables
24# ========================================
[91]25set(IS_BUILDING_PACPUS TRUE)
[7]26set(PACPUS_ROOT_DIR ${CMAKE_SOURCE_DIR})
27set(PACPUS_3RD_PARTY_DIR ${PACPUS_ROOT_DIR}/3rd)
28set(PACPUS_CMAKE_DIR ${PACPUS_ROOT_DIR}/cmake)
[26]29set(PACPUS_DOC_DIR ${PACPUS_ROOT_DIR}/doc)
[28]30set(PACPUS_INCLUDE_DIR ${PACPUS_ROOT_DIR}/include/)
[7]31set(PACPUS_SCRIPTS_DIR ${PACPUS_ROOT_DIR}/scripts)
32set(PACPUS_SOURCE_DIR ${PACPUS_ROOT_DIR}/src)
33
34# ========================================
35# Configure CMake
36# ========================================
37list(APPEND CMAKE_MODULE_PATH ${PACPUS_CMAKE_DIR})
38
39# ========================================
40# Import some functions
41# ========================================
42include(${PACPUS_CMAKE_DIR}/PacpusUtilities.cmake)
43
44# ========================================
45# Configure Pacpus
46# ========================================
47include(${PACPUS_CMAKE_DIR}/PacpusConfiguration.cmake)
48
49# ========================================
50# Find dependencies
51# ========================================
52include(${PACPUS_CMAKE_DIR}/PacpusDependencies.cmake)
53
54# ========================================
55# Handle platform specific behaviors
56# ========================================
57include(${PACPUS_CMAKE_DIR}/PacpusPlatforms.cmake)
58
59# ========================================
60# Pre-configuration of the compiler
61# ========================================
62# Includes directories
[28]63include_directories(
64 ${PACPUS_DEPENDENCIES_INC}
65 ${PACPUS_INCLUDE_DIR}
66)
[7]67# Compiler flags coming from PacpusDependencies and PacpusPlatforms
68add_definitions(${PACPUS_DEFINITIONS})
69
70# ========================================
71# Build the Pacpus' modules
72# ========================================
73add_subdirectory(${PACPUS_SOURCE_DIR})
74
75# ========================================
[26]76# Build the documentation if enabled
77# ========================================
[58]78if(PACPUS_BUILD_DOC)
[52]79 add_subdirectory(${PACPUS_DOC_DIR})
[26]80endif()
81
82# ========================================
[7]83# Pacpus Installation
84# ========================================
85include(${PACPUS_CMAKE_DIR}/PacpusInstall.cmake)
[91]86set( ENV{PACPUS_ROOT} ${PACPUS_INSTALL_DIR} )
[7]87
88# ========================================
89# Summary
90# ========================================
91pacpus_info("")
92pacpus_info("=====================================================================")
93pacpus_info("Configuration for Pacpus ${PACPUS_VERSION}")
94pacpus_info("=====================================================================")
95pacpus_info("")
96pacpus_info(" Platform:")
97pacpus_info(" Host:" ${CMAKE_HOST_SYSTEM_NAME} ${CMAKE_HOST_SYSTEM_VERSION} ${CMAKE_HOST_SYSTEM_PROCESSOR})
[58]98if(CMAKE_CROSS_COMPILING)
[52]99 pacpus_info(" Target:" ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR})
[7]100endif()
101pacpus_info(" CMake:" ${CMAKE_VERSION})
102pacpus_info(" CMake generator:" ${CMAKE_GENERATOR})
103pacpus_info(" CMake build tool:" ${CMAKE_BUILD_TOOL})
[58]104if(MSVC)
[52]105 pacpus_info(" MSVC:" ${MSVC_VERSION})
[7]106else()
[52]107 pacpus_info(" Configuration:" ${CMAKE_BUILD_TYPE})
[7]108endif()
109pacpus_info("")
110pacpus_info(" Compiler:")
111pacpus_info(" C++ Compiler:" ${CMAKE_CXX_COMPILER})
112pacpus_info(" C++ flags (release):" ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE})
113pacpus_info(" C++ flags (debug):" ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG})
114pacpus_info("")
115pacpus_info(" Result:")
116pacpus_info(" Install directory:" ${PACPUS_INSTALL_DIR})
[91]117pacpus_info(" Install with version number:" ${PACPUS_INSTALL_WITH_VERSION_NUMBER})
[7]118pacpus_info("")
119pacpus_info(" Options:")
120pacpus_info(" Logging enabled:" ${PACPUS_USE_LOG})
121pacpus_info(" Installation of 3rd party:" ${PACPUS_INSTALL_3RD})
[26]122pacpus_info(" Documentation enabled:" ${PACPUS_BUILD_DOC})
[7]123pacpus_info("")
124if("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
[91]125 message(WARNING "The source directory is the same as build directory. \"make clean\" may damage the source tree")
[7]126endif()
Note: See TracBrowser for help on using the repository browser.