/
CMakeLists.txt
30 lines (26 loc) · 1.17 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
cmake_minimum_required(VERSION 3.12.4)
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
project(helloworld CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
find_package(dccl CONFIG REQUIRED)
add_executable(helloworld main.cpp)
target_include_directories(helloworld PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${dccl_INCLUDE_DIRS}>)
target_link_libraries(helloworld dccl)
add_custom_command(TARGET helloworld POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/cfg
${CMAKE_CURRENT_BINARY_DIR}/cfg
COMMAND ln -sf ${CMAKE_CURRENT_BINARY_DIR}/cfg/layout.json
${CMAKE_CURRENT_BINARY_DIR}/cfg/n0/layout.json
COMMAND ln -sf ${CMAKE_CURRENT_BINARY_DIR}/cfg/layout.json
${CMAKE_CURRENT_BINARY_DIR}/cfg/n1/layout.json
COMMAND ln -sf ${CMAKE_CURRENT_BINARY_DIR}/cfg/layout.json
${CMAKE_CURRENT_BINARY_DIR}/cfg/n2/layout.json
COMMAND ln -sf ${CMAKE_CURRENT_BINARY_DIR}/cfg/layout.json
${CMAKE_CURRENT_BINARY_DIR}/cfg/n3/layout.json
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/cfg/layout.json
COMMENT "prepare demo configuration"
)