Files
yugr-Implib/doc/CMakeIntegration.md
2024-02-17 12:59:15 +03:00

812 B

If your CMake project links to some library which you would like to replace with Implib.so wrapper:

cmake_minimum_required(VERSION 3.21)

project(prog)

add_executable(prog
  prog.c
)

target_link_libraries(prog PRIVATE xcb)

you just need to add a custom command to generate wrapper code and link against libdl:

cmake_minimum_required(VERSION 3.21)

project(prog)

enable_language(ASM)

add_custom_command(
  OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libxcb.so.tramp.S
         ${CMAKE_CURRENT_BINARY_DIR}/libxcb.so.init.c
  COMMAND implib-gen.py -q /usr/lib/x86_64-linux-gnu/libxcb.so
  DEPENDS /usr/lib/x86_64-linux-gnu/libxcb.so
)

add_executable(prog
  prog.c
  ${CMAKE_CURRENT_BINARY_DIR}/libxcb.so.tramp.S
  ${CMAKE_CURRENT_BINARY_DIR}/libxcb.so.init.c
)

target_link_libraries(prog PRIVATE dl)