source: pacpusframework/branches/2.0-beta1/CMakeLists.txt@ 124

Last change on this file since 124 was 124, checked in by morasjul, 11 years ago

comment cmake policy because error linux
fix createEcporrt cmake function
unload PacpusSerialPort (move to pacpus cityvip (ToolsComponents) now

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