This repository has been archived on 2026-03-28. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
eodev/CMakeLists.txt
2010-07-06 10:15:47 +02:00

121 lines
4.1 KiB
CMake

######################################################################################
### 1) Set the application properties
######################################################################################
# Checks cmake version compatibility
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(DO)
SET(PROJECT_VERSION_MAJOR 1)
SET(PROJECT_VERSION_MINOR 0)
SET(PROJECT_VERSION_PATCH 0)
SET(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
######################################################################################
######################################################################################
### 2) Prepare some useful variables
######################################################################################
SET(DO_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
SET(DO_BIN_DIR "${CMAKE_CURRENT_BINARY_DIR}")
######################################################################################
######################################################################################
### 3) Include useful features
######################################################################################
INCLUDE(FindDoxygen)
INCLUDE(FindPkgConfig)
PKG_CHECK_MODULES(EO eo REQUIRED)
PKG_CHECK_MODULES(MO mo REQUIRED)
INCLUDE_DIRECTORIES(
${EO_INCLUDE_DIRS}
${MO_INCLUDE_DIRS}
)
######################################################################################
######################################################################################
### 4) Include header files path
######################################################################################
INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_SOURCE_DIR}/src
)
######################################################################################
######################################################################################
### 5) Set compiler definitions
######################################################################################
IF(UNIX)
# enable warnings
ADD_DEFINITIONS( -Wall -W -Wextra )
# ADD_DEFINITIONS( -Weffc++)
# ADD_DEFINITIONS( -g3 )
ENDIF()
######################################################################################
######################################################################################
### 6) Prepare some variables for CMAKE usage
######################################################################################
SET(SAMPLE_SRCS)
######################################################################################
######################################################################################
### 7) Now where we go ?
######################################################################################
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(application)
ADD_SUBDIRECTORY(test)
ADD_SUBDIRECTORY(doc)
######################################################################################
######################################################################################
### 8) Create executable, link libraries and prepare target
######################################################################################
SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
LINK_DIRECTORIES(${LIBRARY_OUTPUT_PATH})
ADD_LIBRARY(do STATIC ${SAMPLE_SRCS})
INSTALL(TARGETS do ARCHIVE DESTINATION lib COMPONENT libraries)
######################################################################################
######################################################################################
### 9) Install pkg-config config file for EO
######################################################################################
INSTALL(FILES do.pc DESTINATION lib/pkgconfig COMPONENT headers)
######################################################################################
######################################################################################
### 10) Include packaging
######################################################################################
INCLUDE(Packaging.cmake)
######################################################################################