source: pacpusframework/trunk/CMakeLists.txt@ 83

Last change on this file since 83 was 64, checked in by Marek Kurdej, 12 years ago

Modified property: added svn:keywords=Id.

  • Property svn:keywords set to Id
File size: 4.5 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)
17set(PACPUS_MINOR_VERSION 1)
18set(PACPUS_PATCH_VERSION 0)
19set(PACPUS_VERSION
[58]20 "${PACPUS_MAJOR_VERSION}.${PACPUS_MINOR_VERSION}.${PACPUS_PATCH_VERSION}")
[7]21
22# ========================================
23# CMake variables
24# ========================================
25set(PACPUS_ROOT_DIR ${CMAKE_SOURCE_DIR})
26set(PACPUS_3RD_PARTY_DIR ${PACPUS_ROOT_DIR}/3rd)
27set(PACPUS_CMAKE_DIR ${PACPUS_ROOT_DIR}/cmake)
[26]28set(PACPUS_DOC_DIR ${PACPUS_ROOT_DIR}/doc)
[28]29set(PACPUS_INCLUDE_DIR ${PACPUS_ROOT_DIR}/include/)
[7]30set(PACPUS_SCRIPTS_DIR ${PACPUS_ROOT_DIR}/scripts)
31set(PACPUS_SOURCE_DIR ${PACPUS_ROOT_DIR}/src)
32set(IS_BUILDING_PACPUS TRUE)
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)
86
87# ========================================
88# Summary
89# ========================================
90pacpus_info("")
91pacpus_info("=====================================================================")
92pacpus_info("Configuration for Pacpus ${PACPUS_VERSION}")
93pacpus_info("=====================================================================")
94pacpus_info("")
95pacpus_info(" Platform:")
96pacpus_info(" Host:" ${CMAKE_HOST_SYSTEM_NAME} ${CMAKE_HOST_SYSTEM_VERSION} ${CMAKE_HOST_SYSTEM_PROCESSOR})
[58]97if(CMAKE_CROSS_COMPILING)
[52]98 pacpus_info(" Target:" ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR})
[7]99endif()
100pacpus_info(" CMake:" ${CMAKE_VERSION})
101pacpus_info(" CMake generator:" ${CMAKE_GENERATOR})
102pacpus_info(" CMake build tool:" ${CMAKE_BUILD_TOOL})
[58]103if(MSVC)
[52]104 pacpus_info(" MSVC:" ${MSVC_VERSION})
[7]105else()
[52]106 pacpus_info(" Configuration:" ${CMAKE_BUILD_TYPE})
[7]107endif()
108pacpus_info("")
109pacpus_info(" Compiler:")
110pacpus_info(" C++ Compiler:" ${CMAKE_CXX_COMPILER})
111pacpus_info(" C++ flags (release):" ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE})
112pacpus_info(" C++ flags (debug):" ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG})
113pacpus_info("")
114pacpus_info(" Result:")
115pacpus_info(" Install directory:" ${PACPUS_INSTALL_DIR})
116pacpus_info("")
117pacpus_info(" Options:")
118pacpus_info(" Logging enabled:" ${PACPUS_USE_LOG})
119pacpus_info(" Installation of 3rd party:" ${PACPUS_INSTALL_3RD})
[26]120pacpus_info(" Documentation enabled:" ${PACPUS_BUILD_DOC})
[7]121pacpus_info("")
122if("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
[52]123 message(WARNING "The src directory is the same as bin directory. \"make clean\" may damage the source tree")
[7]124endif()
Note: See TracBrowser for help on using the repository browser.