You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.1 KiB
37 lines
1.1 KiB
2 years ago
|
cmake_minimum_required(VERSION 3.26)
|
||
|
project(CustomCommandExplicitDepends C)
|
||
|
|
||
|
add_custom_command(
|
||
|
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/command-option.h"
|
||
|
COMMAND "${CMAKE_COMMAND}" -E touch
|
||
|
"${CMAKE_CURRENT_BINARY_DIR}/command-option.h"
|
||
|
COMMENT "Creating command-option.h"
|
||
|
DEPENDS_EXPLICIT_ONLY
|
||
|
)
|
||
|
|
||
|
set(CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLY ON)
|
||
|
add_custom_command(
|
||
|
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/command-variable-on.h"
|
||
|
COMMAND "${CMAKE_COMMAND}" -E touch
|
||
|
"${CMAKE_CURRENT_BINARY_DIR}/command-variable-on.h"
|
||
|
COMMENT "Creating command-variable-on.h"
|
||
|
)
|
||
|
|
||
|
set(CMAKE_ADD_CUSTOM_COMMAND_DEPENDS_EXPLICIT_ONLY OFF)
|
||
|
add_custom_command(
|
||
|
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/command-variable-off.h"
|
||
|
COMMAND "${CMAKE_COMMAND}" -E touch
|
||
|
"${CMAKE_CURRENT_BINARY_DIR}/command-variable-off.h"
|
||
|
COMMENT "Creating command-variable-off.h"
|
||
|
)
|
||
|
|
||
|
add_library(dep SHARED dep.c)
|
||
|
|
||
|
add_library(top SHARED
|
||
|
top.c
|
||
|
"${CMAKE_CURRENT_BINARY_DIR}/command-option.h"
|
||
|
"${CMAKE_CURRENT_BINARY_DIR}/command-variable-on.h"
|
||
|
"${CMAKE_CURRENT_BINARY_DIR}/command-variable-off.h"
|
||
|
)
|
||
|
target_link_libraries(top PRIVATE dep)
|