CMakeLists.txt 2.94 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Copyright  ETIS — ENSEA, Université de Cergy-Pontoise, CNRS (2011 - 2016)
# Author: Arnaud Blanchard
# This software is governed by the CeCILL v2.1 license under French law and abiding by the rules of distribution of free software.
# You can use, modify and/ or redistribute the software under the terms of the CeCILL v2.1 license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".
# As a counterpart to the access to the source code and  rights to copy, modify and redistribute granted by the license,
# users are provided only with a limited warranty and the software's author, the holder of the economic rights,  and the successive licensors have only limited liability.
# In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software,
# that may mean  that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge.
# Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured  and, more generally, to use and operate it in the same conditions as regards security.
# The fact that you are presently reading this means that you have had knowledge of the CeCILL v2.1 license and that you accept its terms. 

cmake_minimum_required(VERSION 2.6)
project(blc_processes)
add_definitions(-Wall -Wextra -Wno-multichar)

get_filename_component(BLAAR_DIR ${CMAKE_SOURCE_DIR} PATH)

if (NOT TARGET shared_blc_core)
add_subdirectory(${BLAAR_DIR}/blc/blc_core blc_core)
endif()
if (NOT TARGET shared_blc_channel)
add_subdirectory(${BLAAR_DIR}/blc/blc_core blc_core)
endif()
if (NOT TARGET shared_blc_program)
add_subdirectory(${BLAAR_DIR}/blc/blc_core blc_core)
endif()


include_directories(include ${BLC_CORE_INCLUDE_DIR} ${BLC_CHANNEL_INCLUDE_DIR} ${BLC_PROGRAM_INCLUDE_DIR})
#source files
set(sources src/blc_processes.cpp)


#create the library
add_library(shared_blc_processes SHARED ${sources})
add_library(static_blc_processes STATIC ${sources})
target_link_libraries(shared_blc_processes shared_blc_program shared_blc_channel shared_blc_core)

set(BLC_PROCESSES_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include PARENT_SCOPE)

#Both librairies have the same name only the extension will change depending on the OS
set_target_properties(shared_blc_processes PROPERTIES OUTPUT_NAME blc_processes)
set_target_properties(static_blc_processes PROPERTIES OUTPUT_NAME blc_processes)

#Describe what will be to install or in the package
install(DIRECTORY include/ DESTINATION include)
install(TARGETS static_blc_processes  shared_blc_processes DESTINATION lib)

#define a rule to make debian .deb package
set(CPACK_GENERATOR "DEB")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Arnaud Blanchard")
include(CPack)