/
CMakeLists.txt
64 lines (54 loc) · 2.58 KB
/
CMakeLists.txt
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
54
55
56
57
58
59
60
61
62
63
64
######################################################
# PROJECT : homelinux #
# VERSION : 2.0.0 #
# DATE : 06/2017 #
# AUTHOR : Valat Sébastien #
# LICENSE : CeCILL-C #
######################################################
######################################################
#Usage of OBJECT keyword in add_library require 2.8.8 (or something like that, need to check)
cmake_minimum_required(VERSION 2.8.8)
project(homelinux)
######################################################
#global setup
enable_testing()
######################################################
#Add internal search path for scripts
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/)
######################################################
#Delegate some cmake scripts
include(${CMAKE_SOURCE_DIR}/cmake/macros.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/unittest-macros.cmake)
######################################################
#Some global setup
setup_internal_gmock_and_gtest()
if (ENABLE_GCC_COVERAGE)
homelinux_enable_gcc_coverage()
endif(ENABLE_GCC_COVERAGE)
######################################################
#homelinux_enable_cxx_11()
######################################################
add_subdirectory(src)
add_subdirectory(extern-deps)
######################################################
install(FILES bin/hl-py-env.sh DESTINATION bin/)
install(FILES bin/source.sh DESTINATION ./)
install(DIRECTORY bin/protected DESTINATION bin/)
install(FILES bin/protected/hl-protected DESTINATION bin/protected PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
install(DIRECTORY compilers DESTINATION homelinux)
install(DIRECTORY packages DESTINATION homelinux)
install(DIRECTORY DESTINATION homelinux/install-db)
install(DIRECTORY DESTINATION homelinux/distfiles)
install(DIRECTORY DESTINATION lib)
install(FILES manpages/hl.1.bz2 DESTINATION share/man/man1)
install(FILES manpages/hl-config.5.bz2 DESTINATION share/man/man5)
######################################################
#install config file only if not already exist
install(CODE "
if (NOT EXISTS \"${CMAKE_INSTALL_PREFIX}/homelinux.json\")
file(INSTALL \"${CMAKE_SOURCE_DIR}/configs/homelinux.json\" DESTINATION \"${CMAKE_INSTALL_PREFIX}\")
endif()
")
######################################################
#we create a symlink for lib64 to avoid detection issues
install_symlink(lib ${CMAKE_INSTALL_PREFIX}/lib64)