| cmake_minimum_required(VERSION 3.8) |
| project(LooseObjectDepends C) |
| |
| add_custom_command( |
| OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/command.h" |
| COMMAND "${CMAKE_COMMAND}" -E touch |
| "${CMAKE_CURRENT_BINARY_DIR}/command.h" |
| COMMENT "Creating command.h") |
| add_custom_target(create-command.h |
| DEPENDS |
| "${CMAKE_CURRENT_BINARY_DIR}/command.h") |
| |
| add_custom_target(create-target.h |
| BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/target.h" |
| COMMAND "${CMAKE_COMMAND}" -E touch |
| "${CMAKE_CURRENT_BINARY_DIR}/target.h" |
| COMMENT "Creating target.h") |
| |
| add_library(dep SHARED dep.c) |
| add_dependencies(dep create-command.h create-target.h) |
| target_include_directories(dep |
| PUBLIC |
| "${CMAKE_CURRENT_BINARY_DIR}") |
| |
| add_library(top top.c) |
| target_link_libraries(top PRIVATE dep) |