target_link_options(<target> [BEFORE] <INTERFACE|PUBLIC|PRIVATE> [items1...] [<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
target_link_options(<target> [BEFORE] <INTERFACE|PUBLIC|PRIVATE> [items1...] [<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
target_link_options(tensorflowlite_c PRIVATE "-Wl,-exported_symbols_list,${TENSORFLOW_SOURCE_DIR}/tensorflow/lite/c/exported_symbols.lds")
target_link_options(${WB_TARGET} INTERFACE ${WB_LINKER_OPTIONS})
target_link_options(${PROJECT_NAME} PRIVATE
$<$<CONFIG:Release>:
/OPT:REF;
/OPT:ICF;
/INCREMENTAL:NO
>
/DEBUG:FULL;
/SUBSYSTEM:CONSOLE;
/ignore:4099
)
target_link_options(Interop PRIVATE $<$<CXX_COMPILER_ID:AppleClang>:-install_name @rpath/lib${INTEROP_NAME_FINAL}.dylib>)
target_link_options(example_glfw_wgpu PRIVATE
"-sUSE_WEBGPU=1"
"${IMGUI_EMSCRIPTEN_GLFW3}"
"-sWASM=1"
"-sALLOW_MEMORY_GROWTH=1"
"-sNO_EXIT_RUNTIME=0"
"-sASSERTIONS=1"
"-sDISABLE_EXCEPTION_CATCHING=1"
"-sNO_FILESYSTEM=1"
)
target_link_options(${PROJECT_NAME} PRIVATE
-sENVIRONMENT=web
-sINVOKE_RUN=0
-sEXIT_RUNTIME=0
-sEVAL_CTORS=1
-sINITIAL_MEMORY=128MB
-sALLOW_MEMORY_GROWTH=1
-sFILESYSTEM=1
-sEXPORTED_FUNCTIONS=['_main']
-sEXPORTED_RUNTIME_METHODS=['callMain']
-sUSE_SDL=3
-sWASM_BIGINT=1
-sWEBSOCKET_SUBPROTOCOL=text
-lwebsocket.js
$<$<CONFIG:Debug>:${EMSDK_LINK_DEBUG_FLAGS}>
$<$<CONFIG:Release>:${EMSDK_LINK_RELEASE_FLAGS}>
)
target_link_options(${target_name} PUBLIC ${f3d_link_options_public})
target_link_options(${dest_target} INTERFACE $<GENEX_EVAL:$<TARGET_PROPERTY:${source_target_de_alias},INTERFACE_LINK_OPTIONS>>)
target_link_options(PrusaSlicer PUBLIC "-Wl,-allow-multiple-definition")
target_link_options(UnitTests PUBLIC -sSTACK_SIZE=1048576 -sINITIAL_MEMORY=134217728)
target_link_options(${variant_name} PUBLIC -Wl,-T,${LINKER_SCRIPT})
target_link_options(BambuStudio PUBLIC "-Wl,-allow-multiple-definition")
target_link_options(${exe_NAME} PRIVATE ${exe_LINK_FLAGS}
${DRACO_EXE_LINKER_FLAGS})
target_link_options(OrcaSlicer PUBLIC "-Wl,-allow-multiple-definition")
target_link_options(${IMPL_TARGET} PRIVATE
"-Wl,--version-script=${OpenAL_SOURCE_DIR}/libopenal.version")
target_link_options( ${PROJECT_NAME} PRIVATE "$<$<CONFIG:Release>:/DEBUG>" )
target_link_options(SDL3-shared PRIVATE "/NODEFAULTLIB")
target_link_options(UnitTests PUBLIC "/SUBSYSTEM:CONSOLE")
target_link_options(${name} PRIVATE ${COVERAGE_COMPILER_FLAGS})
target_link_options (AssimpJS PUBLIC -sMODULARIZE=1)
target_link_options(${TG} PUBLIC /DEBUG:FULL /DYNAMICDEOPT)
target_link_options(ramses-build-options-base INTERFACE --coverage)
target_link_options(zeno
PRIVATE $<DEVICE_LINK:-dlto>
)
target_link_options(${exe_NAME} PRIVATE ${exe_LINK_FLAGS}
${DRACO_EXE_LINKER_FLAGS})
target_link_options(${TARGET} PUBLIC "LINKER:--build-id")
target_link_options(${LIBRARY_NAME} PUBLIC $<$<LINK_LANGUAGE:CXX>:${KOKKOS_LINK_OPTIONS}>)
target_link_options(alpaka INTERFACE "$<$<AND:$<CONFIG:Debug>,$<CXX_COMPILER_ID:GNU>>:SHELL:-Og>"
"$<$<AND:$<CONFIG:Debug>,$<CXX_COMPILER_ID:Clang,AppleClang,IntelLLVM>>:SHELL:-O0>")
target_link_options(${PROJECT_NAME} PRIVATE $<$<CXX_COMPILER_ID:MSVC>:/ignore:4099>)
target_link_options(daxa_test_${FOLDER_NAME}
PRIVATE "-Wl,/ENTRY:mainCRTStartup,/SUBSYSTEM:WINDOWS"
)
target_link_options(${test_interface} INTERFACE ${args_LINK_OPTIONS})
target_link_options(
${CURRENT_PROJECT}
PRIVATE
# Force generate release PDBs: https://learn.microsoft.com/en-us/cpp/build/reference/debug-generate-debug-info
"$<$<CONFIG:RELEASE>:/DEBUG:FULL;/OPT:REF;/OPT:ICF>"
# Anonymize RSDS PDB paths
"$<$<CONFIG:RELEASE>:/PDBALTPATH:$<TARGET_FILE_PREFIX:${CURRENT_PROJECT}>$<TARGET_FILE_BASE_NAME:${CURRENT_PROJECT}>.pdb>"
)
target_link_options(${_project_name} INTERFACE ${OPTIONS})
target_link_options(
${PROJECT_NAME}
PRIVATE
/WX
"$<$<CONFIG:DEBUG>:/INCREMENTAL;/OPT:NOREF;/OPT:NOICF>"
"$<$<CONFIG:RELEASE>:/LTCG;/INCREMENTAL:NO;/OPT:REF;/OPT:ICF;/DEBUG:FULL>"
)
target_link_options(MLNQtCore PRIVATE "$<$<CONFIG:Release>:/DEBUG>")
target_link_options(rubyengine PRIVATE $<$<CONFIG:Debug>:/NODEFAULTLIB:MSVCRT>)
target_link_options(OpenTissue INTERFACE --coverage)
target_link_options(em_ngs PUBLIC -sALLOW_MEMORY_GROWTH)
target_link_options(MtKaHyPar-BuildFlags INTERFACE -lgcov --coverage)
target_link_options(
wpimath
PRIVATE
/DEF:$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/protobuf_exports${CONFIG_SUFFIX}.def>
)
target_link_options("${TARGET_NAME}" "${VIS}" "${${OPTION_NAME}}")
target_link_options(MaaCoreForwarder PRIVATE -Wl,--wine-builtin)
target_link_options("${target}" PRIVATE "-Wno-${plain_warning}")
target_link_options(main PRIVATE -sGL_ENABLE_GET_PROC_ADDRESS)
target_link_options(${_project_name} INTERFACE ${OPTIONS})
target_link_options(shmem INTERFACE ${SHMEM_C_LINK_FLAGS})
target_link_options(_ext PRIVATE -Wl,-rpath,@loader_path)
target_link_options(example_glfw_wgpu PRIVATE
"-sUSE_WEBGPU=1"
"-sUSE_GLFW=3"
"-sWASM=1"
"-sALLOW_MEMORY_GROWTH=1"
"-sNO_EXIT_RUNTIME=0"
"-sASSERTIONS=1"
"-sDISABLE_EXCEPTION_CATCHING=1"
"-sNO_FILESYSTEM=1"
)
target_link_options(dbg PUBLIC
"/DELAYLOAD:TitanEngine.dll"
)
target_link_options(${target} PUBLIC "LINKER:-no_warn_duplicate_libraries")
target_link_options(mockjvm PRIVATE "LINKER:--version-script=${CMAKE_CURRENT_SOURCE_DIR}/mock_jvm.lds")
target_link_options(${PROJECT_NAME} PRIVATE /IGNORE:4099)
target_link_options(ipp${name} INTERFACE "LINKER:--exclude-libs,${_filename}")
target_link_options(
OpenKneeboard-App-WinUI3
PRIVATE
"/DELAYLOAD:libcef.dll"
)
target_link_options(${target} PUBLIC ${OSPRAY_LINKER_FLAGS_SYCL})
target_link_options(pybind11_stubs PRIVATE -undefined dynamic_lookup)
target_link_options(matx INTERFACE -lgcov --coverage)
target_link_options(main PUBLIC ${UNIT_TEST_LINK_OPTIONS})
target_link_options(${target} ${scope} ${target_add_link_options_OPTIONS})
target_link_options(${SETSAIL_LAUNCHER} PRIVATE /subsystem:windows /ENTRY:WinMainCRTStartup)
target_link_options(${PROJECT_NAME} PRIVATE /DLL /IMPLIB:${DISKANN_DLL_IMPLIB} /LTCG)
target_link_options(openmw PRIVATE "LINKER:SHELL:-framework CoreVideo"
"LINKER:SHELL:-framework CoreMedia"
"LINKER:SHELL:-framework VideoToolbox"
"LINKER:SHELL:-framework AudioToolbox"
"LINKER:SHELL:-framework VideoDecodeAcceleration")
target_link_options(test-signalhandler PRIVATE -rdynamic)
target_link_options(BivariateRepresentations
PRIVATE
"$<$<PLATFORM_ID:Darwin>:LINKER:-no_warn_duplicate_libraries>")
target_link_options(zeek_dynamic_plugin_base INTERFACE -undefined dynamic_lookup
-Wl,-bind_at_load)
target_link_options(${library} PRIVATE ${TTK_LINKER_FLAGS})
target_link_options(vapor PRIVATE "LINKER:--no-as-needed")
target_link_options(${PROJECT_NAME} PRIVATE
$<$<CONFIG:Release>:
/OPT:REF;
/OPT:NOICF
>
/SUBSYSTEM:WINDOWS
)
target_link_options(hyperhdr PUBLIC /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup)
target_link_options(timemory-compile-debuginfo INTERFACE
$<$<CXX_COMPILER_ID:GNU>:-rdynamic>)
target_link_options(${target_name} ${ARG_LINK_OPTIONS})
target_link_options(${ARGV1} ${TYPE} ${ARGV0})
target_link_options(ceph_test_libcephfs PRIVATE -Wl,--copy-dt-needed-entries)
target_link_options(fuzzhelper PUBLIC "-fsanitize=fuzzer")
target_link_options(ESICppRuntime PUBLIC
-pthread
)
target_link_options(proj PRIVATE /DEBUG /OPT:REF /OPT:ICF)
target_link_options(tsapi PRIVATE -undefined dynamic_lookup)
target_link_options(${_dest} INTERFACE "${_flag}")
target_link_options(coverage_config INTERFACE --coverage)
target_link_options(${name} PRIVATE "-Wl,@${NB_DIR}/cmake/${NB_LINKER_RESPONSE_FILE}")
target_link_options(unittests PUBLIC "-Wno-stringop-overflow")
target_link_options(${_NAME}
PRIVATE
${IREE_DEFAULT_LINKOPTS}
${_RULE_LINKOPTS}
)
target_link_options(SDL2 PRIVATE -static-libgcc)
target_link_options(clangCppInterOp
PRIVATE "SHELL: -s WASM_BIGINT"
PRIVATE "SHELL: -s SIDE_MODULE=1"
PRIVATE "SHELL: ${SYMBOLS_LIST}"
PRIVATE "SHELL: -Oz"
PRIVATE "SHELL: -flto"
)
target_link_options(kissfft PRIVATE -fopenmp)
target_link_options(${name}
PRIVATE $<$<CONFIG:RelWithDebInfo>:-ffat-lto-objects>)
target_link_options(velox_function_dynamic PRIVATE ${COMMON_LIBRARY_LINK_OPTIONS})
target_link_options(ags PRIVATE -Wl,--allow-multiple-definition)
target_link_options(hoard PRIVATE "LINKER:--version-script=${VERS_SCRIPT}")
target_link_options(${target} ${access} ${flag})
target_link_options(${EXE_NAME} PUBLIC -fsanitize=address)
TARGET_LINK_OPTIONS(server_unittest_library PRIVATE ${HAS_WARN_FLAG})
target_link_options(project_options INTERFACE $<$<CONFIG:Release>:/guard:cf>)
target_link_options(ngfx INTERFACE "/DELAYLOAD:NGFX_Injection.dll")
TARGET_LINK_OPTIONS(server_unittest_library PRIVATE ${HAS_WARN_FLAG})
target_link_options(${RIPES_LIB} PUBLIC -sASYNCIFY -Os)
target_link_options(ios-sdk-static INTERFACE -ObjC)
target_link_options(setup PRIVATE "/MANIFESTUAC:level='requireAdministrator'")
target_link_options(${test_name} PRIVATE -Wl,--no-as-needed -lSegFault -Wl,--as-needed)
target_link_options("${_sapi_bin}" PRIVATE
LINKER:-E
${_sapi_exported_funcs}
)
target_link_options(
godot-cpp
PUBLIC
$<${DEBUG_SYMBOLS}:$<${IS_MSVC}:/DEBUG:FULL>>
$<$<NOT:${DEBUG_SYMBOLS}>:
$<${IS_GNU}:-s>
$<${IS_CLANG}:-s>
$<${IS_APPLECLANG}:-Wl,-S -Wl,-x -Wl,-dead_strip>
>
PRIVATE
$<${IS_MSVC}:
/WX # treat link warnings as errors.
/MANIFEST:NO # We dont need a manifest
>
)