123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- # Needed by LLVM's CMake checks because this file defines multiple targets.
- set(LLVM_OPTIONAL_SOURCES ExportedFuncs.cpp PipSqueak.cpp)
- set(LLVM_LINK_COMPONENTS Support)
- add_library(DynamicLibraryLib STATIC
- ExportedFuncs.cpp
- )
- set_target_properties(DynamicLibraryLib PROPERTIES FOLDER "Tests")
- # extract_symbols.py relies on all its library arguments being in the same
- # directory, so we must set the output directory in the same way as if
- # add_llvm_library was used.
- set_output_directory(DynamicLibraryLib
- LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}
- )
- add_llvm_unittest(DynamicLibraryTests
- DynamicLibraryTest.cpp
- )
- target_link_libraries(DynamicLibraryTests PRIVATE DynamicLibraryLib)
- export_executable_symbols(DynamicLibraryTests)
- function(dynlib_add_module NAME)
- add_library(${NAME} SHARED
- PipSqueak.cpp
- )
- set_target_properties(${NAME} PROPERTIES FOLDER "Tests")
- set_output_directory(${NAME}
- BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
- LIBRARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}
- )
- set_target_properties(${NAME}
- PROPERTIES PREFIX ""
- SUFFIX ${LTDL_SHLIB_EXT}
- )
- add_dependencies(DynamicLibraryTests ${NAME})
- endfunction(dynlib_add_module)
- # Revert -Wl,-z,nodelete on this test since it relies on the file
- # being unloaded.
- if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
- string(REPLACE "-Wl,-z,nodelete" "" CMAKE_SHARED_LINKER_FLAGS
- ${CMAKE_SHARED_LINKER_FLAGS})
- endif()
- dynlib_add_module(PipSqueak)
- dynlib_add_module(SecondLib)
|