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()