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.