To add compile options to a CMake FetchContent dependency using a target interface, you can use the target_compile_options function.
Here’s an example of how you can use this function to add compile options to a FetchContent dependency:
# Fetch the dependency using FetchContent
include(FetchContent)
FetchContent_Declare(
my_dependency
GIT_REPOSITORY https://github.com/user/my_dependency.git
GIT_TAG v1.0
)
FetchContent_MakeAvailable(my_dependency)
# Add the compile options to the dependency target
target_compile_options(my_dependency INTERFACE
-DFOO=1
-DBAR=2
)
This will add the compile options -DFOO=1 and -DBAR=2 to the my_dependency target. These options will be automatically propagated to any targets that depend on my_dependency.
It’s worth noting that the INTERFACE keyword in the target_compile_options a function specifies that these options should be added to the target’s interface. This means that the options will be used when compiling any targets that depend on my_dependency, but will not be used when compiling my_dependency itself. If you want to add the compile options to the target itself, you can omit the INTERFACE keyword.