|
|
|
project(LibName)
|
|
|
|
# this is a test to make sure that relative path
|
|
|
|
# LIBRARY_OUTPUT_PATH and EXECUTABLE_OUTPUT_PATH work
|
|
|
|
set(LIBRARY_OUTPUT_PATH lib)
|
|
|
|
set(EXECUTABLE_OUTPUT_PATH lib)
|
|
|
|
|
|
|
|
add_library(bar SHARED bar.c)
|
|
|
|
|
|
|
|
add_library(foo SHARED foo.c)
|
|
|
|
target_link_libraries(foo bar)
|
|
|
|
|
|
|
|
add_executable(foobar foobar.c)
|
|
|
|
target_link_libraries(foobar foo)
|
|
|
|
if(UNIX)
|
|
|
|
target_link_libraries(foobar -L/usr/local/lib)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
|
|
# check with lib version
|
|
|
|
|
|
|
|
add_library(verFoo SHARED foo.c)
|
|
|
|
target_link_libraries(verFoo bar)
|
|
|
|
set_target_properties(verFoo PROPERTIES VERSION 3.1.4 SOVERSION 3)
|
|
|
|
|
|
|
|
add_executable(verFoobar foobar.c)
|
|
|
|
target_link_libraries(verFoobar verFoo)
|
|
|
|
|
|
|
|
if(MAKE_SUPPORTS_SPACES AND NOT CMAKE_GENERATOR STREQUAL "Watcom WMake")
|
|
|
|
# check with lib version and space
|
|
|
|
add_library(ver_space SHARED ver_space.c)
|
|
|
|
set_target_properties(ver_space PROPERTIES VERSION 3.1.4 SOVERSION 3 OUTPUT_NAME "ver space")
|
|
|
|
add_executable(use_ver_space use_ver_space.c)
|
|
|
|
target_link_libraries(use_ver_space ver_space)
|
|
|
|
endif()
|